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
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);
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)
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)