]> git.saurik.com Git - wxWidgets.git/blame_incremental - docs/msw/issues.txt
* Fixes and new features in wxObject*Stream
[wxWidgets.git] / docs / msw / issues.txt
... / ...
CommitLineData
1Current issues and bugs
2-----------------------
3
4Debugging code
5--------------
6
7wxDebugContext and global memory operators doesn't work correctly,
8for different (unresolved) reasons on different compilers.
9
101) In VC++ 5.0, if you use wxDebugAlloc for new and wxDebugFree
11for delete, you get a crash to do with deallocating the debug
12buffer in wxDebugContext. So although the global operators are
13defined, they are #ifdefed to just call malloc and free to avoid
14the problem. This means that non-object memory checking doesn't work.
15The problem does seem to be something to do with a pointer
16mysteriously changing its address, very similar to 2).
17
182) In BC++ 4.5, there isn't a crash, but instead the ofstream
19pointer passed to SetStream from SetFile (which is called in
20memcheck.cpp) gets mysteriously changed as it's passed to SetStream.
21This means that when counting the number of outstanding memory
22blocks, we can't compare the allocated block with m_debugStream
23to say 'ignore this block because we can't free it before the
24very end of the application'. Therefore it always looks like
25there's a memory leak of one object, in memory.cpp, unless you
26don't call wxDebugContext::SetFile.
27
28The fact that pointers appear to change in both cases must
29indicate a common problem and solution. If we could use the
30standard global memory operators for ofstream and
31wxDebugStreamBuf it might help, but I don't know how to do that -
32I've redefined 'new' throughout as WXDEBUG_NEW (which is itself
33defined as the 3-argument operator).
34
35Config/registry classes
36-----------------------
37
38Problems with Karsten's/Vadim's existing AppConfig classes:
39
40- use char* a lot instead of wxString
41- rather hard to understand
42- will need fairly substantial rewrite
43- no native .ini functions (?) for guaranteed Windows
44 compatibility
45- new wxWin docs required
46
47Good things:
48
49- exists!
50- FileConfig independent of OS
51- specifying a base class that will meet nearly all needs for
52 derived classes
53- enumerator
54
55Other features we should probably have:
56
57- ability to specify vendor name/app name in constructor
58- under Windows, ability to read/write all areas of registry
59 as an option
60
61Options:
62
63- rewrite AppConfig
64- start from own CRegistry class
65- take elements from both
66- do the Windows stuff, let someone else write/adapt the
67 non-Windows classes
68
69Owner-draw menus
70----------------
71
72If USE_OWNER_DRAWN = 1 and you create a wxMenu, you get 'all bets
73are off' memory checking warnings from wxWindows.
74