From e1720942b02fdf109d23a519bf21033483b4bdab Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Sun, 22 Jun 2003 16:13:47 +0000 Subject: [PATCH] fix VC 7.x release build problems git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@21296 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- docs/changes.txt | 3 ++- src/common/object.cpp | 11 +++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/docs/changes.txt b/docs/changes.txt index 9d7652b90f..5e940dec52 100644 --- a/docs/changes.txt +++ b/docs/changes.txt @@ -128,7 +128,7 @@ wxMSW: (for MinGW and Cygwin) - When using DLL, wxLocalFSHandler was not being exported - added WXEXPORTDLL -- A wxEvtHandler object was not removed from wxPendingEvents on deletion. +- A wxEvtHandler object was not removed from wxPendingEvents on deletion. wxPendingEventsLocker was being deleted in App before all wxEvtHandler objects have been destroyed resulting in stale handler/lock ptrs; fixed @@ -144,6 +144,7 @@ wxMSW: Proper XP theme support is planned for 2.6 - disable wxNB_RIGHT, wxNB_LEFT, wxNB_BOTTOM notebook styles if the version of CommCtl doesn't support it (XP) +- fixed release mode build with VC 7.x (Martin Ecker) wxMotif: diff --git a/src/common/object.cpp b/src/common/object.cpp index b3c4367ad7..bbe780c07e 100644 --- a/src/common/object.cpp +++ b/src/common/object.cpp @@ -43,11 +43,22 @@ #endif #endif // __WXDEBUG__ || wxUSE_DEBUG_CONTEXT +// we must disable optimizations for VC.NET because otherwise its too eager +// linker discards wxClassInfo objects in release build thus breaking many, +// many things +#if defined _MSC_VER && _MSC_VER >= 1300 + #pragma optimize("", off) +#endif wxClassInfo wxObject::sm_classwxObject( wxT("wxObject"), 0, 0, (int) sizeof(wxObject), (wxObjectConstructorFn) 0 ); +// restore optimizations +#if defined _MSC_VER && _MSC_VER >= 1300 + #pragma optimize("", on) +#endif + wxClassInfo* wxClassInfo::sm_first = NULL; wxHashTable* wxClassInfo::sm_classTable = NULL;