]> git.saurik.com Git - wxWidgets.git/blobdiff - src/generic/statusbr.cpp
Return NULL from wxWindow::GetCapture() when the capture is being lost.
[wxWidgets.git] / src / generic / statusbr.cpp
index b2a98212b2db3bd90ee2122f14c822c30d222f64..6de10c46aa59727a307c769d31f5b40abde74dc8 100644 (file)
@@ -4,7 +4,6 @@
 // Author:      Julian Smart
 // Modified by: Francesco Montorsi
 // Created:     01/02/97
-// RCS-ID:      $Id$
 // Copyright:   (c) Julian Smart
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
@@ -291,10 +290,10 @@ void wxStatusBarGeneric::DrawField(wxDC& dc, int i, int textHeight)
         return;     // happens when the status bar is shrunk in a very small area!
 
     int style = m_panes[i].GetStyle();
-    if (style != wxSB_FLAT)
+    if (style == wxSB_RAISED || style == wxSB_SUNKEN)
     {
         // Draw border
-        // For wxSB_NORMAL: paint a grey background, plus 3-d border (one black rectangle)
+        // For wxSB_SUNKEN: paint a grey background, plus 3-d border (one black rectangle)
         // Inside this, left and top sides (dark grey). Bottom and right (white).
         // Reverse it for wxSB_RAISED
 
@@ -436,7 +435,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 +494,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 +542,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)