]> git.saurik.com Git - wxWidgets.git/blobdiff - src/gtk/popupwin.cpp
use const arrays for wxDC array parameters, closes #10712
[wxWidgets.git] / src / gtk / popupwin.cpp
index 38ac3c14f41c9bfa58fa965360f63e38fdeb0424..878798abb9aebda878655a7be8b6dcb55615e180 100644 (file)
@@ -46,7 +46,7 @@ static gint gtk_popup_button_press (GtkWidget *widget, GdkEvent *gdk_event, wxPo
         {
             if (child == widget)
                 return FALSE;
-            child = child->parent;
+            child = gtk_widget_get_parent(child);
         }
     }
 
@@ -73,14 +73,6 @@ bool gtk_dialog_delete_callback( GtkWidget *WXUNUSED(widget), GdkEvent *WXUNUSED
 }
 }
 
-void wxPopupWindow::AddChildGTK(wxWindowGTK* child)
-{
-    gtk_widget_set_size_request(
-        child->m_widget, child->m_width, child->m_height);
-    gtk_fixed_put(
-        GTK_FIXED(m_wxwindow), child->m_widget, child->m_x, child->m_y);
-}
-
 //-----------------------------------------------------------------------------
 // wxPopupWindow
 //-----------------------------------------------------------------------------
@@ -114,12 +106,20 @@ bool wxPopupWindow::Create( wxWindow *parent, int style )
     g_object_ref( m_widget );
 
     gtk_widget_set_name( m_widget, "wxPopupWindow" );
-    gtk_window_set_type_hint( GTK_WINDOW(m_widget), GDK_WINDOW_TYPE_HINT_COMBO );
+    // wxPopupWindow is used for different windows as well
+    // gtk_window_set_type_hint( GTK_WINDOW(m_widget), GDK_WINDOW_TYPE_HINT_COMBO );
 
     GtkWidget *toplevel = gtk_widget_get_toplevel( parent->m_widget );
     if (GTK_IS_WINDOW (toplevel))
     {
-        gtk_window_group_add_window (gtk_window_get_group (GTK_WINDOW (toplevel)), GTK_WINDOW (m_widget));
+#if GTK_CHECK_VERSION(2,10,0)
+#ifndef __WXGTK3__
+        if (!gtk_check_version(2,10,0))
+#endif
+        {
+            gtk_window_group_add_window (gtk_window_get_group (GTK_WINDOW (toplevel)), GTK_WINDOW (m_widget));
+        }
+#endif
         gtk_window_set_transient_for (GTK_WINDOW (m_widget), GTK_WINDOW (toplevel));
     }
     gtk_window_set_resizable (GTK_WINDOW (m_widget), FALSE);
@@ -128,7 +128,7 @@ bool wxPopupWindow::Create( wxWindow *parent, int style )
     g_signal_connect (m_widget, "delete_event",
                       G_CALLBACK (gtk_dialog_delete_callback), this);
 
-    m_wxwindow = wxPizza::New(m_windowStyle);
+    m_wxwindow = wxPizza::New();
     gtk_widget_show( m_wxwindow );
 
     gtk_container_add( GTK_CONTAINER(m_widget), m_wxwindow );
@@ -205,7 +205,7 @@ void wxPopupWindow::SetFocus()
             return;
         }
     }
-    
+
     wxPopupWindowBase::SetFocus();
 }