]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/toplvcmn.cpp
Try this again
[wxWidgets.git] / src / common / toplvcmn.cpp
index fd659ac2b6dc471d135492165aaf4d30632538ce..23eaa3295b15a5af96762eed229c705e801c1bdb 100644 (file)
@@ -30,6 +30,7 @@
 #ifndef WX_PRECOMP
     #include "wx/toplevel.h"
     #include "wx/dcclient.h"
+    #include "wx/app.h"
 #endif // WX_PRECOMP
 
 // ----------------------------------------------------------------------------
@@ -45,10 +46,7 @@ END_EVENT_TABLE()
 // implementation
 // ============================================================================
 
-// FIXME: some platforms don't have wxTopLevelWindow yet
-#ifdef wxTopLevelWindowNative
-    IMPLEMENT_DYNAMIC_CLASS(wxTopLevelWindow, wxWindow)
-#endif
+IMPLEMENT_DYNAMIC_CLASS(wxTopLevelWindow, wxWindow)
 
 // ----------------------------------------------------------------------------
 // construction/destruction
@@ -85,12 +83,12 @@ bool wxTopLevelWindowBase::Destroy()
     return TRUE;
 }
 
-/* static */
-bool wxTopLevelWindowBase::IsLastBeforeExit()
+bool wxTopLevelWindowBase::IsLastBeforeExit() const
 {
     // we exit the application if there are no more top level windows left
     // normally but wxApp can prevent this from happening
-    return (wxTopLevelWindows.GetCount() == 1) &&
+    return wxTopLevelWindows.GetCount() == 1 &&
+            wxTopLevelWindows.GetFirst()->GetData() == (wxWindow *)this &&
             wxTheApp && wxTheApp->GetExitOnFrameDelete();
 }