From 01dba85a7fc9a1103f866c7c3a5cc72f21c0784e Mon Sep 17 00:00:00 2001 From: Julian Smart Date: Sun, 7 Nov 1999 18:34:36 +0000 Subject: [PATCH] Various fixes for various compilers... git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@4424 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- distrib/msw/msw.rsp | 2 + distrib/msw/tmake/g95.t | 61 +++++++++++++++----------- distrib/msw/zipdist.bat | 5 ++- docs/bugs.txt | 83 +++++++++++++++++++++++++----------- docs/msw/bc_ide.txt | 68 ++++++++++++++++++++++++----- docs/msw/install.txt | 74 ++++++++++++++++++++------------ include/wx/msw/private.h | 4 ++ samples/html/about/about.cpp | 8 +--- samples/wizard/wiztest.cpp | 1 + src/common/db.cpp | 3 +- src/html/htmlpars.cpp | 2 +- src/html/m_image.cpp | 2 +- src/html/m_layout.cpp | 2 +- src/makeg95.env | 6 ++- src/msw/accel.cpp | 4 +- src/msw/fontdlg.cpp | 1 + src/msw/fontenum.cpp | 8 +++- src/msw/makefile.g95 | 66 +++++++++++++++++----------- 18 files changed, 270 insertions(+), 130 deletions(-) diff --git a/distrib/msw/msw.rsp b/distrib/msw/msw.rsp index 41a6fbe95e..4fb8eeb92f 100644 --- a/distrib/msw/msw.rsp +++ b/distrib/msw/msw.rsp @@ -50,6 +50,8 @@ src/*.bat src/common/dosyacc.c src/common/doslex.c +src/common/y_tab.c +src/common/lex_yy.c src/msw/*.cpp src/msw/*.h diff --git a/distrib/msw/tmake/g95.t b/distrib/msw/tmake/g95.t index 95dad3b967..51ccf73146 100644 --- a/distrib/msw/tmake/g95.t +++ b/distrib/msw/tmake/g95.t @@ -103,6 +103,10 @@ ZLIBDIR = $(WXDIR)/src/zlib OLEDIR = $(WXDIR)/src/msw/ole MSWDIR = $(WXDIR)/src/msw +PNGLIB = $(WXDIR)/lib/libpng.a +ZLIBLIB = $(WXDIR)/lib/libzlib.a +JPEGLIB = $(WXDIR)/lib/libjpeg.a + DOCDIR = $(WXDIR)\docs GENERICOBJS = \ @@ -215,38 +219,46 @@ XPMOBJECTS = $(XPMDIR)/crbuffri.o\ $(XPMDIR)/simx.o $(XPMDIR)/wrffrdat.o\ $(XPMDIR)/wrffrp.o $(XPMDIR)/wrffri.o -OBJECTS = $(MSWOBJS) $(COMMONOBJS) $(GENERICOBJS) $(HTMLOBJS) \ - $(JPEGOBJS) $(PNGOBJS) $(ZLIBOBJS) # $(ADVANCEDOBJS) # $(XPMOBJECTS) +#OBJECTS = $(MSWOBJS) $(COMMONOBJS) $(GENERICOBJS) $(HTMLOBJS) ifeq ($(MINGW32),1) ifeq ($(MINGW32VERSION),2.95) - OBJECTS = $(MSWOBJS) $(COMMONOBJS) $(GENERICOBJS) $(HTMLOBJS) \ - $(JPEGOBJS) $(PNGOBJS) $(ZLIBOBJS) $(ADVANCEDOBJS) # $(XPMOBJECTS) + OBJECTS = $(MSWOBJS) $(COMMONOBJS) $(GENERICOBJS) $(HTMLOBJS) $(ADVANCEDOBJS) # $(XPMOBJECTS) else - OBJECTS = $(MSWOBJS) $(COMMONOBJS) $(GENERICOBJS) $(HTMLOBJS) \ - $(JPEGOBJS) $(PNGOBJS) $(ZLIBOBJS) # $(XPMOBJECTS) + OBJECTS = $(MSWOBJS) $(COMMONOBJS) $(GENERICOBJS) $(HTMLOBJS) # $(XPMOBJECTS) endif else - OBJECTS = $(MSWOBJS) $(COMMONOBJS) $(GENERICOBJS) $(HTMLOBJS) \ - $(JPEGOBJS) $(PNGOBJS) $(ZLIBOBJS) # $(XPMOBJECTS) + OBJECTS = $(MSWOBJS) $(COMMONOBJS) $(GENERICOBJS) $(HTMLOBJS) # $(XPMOBJECTS) endif -all: $(OBJECTS) $(WXLIB) +all: $(OBJECTS) $(WXLIB) $(ZLIBLIB) $(JPEGLIB) $(PNGLIB) $(WXLIB): $(OBJECTS) $(EXTRAOBJS) ar $(AROPTIONS) $@ $(EXTRAOBJS) $(OBJECTS) $(RANLIB) $@ +$(ZLIBLIB): $(ZLIBOBJS) + ar $(AROPTIONS) $@ $(ZLIBOBJS) + $(RANLIB) $@ + +$(PNGLIB): $(PNGOBJS) + ar $(AROPTIONS) $@ $(PNGOBJS) + $(RANLIB) $@ + +$(JPEGLIB): $(JPEGOBJS) + ar $(AROPTIONS) $@ $(JPEGOBJS) + $(RANLIB) $@ + $(OBJECTS): $(WXINC)/wx/defs.h $(WXINC)/wx/object.h $(WXINC)/wx/setup.h $(COMMDIR)/y_tab.$(OBJSUFF): $(COMMDIR)/y_tab.c $(COMMDIR)/lex_yy.c $(CCLEX) -c $(CPPFLAGS) -DUSE_DEFINE -DYY_USE_PROTOS -o $@ $(COMMDIR)/y_tab.c $(COMMDIR)/y_tab.c: $(COMMDIR)/dosyacc.c - copy ..\\common\\dosyacc.c ..\\common\\y_tab.c + $(COPY) ..\\common\\dosyacc.c ..\\common\\y_tab.c $(COMMDIR)/lex_yy.c: $(COMMDIR)/doslex.c - copy ..\\common\doslex.c ..\\common\\lex_yy.c + $(COPY) ..\\common\\doslex.c ..\\common\\lex_yy.c # Replace lex with flex if you run into compilation # problems with lex_yy.c. See also note about LEX_SCANNER @@ -280,20 +292,21 @@ $(COMMDIR)/lex_yy.c: $(COMMDIR)/doslex.c clean: -$(RM) *.o + -$(RM) ole/*.o -$(RM) *.bak -$(RM) core - -$(RM) ..\common\y_tab.c - -$(RM) ..\common\lex_yy.c - -$(RM) ..\common\*.o - -$(RM) ..\common\*.bak - -$(RM) ..\generic\*.o - -$(RM) ..\generic\*.bak - -$(RM) ..\html\*.o - -$(RM) ..\png\*.o - -$(RM) ..\png\*.bak - -$(RM) ..\zlib\*.o - -$(RM) ..\zlib\*.bak - -$(RM) ..\jpeg\*.o - -$(RM) ..\..\lib\libwx.a + -$(RM) ../common/y_tab.c + -$(RM) ../common/lex_yy.c + -$(RM) ../common/*.o + -$(RM) ../common/*.bak + -$(RM) ../generic/*.o + -$(RM) ../generic/*.bak + -$(RM) ../html/*.o + -$(RM) ../png/*.o + -$(RM) ../png/*.bak + -$(RM) ../zlib/*.o + -$(RM) ../zlib/*.bak + -$(RM) ../jpeg/*.o + -$(RM) ../../lib/libwx.a cleanall: clean diff --git a/distrib/msw/zipdist.bat b/distrib/msw/zipdist.bat index 7982c42b50..9a919141e8 100755 --- a/distrib/msw/zipdist.bat +++ b/distrib/msw/zipdist.bat @@ -107,12 +107,13 @@ unzip32 -o ..\glcanvas.zip unzip32 -o ..\treedraw.zip unzip32 -o ..\ogl3.zip unzip32 -o ..\jpeg.zip +unzip32 -o ..\tex2rtf3.zip rem Now delete a few files that are unnecessary erase /Y *.in *.spec *.guess *.sub mkinstalldirs modules install-sh *.sh erase /SY Makefile.in -erase /Y docs\pdf\ogl.pdf -deltree /Y docs\html\ogl +rem erase /Y docs\pdf\ogl.pdf +rem deltree /Y docs\html\ogl rem Now copy some binary files to 'bin' if not isdir bin mkdir bin diff --git a/docs/bugs.txt b/docs/bugs.txt index e65b274512..1dbfd3efa5 100644 --- a/docs/bugs.txt +++ b/docs/bugs.txt @@ -1,31 +1,44 @@ wxWindows Buglist ----------------- -wxGTK: ------- +Until the wxWindows bug database is up and running, please add +entries in this style: -- It is impossible to reposition a window before showing it - on screen. Suspected GTK bug. - -- DnD does only moderately work. +BUG NUMBER: +SHORT DESCRIPTION: +DETAILS: +WORKAROUND: +wxWINDOWS VERSION: +PLATFORM(S): +DATE IDENTIFIED: +IDENTIFIED BY: +DATE FIXED: +FIXED BY: -wxMSW: ------- +-------------------------START OF BUGLIST------------------------- -- TODO - -wxMotif: --------- - -- If a popup wxMenu is destroyed after its parent window has been - destroyed, we get the message "Object XXX does not have windowed - ancestor". - Workaround: delete the menu before deleting the window on which it - was popped up. - Possible fix: call menu->DestroyMenu() before deleting the window, - if the window knows about the menu that was last popped up (hard - to know this with confidence). +BUG NUMBER: 1 +SHORT DESCRIPTION: Popup menu bug +DETAILS: +If a popup wxMenu is destroyed after its parent window has been +destroyed, we get the message "Object XXX does not have windowed +ancestor". +Possible fix: call menu->DestroyMenu() before deleting the window, +if the window knows about the menu that was last popped up (hard +to know this with confidence). +WORKAROUND: +Delete the menu before deleting the window on which it +was popped up. +wxWINDOWS VERSION: 2.0.1 +PLATFORM(S): wxMotif +DATE IDENTIFIED: ?/?/1998 +IDENTIFIED BY: Julian Smart +DATE FIXED: +FIXED BY: +BUG NUMBER: 2 +SHORT DESCRIPTION: Misc. Motif bugs +DETAILS: - In wxGrid, cell highlight is not drawn/erased properly. - Setting the size of a hidden window may show that window. @@ -44,11 +57,29 @@ wxMotif: - There are reports that scrolling can cause crashes under Lesstif. This is probably a Lesstif bug. +WORKAROUND: +wxWINDOWS VERSION: 2.0.1 +PLATFORM(S): wxMotif +DATE IDENTIFIED: ?/?/1999 +IDENTIFIED BY: Julian Smart +DATE FIXED: +FIXED BY: + +BUG NUMBER: 3 +SHORT DESCRIPTION: Dialog Editor issues +DETAILS: +Dialog Editor could be more user-friendly. Controls are hard to +size and position accurately. No way of changing tab order +except by editing .wxr file. +WORKAROUND: +wxWINDOWS VERSION: 2.0.1 +PLATFORM(S): All +DATE IDENTIFIED: ?/?/1998 +IDENTIFIED BY: Julian Smart +DATE FIXED: +FIXED BY: + -General: --------- +---------------------------END OF BUGLIST------------------------- -- Dialog Editor could be more user-friendly. Controls are hard to - size and position accurately. No way of changing tab order - except by editing .wxr file. diff --git a/docs/msw/bc_ide.txt b/docs/msw/bc_ide.txt index 135384be7d..c1aa6e37c7 100644 --- a/docs/msw/bc_ide.txt +++ b/docs/msw/bc_ide.txt @@ -8,23 +8,69 @@ First release Feb. 1999, detlev@reymann-online.de 1. What you can do with this ide-files ====================================== -There are three ide-files. One ide-file should help you to create the wxWindows libraries from within the Ide of Borlands C++, v. 5.x. The second is called bc32d.ide and produces the debug-version of the wxWindows-library. -If you want to produce the debugging-version, using the special ide-file bc32d.ide you have to create a seperate subdirectory \WXWIN_PATH\src\debug. -The last one should help you to create most of the samples of wxWindows. + +There are two ide-files. src\bc32.ide should help you to +create the wxWindows libraries from within the Ide of Borlands +C++, v. 5.x. Note that this doesn't include debugging code: you +need to change the settings if you wish to include debug +information. Previously, bc32d.ide was supplied with debug +settings, but this proved to time-consuming to maintain. 2. Where to install the files ============================= -You should copy the files for the libraries into the src-directory of your wxWindows-Installation (e.g. C:\wxwin\src). -And the other file for the samples should be copied into the samples-directory (e.g. C:\wxwin\samples). + +You should copy the files for the libraries into the +src-directory of your wxWindows-Installation (e.g. C:\wxwin\src). +And the other file for the samples should be copied into the +samples-directory (e.g. C:\wxwin\samples). + +(If installing from setup.exe or wx2..._bc.zip the files +will be installed into the appropriate directories +automatically). 3. How to modify them for your own needs ======================================== -If your wxWindows-Installation resides on the same drive as your Borland-Compiler and additionally the Borland-Installation is the default (e.g. C:\BC5) then there should be no need to change anything. -Otherwise please change the path from within the ide (Options->project->directories). Because we use the $inherit-makro (Julian foung the trick), this should do the trick. + +If your wxWindows-Installation resides on the same drive as your +Borland-Compiler and additionally the Borland-Installation is +the default (e.g. C:\BC5) then there should be no need to change +anything. Otherwise please change the path from within the ide +(Options->project->directories). Because we use the +$inherit-macro (Julian found the trick), this should work. + +To add a new sample to samples\bc32.ide, follow these steps: + +a. Choose Project->New target... and type in e.g. + samples\newsample. Press OK. +b. Static, no OWL, MFC or class libraries. Press OK. +c. Right-click on the new node, choose Add node... and add + ..\lib\wx32.lib. Add any other source files you require. +d. Right-click on the new node, choose Edit Local Options.. and + add in Directories, specify the following: + + Include: $inherit;.\newsample + Library: $inherit; + Source: .\newsample + Intermediate: .\newsample + Final: .\newsample 4. How to create ide-files for your own wxWindows-programs ========================================================== -I think you are familiar with the necessary options for your own programm. So I will only describe what is neccessary to link yout programm with the wxWindows-library. If you want to create a ide-file for your own wxWindows-program, create a new project from the menu file->new->project. Deactivate all the standard-options, the only two thing that should be aktivated is "static" for the libraries, if you want to use the library produced with the library-ide and the checkbox OLE (You can leave this checkbox unchecked, but then you have to add the library \bc5\lib\ole2w32.lib to your project). You have to add the include-path of wxWindows to the include-path in the options-dialog (options->project->directories->include). The result should be something like: -path_of_my_program;\bc5\include;\wxwin2\include; -Then you have to add the libraries to the project. -Open the project-view and activate your programm. Then right-click and choose "add" and select the wxWindows-library (e.g. \wxwin\lib\wx32.lib). \ No newline at end of file + +I think you are familiar with the necessary options for your own +programm. So I will only describe what is neccessary to link +yout programm with the wxWindows-library. If you want to create +a ide-file for your own wxWindows-program, create a new project +from the menu file->new->project. Deactivate all the +standard-options, the only two thing that should be activated is +"static" for the libraries, if you want to use the library +produced with the library-ide and the checkbox OLE (You can +leave this checkbox unchecked, but then you have to add the +library \bc5\lib\ole2w32.lib to your project). You have to add +the include-path of wxWindows to the include-path in the +options-dialog (options->project->directories->include). The +result should be something like: +path_of_my_program;\bc5\include;\wxwin2\include; Then you have +to add the libraries to the project. Open the project-view and +activate your programm. Then right-click and choose "add" and +select the wxWindows-library (e.g. \wxwin\lib\wx32.lib). \ No newline at end of file diff --git a/docs/msw/install.txt b/docs/msw/install.txt index 1c547ab717..c083670c54 100644 --- a/docs/msw/install.txt +++ b/docs/msw/install.txt @@ -16,22 +16,37 @@ then send a patch to the author. Unarchiving ----------- -If there is a setup program, run the setup program that comes with the Windows version. -Do not install into a path that contains spaces. The installation program should set the -WXWIN environment variable, which will be activated when your machine is rebooted. - -If there is no setup program, it will come as a series of .zip -files: - -wx200gen.zip Generic source code and samples (required) -wx200msw.zip Windows-specific source code and samples (required) -wx200doc.zip Documentation source code (not required) -wx200hlp.zip WinHelp documentation -wx200pdf.zip Acrobat PDF documentation -wx200htm.zip HTML documentation -wx200vc.zip MS VC++ 5.0 project files -wx200cw.zip Metrowerks CodeWarrior project files -wx200bc.zip BC++ 5 project files +A setup program is provided to automatically copy files to a +directory on your hard disk. Do not install into a path that contains spaces. +The installation program should set the WXWIN environment variable, which +will be activated when your machine is rebooted. The setup +program contains the following: + +- All common, generic and MSW-specific wxWindows source; +- samples; +- documentation in Windows Help format; +- makefiles for most Windows compilers, plus BC++ and + VC++ IDE files; +- JPEG library source; +- Object Graphics Library; +- wxGLCanvas library; +- wxTreeLayout library; +- Tex2RTF source; +- Dialog Editor binary. + +Alternatively, you may unarchive the set of .zip files by hand, +where x is the minor version number and y is the release number: + +wx2_x_y_gen.zip Generic source code and samples (required) +wx2_x_y_msw.zip Windows-specific source code and samples (required) +wx2_x_y_doc.zip Documentation source code (not required) +wx2_x_y_hlp.zip WinHelp documentation +wx2_x_y_pdf.zip Acrobat PDF documentation +wx2_x_y_htm.zip HTML documentation +wx2_x_y_vc.zip MS VC++ 5.0 project files +wx2_x_y_cw.zip Metrowerks CodeWarrior project files +wx2_x_y_bc.zip BC++ 5 project files +jpeg.zip Use this to allow wxImage to read and write JPEG files Unarchive the required files plus any optional documentation files into a suitable directory such as c:\wx. @@ -65,17 +80,17 @@ Visual C++ 4.0/5.0/6.0 compilation Using project files: -1. Unarchive wx200vc.zip, the VC++ 5/6 project makefiles. +1. Unarchive wx2_x_y_vc.zip, the VC++ 5/6 project makefiles. 2. Open src/wxvc.dsp, set Debug or Release configuration, and compile. This will produce src/Debug/wxvc.lib or src/Release/wxvc.lib. The project file src/wxvc_dll.dsp will make a DLL version of wxWindow, which will go in src/DebugDLL/wxvc.[lib,dll] and src/ReleaseDLL/wxvc.[lib,dll]. 3. If you want to use JPEG in your application (such as the image - sample), open src/jpeg/jpeg.dsp (VC++ 6 only) and compile in - Debug and Release configurations. If you have VC++ 5 or - earlier, use makefile.vc, but you may only have one set of object - files at a time in use (debug or release). + sample), open src/jpeg/jpeg.dsp (VC++ 5/6 only) and compile in + Debug and Release configurations. If you have VC++ 4, + use makefile.vc, but you may only have one set of object + files at a time in use (debug or release versions). 4. Open a sample project file, choose a configuration, and compile. The project files don't use precompiled headers, to save space, but you can switch PCH compiling on for greater speed. @@ -121,7 +136,7 @@ To build the DLL version using makefiles: suitable precompiled header file for compiling applications. The resulting libraries are called: - wx\lib\wx200_d.lib(dll) (debug version) + wx\lib\wx200.lib(dll) (debug version) wx\lib\wx200.lib(dll) (release version, using FINAL=1) 2. Invoke a sample makefile with 'nmake -f makefile.vc WXUSINGDLL=1' @@ -210,18 +225,21 @@ in src/msw/makefile.b32. Compiling using the IDE files: -1. Load src\bc32.ide (or src\bc32d.ide for a debugging version). +1. Load src\bc32.ide (Release settings) 2. Go to Options|Project... and specify the correct BC++ include and lib path for your file structure. 3. Press F9 to compile the wxWindows library. 4. Load samples\bc32.ide. 5. Go to Options|Project... and specify the correct BC++ include and lib path for your file structure. -6. Press F9 to compile the samples. +6. Press F9 to compile the samples (build each node separately if + you prefer, by right clicking and choose Build Node). +7. Run each sample: you may need to run from each sample's directory + since some (notably the wxHTML samples) look for files + relative to the working directory. -Note that to make the png, xpm and zlib libraries (needed for -some samples) you need to compile with bc32.ide. bc32d.ide only -makes the wxWindows library (lib\wx32d.lib). +Note that to make the png, xpm, zlib and jpeg libraries (needed for +some samples) you need to compile them with bc32.ide. The debug version of the wxWindows library is about 37 MB, and the release version is around 3 MB. @@ -255,7 +273,7 @@ directory. See the notes in that directory. Metrowerks CodeWarrior compilation ---------------------------------- -1. Downloaded and unzip wx200cw.zip. +1. Downloaded and unzip wx2_x_y_cw.zip. 2. Load the make_cw.mcp project in wx\src, and compile. 3. Load the make_cw.mcp project in wx\samples\minimal, and compile. Further project files for samples will be available in due diff --git a/include/wx/msw/private.h b/include/wx/msw/private.h index 9d82cbe281..2a864639df 100644 --- a/include/wx/msw/private.h +++ b/include/wx/msw/private.h @@ -56,7 +56,9 @@ WXDLLEXPORT_DATA(extern HFONT) wxSTATUS_LINE_FONT; // --------------------------------------------------------------------------- #if defined(__GNUWIN32__) && !defined(wxUSE_NORLANDER_HEADERS) +#ifndef ZeroMemory inline void ZeroMemory(void *buf, size_t len) { memset(buf, 0, len); } +#endif #endif // old mingw32 // this defines a CASTWNDPROC macro which casts a pointer to the type of a @@ -221,6 +223,8 @@ extern LONG APIENTRY _EXPORT #define wxZeroMemory(obj) memset((void*) & obj, 0, sizeof(obj)) #endif +#include + // make conversion from wxColour and COLORREF a bit less painful inline COLORREF wxColourToRGB(const wxColour& c) { diff --git a/samples/html/about/about.cpp b/samples/html/about/about.cpp index 2c60e72580..664b18f06e 100644 --- a/samples/html/about/about.cpp +++ b/samples/html/about/about.cpp @@ -156,7 +156,7 @@ void MyFrame::OnAbout(wxCommandEvent& WXUNUSED(event)) { wxHtmlWindow *html; -#if __WXMSW__ +#ifdef __WXMSW__ wxDialog dlg(this, -1, "About", wxDefaultPosition, wxSize(400, 250), wxDIALOG_MODAL | wxDEFAULT_DIALOG_STYLE); #else wxDialog dlg(this, -1, "About", wxDefaultPosition, wxSize(400, 230), wxDIALOG_MODAL | wxDEFAULT_DIALOG_STYLE); @@ -170,9 +170,3 @@ dlg.ShowModal(); } - - - - - - diff --git a/samples/wizard/wiztest.cpp b/samples/wizard/wiztest.cpp index 3d94b0c929..69f137a4f5 100644 --- a/samples/wizard/wiztest.cpp +++ b/samples/wizard/wiztest.cpp @@ -241,3 +241,4 @@ bool MyApp::OnInit() // we're done return FALSE; } + diff --git a/src/common/db.cpp b/src/common/db.cpp index 2cb97f65b2..3842b2cb11 100644 --- a/src/common/db.cpp +++ b/src/common/db.cpp @@ -33,11 +33,12 @@ // SYNOPSIS STOP */ +#include "wx/wxprec.h" + // Use this line for wxWindows v1.x //#include "wx_ver.h" // Use this line for wxWindows v2.x #include "wx/version.h" -#include "wx/wxprec.h" #if wxMAJOR_VERSION == 2 #ifdef __GNUG__ diff --git a/src/html/htmlpars.cpp b/src/html/htmlpars.cpp index 3a5d300ee6..5c07054f58 100644 --- a/src/html/htmlpars.cpp +++ b/src/html/htmlpars.cpp @@ -81,7 +81,7 @@ void wxHtmlParser::DoParsing(int begin_pos, int end_pos) i = begin_pos; while (i < end_pos) { - c = m_Source[i]; + c = m_Source[(unsigned int) i]; // continue building word: if (c != '<') { diff --git a/src/html/m_image.cpp b/src/html/m_image.cpp index 3d1f375088..bec8f9064d 100644 --- a/src/html/m_image.cpp +++ b/src/html/m_image.cpp @@ -366,7 +366,7 @@ TAG_HANDLER_BEGIN(IMG, "IMG,MAP,AREA") } if (tag.HasParam("USEMAP")) { mn = tag.GetParam( "USEMAP" ); - if (mn[ 0 ] == '#') { + if (mn[ (unsigned int) 0 ] == '#') { mn = mn.Mid( 1 ); } } diff --git a/src/html/m_layout.cpp b/src/html/m_layout.cpp index 749df786da..38f89940e6 100644 --- a/src/html/m_layout.cpp +++ b/src/html/m_layout.cpp @@ -148,7 +148,7 @@ TAG_HANDLER_BEGIN(TITLE, "TITLE") wxString title = ""; wxString *src = m_WParser -> GetSource(); - for (int i = tag.GetBeginPos(); i < tag.GetEndPos1(); i++) title += (*src)[i]; + for (int i = tag.GetBeginPos(); i < tag.GetEndPos1(); i++) title += (*src)[(unsigned int) i]; wfr -> SetTitle(title); } } diff --git a/src/makeg95.env b/src/makeg95.env index f9def2d836..36a2a1d03a 100644 --- a/src/makeg95.env +++ b/src/makeg95.env @@ -15,6 +15,9 @@ MINGW32VERSION=2.95 # Set to the appropriate remove command RM=rm -f +# Set to the appropriate copy command +COPY=cp + ########################## Compiler ################################## # C++ compiler @@ -145,7 +148,8 @@ endif RCLFLAGS=-cpp "cpp -lang-c++ -DWIN32 -D_WIN32 -DRCL_INVOKED -I$(WXWIN)/include" -LIBS = $(WXLIB) $(WINLIBS) $(COMPLIBS) $(EXTRALIBS) +#LIBS = $(WXLIB) $(WXDIR)/lib/libzlib.a $(WXDIR)/lib/libpng.a $(WXDIR)/lib/libjpeg.a $(WINLIBS) $(COMPLIBS) $(EXTRALIBS) +LIBS = $(WXLIB) -lpng -ljpeg -lzlib $(WINLIBS) $(COMPLIBS) $(EXTRALIBS) WINFLAGS=-D_X86_=1 -DWIN32 -D_WIN32 $(WINVERSION) diff --git a/src/msw/accel.cpp b/src/msw/accel.cpp index c31731046f..58f7eeea8c 100644 --- a/src/msw/accel.cpp +++ b/src/msw/accel.cpp @@ -165,4 +165,6 @@ bool wxAcceleratorTable::Translate(wxWindow *window, WXMSG *wxmsg) const { MSG *msg = (MSG *)wxmsg; - return Ok() && ::TranslateAccelerator(GetHwndOf(window), GetHaccel(), msg); } + return Ok() && ::TranslateAccelerator(GetHwndOf(window), GetHaccel(), msg); +} + diff --git a/src/msw/fontdlg.cpp b/src/msw/fontdlg.cpp index 4882531f54..972f0e4534 100644 --- a/src/msw/fontdlg.cpp +++ b/src/msw/fontdlg.cpp @@ -42,6 +42,7 @@ #include "wx/msw/private.h" #include "wx/cmndata.h" +#include "wx/log.h" #include #include diff --git a/src/msw/fontenum.cpp b/src/msw/fontenum.cpp index c2faf35d09..9b8405089a 100644 --- a/src/msw/fontenum.cpp +++ b/src/msw/fontenum.cpp @@ -110,6 +110,12 @@ bool wxFontEnumeratorHelper::SetEncoding(wxFontEncoding encoding) return TRUE; } +#if defined(__GNUWIN32__) && !defined(__MINGW32__) +#define wxFONTENUMPROC int(*)(ENUMLOGFONTEX *, NEWTEXTMETRICEX*, int, LPARAM) +#else +#define wxFONTENUMPROC FONTENUMPROC +#endif + void wxFontEnumeratorHelper::DoEnumerate() { HDC hDC = ::GetDC(NULL); @@ -119,7 +125,7 @@ void wxFontEnumeratorHelper::DoEnumerate() lf.lfCharSet = m_charset; wxStrncpy(lf.lfFaceName, m_facename, WXSIZEOF(lf.lfFaceName)); lf.lfPitchAndFamily = 0; - ::EnumFontFamiliesEx(hDC, &lf, (FONTENUMPROC)wxFontEnumeratorProc, + ::EnumFontFamiliesEx(hDC, &lf, (wxFONTENUMPROC)wxFontEnumeratorProc, (LPARAM)this, 0 /* reserved */) ; #else // Win16 ::EnumFonts(hDC, (LPTSTR)NULL, (FONTENUMPROC)wxFontEnumeratorProc, diff --git a/src/msw/makefile.g95 b/src/msw/makefile.g95 index 2bf04f0a06..f627f8fa90 100644 --- a/src/msw/makefile.g95 +++ b/src/msw/makefile.g95 @@ -1,4 +1,4 @@ -# This file was automatically generated by tmake at 00:24, 1999/10/28 +# This file was automatically generated by tmake at 15:22, 1999/11/07 # DO NOT CHANGE THIS FILE, YOUR CHANGES WILL BE LOST! CHANGE G95.T! # @@ -33,6 +33,10 @@ ZLIBDIR = $(WXDIR)/src/zlib OLEDIR = $(WXDIR)/src/msw/ole MSWDIR = $(WXDIR)/src/msw +PNGLIB = $(WXDIR)/lib/libpng.a +ZLIBLIB = $(WXDIR)/lib/libzlib.a +JPEGLIB = $(WXDIR)/lib/libjpeg.a + DOCDIR = $(WXDIR)\docs GENERICOBJS = \ @@ -85,6 +89,7 @@ COMMONOBJS = \ $(COMMDIR)/filefn.$(OBJSUFF) \ $(COMMDIR)/filesys.$(OBJSUFF) \ $(COMMDIR)/fontcmn.$(OBJSUFF) \ + $(COMMDIR)/fontmap.$(OBJSUFF) \ $(COMMDIR)/framecmn.$(OBJSUFF) \ $(COMMDIR)/fs_inet.$(OBJSUFF) \ $(COMMDIR)/fs_zip.$(OBJSUFF) \ @@ -204,6 +209,8 @@ MSWOBJS = \ $(MSWDIR)/filedlg.$(OBJSUFF) \ $(MSWDIR)/font.$(OBJSUFF) \ $(MSWDIR)/fontdlg.$(OBJSUFF) \ + $(MSWDIR)/fontenum.$(OBJSUFF) \ + $(MSWDIR)/fontutil.$(OBJSUFF) \ $(MSWDIR)/frame.$(OBJSUFF) \ $(MSWDIR)/gauge95.$(OBJSUFF) \ $(MSWDIR)/gdiobj.$(OBJSUFF) \ @@ -362,38 +369,46 @@ XPMOBJECTS = $(XPMDIR)/crbuffri.o\ $(XPMDIR)/simx.o $(XPMDIR)/wrffrdat.o\ $(XPMDIR)/wrffrp.o $(XPMDIR)/wrffri.o -OBJECTS = $(MSWOBJS) $(COMMONOBJS) $(GENERICOBJS) $(HTMLOBJS) \ - $(JPEGOBJS) $(PNGOBJS) $(ZLIBOBJS) # $(ADVANCEDOBJS) # $(XPMOBJECTS) +#OBJECTS = $(MSWOBJS) $(COMMONOBJS) $(GENERICOBJS) $(HTMLOBJS) ifeq ($(MINGW32),1) ifeq ($(MINGW32VERSION),2.95) - OBJECTS = $(MSWOBJS) $(COMMONOBJS) $(GENERICOBJS) $(HTMLOBJS) \ - $(JPEGOBJS) $(PNGOBJS) $(ZLIBOBJS) $(ADVANCEDOBJS) # $(XPMOBJECTS) + OBJECTS = $(MSWOBJS) $(COMMONOBJS) $(GENERICOBJS) $(HTMLOBJS) $(ADVANCEDOBJS) # $(XPMOBJECTS) else - OBJECTS = $(MSWOBJS) $(COMMONOBJS) $(GENERICOBJS) $(HTMLOBJS) \ - $(JPEGOBJS) $(PNGOBJS) $(ZLIBOBJS) # $(XPMOBJECTS) + OBJECTS = $(MSWOBJS) $(COMMONOBJS) $(GENERICOBJS) $(HTMLOBJS) # $(XPMOBJECTS) endif else - OBJECTS = $(MSWOBJS) $(COMMONOBJS) $(GENERICOBJS) $(HTMLOBJS) \ - $(JPEGOBJS) $(PNGOBJS) $(ZLIBOBJS) # $(XPMOBJECTS) + OBJECTS = $(MSWOBJS) $(COMMONOBJS) $(GENERICOBJS) $(HTMLOBJS) # $(XPMOBJECTS) endif -all: $(OBJECTS) $(WXLIB) +all: $(OBJECTS) $(WXLIB) $(ZLIBLIB) $(JPEGLIB) $(PNGLIB) $(WXLIB): $(OBJECTS) $(EXTRAOBJS) ar $(AROPTIONS) $@ $(EXTRAOBJS) $(OBJECTS) $(RANLIB) $@ +$(ZLIBLIB): $(ZLIBOBJS) + ar $(AROPTIONS) $@ $(ZLIBOBJS) + $(RANLIB) $@ + +$(PNGLIB): $(PNGOBJS) + ar $(AROPTIONS) $@ $(PNGOBJS) + $(RANLIB) $@ + +$(JPEGLIB): $(JPEGOBJS) + ar $(AROPTIONS) $@ $(JPEGOBJS) + $(RANLIB) $@ + $(OBJECTS): $(WXINC)/wx/defs.h $(WXINC)/wx/object.h $(WXINC)/wx/setup.h $(COMMDIR)/y_tab.$(OBJSUFF): $(COMMDIR)/y_tab.c $(COMMDIR)/lex_yy.c $(CCLEX) -c $(CPPFLAGS) -DUSE_DEFINE -DYY_USE_PROTOS -o $@ $(COMMDIR)/y_tab.c $(COMMDIR)/y_tab.c: $(COMMDIR)/dosyacc.c - copy ..\common\dosyacc.c ..\common\y_tab.c + $(COPY) ..\\common\\dosyacc.c ..\\common\\y_tab.c $(COMMDIR)/lex_yy.c: $(COMMDIR)/doslex.c - copy ..\common\doslex.c ..\common\lex_yy.c + $(COPY) ..\\common\\doslex.c ..\\common\\lex_yy.c # Replace lex with flex if you run into compilation # problems with lex_yy.c. See also note about LEX_SCANNER @@ -427,20 +442,21 @@ $(COMMDIR)/lex_yy.c: $(COMMDIR)/doslex.c clean: -$(RM) *.o + -$(RM) ole/*.o -$(RM) *.bak -$(RM) core - -$(RM) ..\common\y_tab.c - -$(RM) ..\common\lex_yy.c - -$(RM) ..\common\*.o - -$(RM) ..\common\*.bak - -$(RM) ..\generic\*.o - -$(RM) ..\generic\*.bak - -$(RM) ..\html\*.o - -$(RM) ..\png\*.o - -$(RM) ..\png\*.bak - -$(RM) ..\zlib\*.o - -$(RM) ..\zlib\*.bak - -$(RM) ..\jpeg\*.o - -$(RM) ..\..\lib\libwx.a + -$(RM) ../common/y_tab.c + -$(RM) ../common/lex_yy.c + -$(RM) ../common/*.o + -$(RM) ../common/*.bak + -$(RM) ../generic/*.o + -$(RM) ../generic/*.bak + -$(RM) ../html/*.o + -$(RM) ../png/*.o + -$(RM) ../png/*.bak + -$(RM) ../zlib/*.o + -$(RM) ../zlib/*.bak + -$(RM) ../jpeg/*.o + -$(RM) ../../lib/libwx.a cleanall: clean -- 2.47.2