summaryrefslogtreecommitdiff
path: root/gtk/gtkstatusbar.c
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2004-11-12 03:36:35 +0000
committerMatthias Clasen <matthiasc@src.gnome.org>2004-11-12 03:36:35 +0000
commit73b0f2bc458593c0162ab0fa8d24a40c7ffe2d1b (patch)
tree532c2ef14201a3e33d954f0bfa64014c2abc1d26 /gtk/gtkstatusbar.c
parent430a02d8542a1a70d451f9eb454aec06f804e968 (diff)
downloadgdk-pixbuf-73b0f2bc458593c0162ab0fa8d24a40c7ffe2d1b.tar.gz
Also reserve space for the resize grip if the grip_window is not realized
2004-11-11 Matthias Clasen <mclasen@redhat.com> * gtk/gtkstatusbar.c (gtk_statusbar_size_allocate): Also reserve space for the resize grip if the grip_window is not realized yet. (#158010, Christian Persch) (gtk_statusbar_button_press): Only start a resize if the button press comes from the grip_window. (#158011, Christian Persch)
Diffstat (limited to 'gtk/gtkstatusbar.c')
-rw-r--r--gtk/gtkstatusbar.c18
1 files changed, 11 insertions, 7 deletions
diff --git a/gtk/gtkstatusbar.c b/gtk/gtkstatusbar.c
index 8c29f93ff..e985ac3ac 100644
--- a/gtk/gtkstatusbar.c
+++ b/gtk/gtkstatusbar.c
@@ -684,7 +684,8 @@ gtk_statusbar_button_press (GtkWidget *widget,
statusbar = GTK_STATUSBAR (widget);
if (!statusbar->has_resize_grip ||
- event->type != GDK_BUTTON_PRESS)
+ event->type != GDK_BUTTON_PRESS ||
+ event->window != statusbar->grip_window)
return FALSE;
ancestor = gtk_widget_get_toplevel (widget);
@@ -803,7 +804,7 @@ gtk_statusbar_size_allocate (GtkWidget *widget,
gboolean extra_children;
GdkRectangle rect, overlap;
- if (statusbar->has_resize_grip && statusbar->grip_window)
+ if (statusbar->has_resize_grip)
{
widget->allocation = *allocation;
get_grip_rect (statusbar, &rect);
@@ -828,12 +829,15 @@ gtk_statusbar_size_allocate (GtkWidget *widget,
/* chain up normally */
GTK_WIDGET_CLASS (parent_class)->size_allocate (widget, allocation);
- if (statusbar->has_resize_grip && statusbar->grip_window)
+ if (statusbar->has_resize_grip)
{
- gdk_window_raise (statusbar->grip_window);
- gdk_window_move_resize (statusbar->grip_window,
- rect.x, rect.y,
- rect.width, rect.height);
+ if (statusbar->grip_window)
+ {
+ gdk_window_raise (statusbar->grip_window);
+ gdk_window_move_resize (statusbar->grip_window,
+ rect.x, rect.y,
+ rect.width, rect.height);
+ }
if (extra_children)
{