Developer forums (C::B DEVELOPMENT STRICTLY!) > Development
INCOMPATIBILITIES between wx2.4 and wx2.6
rickg22:
Why not try adding a sizer to it? :) You don't lose anything.
DreadNot:
The EditorManager's wxNotebook is for the editor--I don't think its related to the problem.
Manager holds a wxSplitPanel (a C::B class) which holds a wxSplitterWindow.
EditorManager and ProjectManager both call the global Manager for the wxSplitPanel which in turn provides the wxSplitterWindow. Each adds their own wxTreeCtrl to the wxSplitterWindow.
I think the problem is specifically with the ProjectManager's wxTreeCtrl, but I am confused as to why? They approach content differently--adding items, building, rebuilding, ext.--but they are similar.
DreadNot:
I've recompiled with a current CVS update of HEAD. Here are the wx2.6.1 incompatabilities so far.
I'm getting a compile error for wxHandleFatalExceptions():
--- Quote ---src\app.cpp: In member function `virtual bool CodeBlocksApp::OnInit()':
src\app.cpp:214: error: `wxHandleFatalExceptions' undeclared (first use this function)
src\app.cpp:214: error: (Each undeclared identifier is reported only once for each function it appears in.)
--- End quote ---
I seems that "wxHandleFatalExceptions()" is only defined when "wxUSE_ON_FATAL_EXCEPTION" is set to 1. Its only supposed to be used when the compiler "supports Win32 structured exception handling (currently only VC++ does)" . Its defined in wx/msw/chkconf.h as follows (due to the use of mingw):
--- Code: ---#if !defined(_MSC_VER) && \
(!defined(__BORLANDC__) || __BORLANDC__ < 0x0550)
#undef wxUSE_ON_FATAL_EXCEPTION
#define wxUSE_ON_FATAL_EXCEPTION 0
...
--- End code ---
To check in app.cpp, I've changed/added the code as follows:
--- Code: ---bool CodeBlocksApp::OnInit()
{
m_pSplash = 0;
#if wxUSE_ON_FATAL_EXCEPTION // <-- added
wxHandleFatalExceptions(true);
#endif // <-- added
if(!LoadConfig())
return false;
--- End code ---
Also getting warnings in EditorManager:
--- Quote ---sdk\editormanager.cpp: In constructor `EditorManager::EditorManager(wxWindow*)':
sdk\editormanager.cpp:124: warning: `__comp_ctor' is deprecated (declared at ../../wxWidgets/wxWidgets-2.6.1/include/wx/sizer.h:788)
sdk\editormanager.cpp: In member function `void EditorManager::ActivateNext()':
sdk\editormanager.cpp:443: warning: comparison between signed and unsigned integer expressions
sdk\editormanager.cpp: In member function `int EditorManager::FindPageFromEditor(EditorBase*)':
sdk\editormanager.cpp:643: warning: comparison between signed and unsigned integer expressions
--- End quote ---
DreadNot:
Due to the DLLIMPORT changes in editorbase.h, anytime editorbase.h is directly included (such as in wxSmith), the including file must also include settings.h before editorbase.h in order to properly define DLLIMPORT.
Having editorbase.h include settings.h directly may be a cleaner solution (maybe?)
mandrav:
--- Quote from: DreadNot ---I seems that "wxHandleFatalExceptions()" is only defined when "wxUSE_ON_FATAL_EXCEPTION" is set to 1. Its only supposed to be used when the compiler "supports Win32 structured exception handling (currently only VC++ does)" . Its defined in wx/msw/chkconf.h as follows (due to the use of mingw):
--- End quote ---
I noticed it too. The funny thing is that under wx2.4 this function is defined and working as expected with MinGW. Under Linux (gcc) too. So it seems that gcc works with it. I don't know.
--- Quote from: DreadNot ---Having editorbase.h include settings.h directly may be a cleaner solution (maybe?)
--- End quote ---
Yes, probably.
Yiannis.
Navigation
[0] Message Index
[#] Next page
[*] Previous page
Go to full version