]> git.saurik.com Git - wxWidgets.git/blobdiff - src/gtk/nativewin.cpp
Fix wxMenu::GetTitle() before the menu is appended to the menu bar.
[wxWidgets.git] / src / gtk / nativewin.cpp
index 4ed6675a70ffafe331c8d14f7c55463b07580931..c40ed6d0d5b4e1fa125734b7972234a926c992c6 100644 (file)
@@ -3,7 +3,6 @@
 // Purpose:     wxNativeWindow implementation
 // Author:      Vadim Zeitlin
 // Created:     2008-03-05
-// RCS-ID:      $Id$
 // Copyright:   (c) 2008 Vadim Zeitlin <vadim@wxwindows.org>
 // Licence:     wxWindows licence
 ///////////////////////////////////////////////////////////////////////////////
@@ -32,7 +31,7 @@
 #include "wx/gtk/private/gtk2-compat.h"
 
 #ifdef GDK_WINDOWING_X11
-    #include <X11/Xlib.h>
+    #include <gdk/gdkx.h>
 #endif
 
 // ============================================================================
@@ -95,7 +94,15 @@ bool wxNativeContainerWindow::Create(wxNativeContainerWindowHandle win)
 bool wxNativeContainerWindow::Create(wxNativeContainerWindowId anid)
 {
     bool rc;
+#ifdef __WXGTK3__
+#ifdef GDK_WINDOWING_X11
+    GdkWindow * const win = gdk_x11_window_foreign_new_for_display(gdk_display_get_default(), anid);
+#else
+    GdkWindow * const win = NULL;
+#endif
+#else
     GdkWindow * const win = gdk_window_foreign_new(anid);
+#endif
     if ( win )
     {
         rc = Create(win);
@@ -117,6 +124,7 @@ void wxNativeContainerWindow::OnNativeDestroyed()
     // because it's a private GDK function and calling normal
     // gdk_window_destroy() results in X errors while nulling just the window
     // pointer and destroying m_widget results in many GTK errors
+    GTKDisconnect(m_widget);
     m_widget = NULL;
 
     // notice that we intentionally don't use Close() nor Delete() here as our