From 01283acee2cbaa0eb6ab88a50bebd2e82b11f0bb Mon Sep 17 00:00:00 2001 From: Paul Cornett Date: Wed, 14 Nov 2012 16:55:24 +0000 Subject: [PATCH] re-enable using our own resize grip with GTK3, themes can (and do) disable the native grip git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72956 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- src/generic/statusbr.cpp | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/src/generic/statusbr.cpp b/src/generic/statusbr.cpp index b2a98212b2..819ccf3fb2 100644 --- a/src/generic/statusbr.cpp +++ b/src/generic/statusbr.cpp @@ -436,7 +436,9 @@ void wxStatusBarGeneric::OnPaint(wxPaintEvent& WXUNUSED(event) ) const wxRect& rc = GetSizeGripRect(); #ifdef __WXGTK3__ GtkWidget* toplevel = gtk_widget_get_toplevel(m_widget); - if (toplevel && !gtk_window_get_has_resize_grip(GTK_WINDOW(toplevel))) + GdkRectangle rect; + if (toplevel && (!gtk_window_get_resize_grip_area(GTK_WINDOW(toplevel), &rect) || + rect.width == 0 || rect.height == 0)) { GtkStyleContext* sc = gtk_widget_get_style_context(toplevel); gtk_style_context_save(sc); @@ -493,8 +495,12 @@ void wxStatusBarGeneric::OnLeftDown(wxMouseEvent& event) GtkWidget* ancestor = gtk_widget_get_toplevel(m_widget); #ifdef __WXGTK3__ - if (ancestor && gtk_window_get_has_resize_grip(GTK_WINDOW(ancestor))) + GdkRectangle rect; + if (ancestor && gtk_window_get_resize_grip_area(GTK_WINDOW(ancestor), &rect) && + rect.width && rect.height) + { ancestor = NULL; + } #endif if (ancestor && ShowsSizeGrip() && event.GetX() > width - height) @@ -537,8 +543,12 @@ void wxStatusBarGeneric::OnRightDown(wxMouseEvent& event) GtkWidget* ancestor = gtk_widget_get_toplevel(m_widget); #ifdef __WXGTK3__ - if (ancestor && gtk_window_get_has_resize_grip(GTK_WINDOW(ancestor))) + GdkRectangle rect; + if (ancestor && gtk_window_get_resize_grip_area(GTK_WINDOW(ancestor), &rect) && + rect.width && rect.height) + { ancestor = NULL; + } #endif if (ancestor && ShowsSizeGrip() && event.GetX() > width - height) -- 2.47.2