wxWidgets 2 Bugs and Problems

Issues with 2.2.5

Issues with 2.2.1

None yet.

Issues with 2.1.16

Missing JPEG, TIFF, XPM, PNG VC++ project files

Some project files were renamed and were unfortunately omitted from the distribution. Please download wxWindows-2.1.16-vc.zip and unzip over your distribution. Or, you may build the library using the makefiles.

Child windows (especially wxSashLayoutWindows) have a resizeable border under Windows

Please edit src/msw/windows.cpp and remove these lines, starting L. 309:

    if ( style & wxTHICK_FRAME )
        msflags |= WS_THICKFRAME;


Issues with 2.1.14

BC++ 5.x compilation

When compiling with the makefiles in release mode (FINAL=1), some files cause an internal compiler error, related to the compiler optimizing code. To fix it, add these lines to the end of src\xpm\makefile.b32:
create.obj: create.c
	bcc32 $(CPPFLAGS) -Od -P- -c create.c

rgb.obj: rgb.c
	bcc32 $(CPPFLAGS) -Od -P- -c rgb.c

wxTreeCtrl misbehaves

If you get a black background appearing in parts of a tree control, it indicates that you have a buggy comctl32.dll on your system (probably 4.72.3110 or older). You need to install an up-to-date one from here on the Microsoft web site (described in Knowledge Base article Q186176). The file to download is 50comupd.exe. However, to minimize the impact for your users who may still have a buggy version of comctl32.dll, replace this line in src/msw/treectrl.cpp, wxTreeCtrl::Create():
    SetBackgroundColour(wxSystemSettings::GetSystemColour(wxSYS_COLOUR_WINDOW));
with these lines:
    ::SendMessage(GetHwnd(), TVM_SETBKCOLOR, 0,-1);
    wxWindow::SetBackgroundColour(wxSystemSettings::GetSystemColour(wxSYS_COLOUR_WINDOW));

Unicode problems

Sorry, wxWidgets 2.1.14 doesn't compile in Unicode mode under Windows because of some coding oversights. This will be fixed in 2.2.


Issues with 2.0.1

Configure (Motif/GTK+)

I forgot to run autoconf before releasing, so not all improvements to the configure system will be reflected in the 'configure' script. Workaround: Run autoconf on your system if you have it.

Missing Makefile.in files

These files, required for configure operation, are missing from the .tgz files. Workaround: Either download wx200gen.zip and overwrite the distribution with this, or download the file makefile.zip from the 2.0.1 directory on the ftp site, and unzip with the -a option. Sorry about that.

wxKeyEvent/wxMouseEvent (all)

GetPosition is missing from both classes, and the documentation refers to floats instead of longs. Workaround: use the m_x, m_y member variables, and Position still works in wxMouseEvent.

In debug mode on Windows, memory leaks aren't written to the debugger

Debugging output at memory leak detection time is written to standard error, which isn't used by most Windows debuggers. Workaround: change wxLogStderr::DoLogString in src/common/log.cpp to this:
void wxLogStderr::DoLogString(const char *szString)
{
  fputs(szString, m_fp);
  fputc('\n', m_fp);
  fflush(m_fp);
#ifdef __WXMSW__
  OutputDebugString(szString);
  OutputDebugString("\n");
#endif
}

wxPalette memory leaks occur when using wxBitmap::LoadFile under Windows

LoadFile doesn't delete a temporary wxPalette object. Workaround: in src/msw/bitmap.cpp in wxBMPFileHandler::LoadFile, after the line:
      M_BITMAPHANDLERDATA->m_bitmapPalette = *palette;
add this line:
      delete palette;