b8c631bb29
wxListBox::GetSelection returning -1 now doesn't assert; wxProp improvements for wxGTK; parser.y includes <io.h> under VC++ to eliminate 'read' warning git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@709 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
41 lines
1.6 KiB
Plaintext
41 lines
1.6 KiB
Plaintext
Current issues and bugs
|
|
-----------------------
|
|
|
|
Debugging code
|
|
--------------
|
|
|
|
wxDebugContext and global memory operators doesn't work correctly,
|
|
for different (unresolved) reasons on different compilers.
|
|
|
|
1) In VC++ 5.0, if you use wxDebugAlloc for new and wxDebugFree
|
|
for delete, you get a crash to do with deallocating the debug
|
|
buffer in wxDebugContext. So although the global operators are
|
|
defined, they are #ifdefed to just call malloc and free to avoid
|
|
the problem. This means that non-object memory checking doesn't work.
|
|
The problem does seem to be something to do with a pointer
|
|
mysteriously changing its address, very similar to 2).
|
|
|
|
2) In BC++ 4.5, there isn't a crash, but instead the ofstream
|
|
pointer passed to SetStream from SetFile (which is called in
|
|
memcheck.cpp) gets mysteriously changed as it's passed to SetStream.
|
|
This means that when counting the number of outstanding memory
|
|
blocks, we can't compare the allocated block with m_debugStream
|
|
to say 'ignore this block because we can't free it before the
|
|
very end of the application'. Therefore it always looks like
|
|
there's a memory leak of one object, in memory.cpp, unless you
|
|
don't call wxDebugContext::SetFile.
|
|
|
|
The fact that pointers appear to change in both cases must
|
|
indicate a common problem and solution. If we could use the
|
|
standard global memory operators for ofstream and
|
|
wxDebugStreamBuf it might help, but I don't know how to do that -
|
|
I've redefined 'new' throughout as WXDEBUG_NEW (which is itself
|
|
defined as the 3-argument operator).
|
|
|
|
Owner-draw menus
|
|
----------------
|
|
|
|
If USE_OWNER_DRAWN = 1 and you create a wxMenu, you get 'all bets
|
|
are off' memory checking warnings from wxWindows.
|
|
|