]> git.saurik.com Git - wxWidgets.git/blobdiff - src/x11/window.cpp
Added extra hit test style for more accurate reporting
[wxWidgets.git] / src / x11 / window.cpp
index dcd3dffb8076c30458d9f1e260466bd11a607c7d..f10becfa7f72e258db529b28f37e8cf813dc7ac9 100644 (file)
     #include "wx/listbox.h"
     #include "wx/scrolwin.h"
     #include "wx/layout.h"
+    #include "wx/menuitem.h"
+    #include "wx/module.h"
 #endif
 
-#include "wx/module.h"
-#include "wx/menuitem.h"
 #include "wx/fontutil.h"
 #include "wx/univ/renderer.h"
 
@@ -357,10 +357,13 @@ wxWindowX11::~wxWindowX11()
     }
 
     // Destroy the window
-    Window xwindow = (Window) m_mainWindow;
-    wxDeleteWindowFromTable( xwindow );
-    XDestroyWindow( wxGlobalDisplay(), xwindow );
-    m_mainWindow = NULL;
+    if ( m_mainWindow )
+    {
+        Window xwindow = (Window) m_mainWindow;
+        wxDeleteWindowFromTable( xwindow );
+        XDestroyWindow( wxGlobalDisplay(), xwindow );
+        m_mainWindow = NULL;
+    }
 }
 
 // ---------------------------------------------------------------------------
@@ -1694,8 +1697,14 @@ int wxNoOptimize::ms_count = 0;
 class wxWinModule : public wxModule
 {
 public:
-    bool OnInit();
-    void OnExit();
+    wxWinModule()
+    {
+        // we must be cleaned up before the display is closed
+        AddDependency(wxClassInfo::FindClass(_T("wxX11DisplayModule")));
+    }
+
+    virtual bool OnInit();
+    virtual void OnExit();
 
 private:
     DECLARE_DYNAMIC_CLASS(wxWinModule)