diff --git a/ChangeLog b/ChangeLog index e99c1f85ce..4a094fcf4a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +Mon Feb 23 15:41:13 1998 Owen Taylor + + * gtk/gtkwidget.c gtk/gtkmenu.c: Don't process configure events + that just move the window, and don't resize it. Because we need + to make sure that a widget gets redrawn after a size_allocate - + and that only happens when the configure event changes the size + of the window. Plus, it's inefficient. + Mon Feb 23 15:45:37 1998 Marc Ewing * gtk/gtktoolbar.h: diff --git a/ChangeLog.pre-2-0 b/ChangeLog.pre-2-0 index e99c1f85ce..4a094fcf4a 100644 --- a/ChangeLog.pre-2-0 +++ b/ChangeLog.pre-2-0 @@ -1,3 +1,11 @@ +Mon Feb 23 15:41:13 1998 Owen Taylor + + * gtk/gtkwidget.c gtk/gtkmenu.c: Don't process configure events + that just move the window, and don't resize it. Because we need + to make sure that a widget gets redrawn after a size_allocate - + and that only happens when the configure event changes the size + of the window. Plus, it's inefficient. + Mon Feb 23 15:45:37 1998 Marc Ewing * gtk/gtktoolbar.h: diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index e99c1f85ce..4a094fcf4a 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,3 +1,11 @@ +Mon Feb 23 15:41:13 1998 Owen Taylor + + * gtk/gtkwidget.c gtk/gtkmenu.c: Don't process configure events + that just move the window, and don't resize it. Because we need + to make sure that a widget gets redrawn after a size_allocate - + and that only happens when the configure event changes the size + of the window. Plus, it's inefficient. + Mon Feb 23 15:45:37 1998 Marc Ewing * gtk/gtktoolbar.h: diff --git a/ChangeLog.pre-2-2 b/ChangeLog.pre-2-2 index e99c1f85ce..4a094fcf4a 100644 --- a/ChangeLog.pre-2-2 +++ b/ChangeLog.pre-2-2 @@ -1,3 +1,11 @@ +Mon Feb 23 15:41:13 1998 Owen Taylor + + * gtk/gtkwidget.c gtk/gtkmenu.c: Don't process configure events + that just move the window, and don't resize it. Because we need + to make sure that a widget gets redrawn after a size_allocate - + and that only happens when the configure event changes the size + of the window. Plus, it's inefficient. + Mon Feb 23 15:45:37 1998 Marc Ewing * gtk/gtktoolbar.h: diff --git a/ChangeLog.pre-2-4 b/ChangeLog.pre-2-4 index e99c1f85ce..4a094fcf4a 100644 --- a/ChangeLog.pre-2-4 +++ b/ChangeLog.pre-2-4 @@ -1,3 +1,11 @@ +Mon Feb 23 15:41:13 1998 Owen Taylor + + * gtk/gtkwidget.c gtk/gtkmenu.c: Don't process configure events + that just move the window, and don't resize it. Because we need + to make sure that a widget gets redrawn after a size_allocate - + and that only happens when the configure event changes the size + of the window. Plus, it's inefficient. + Mon Feb 23 15:45:37 1998 Marc Ewing * gtk/gtktoolbar.h: diff --git a/ChangeLog.pre-2-6 b/ChangeLog.pre-2-6 index e99c1f85ce..4a094fcf4a 100644 --- a/ChangeLog.pre-2-6 +++ b/ChangeLog.pre-2-6 @@ -1,3 +1,11 @@ +Mon Feb 23 15:41:13 1998 Owen Taylor + + * gtk/gtkwidget.c gtk/gtkmenu.c: Don't process configure events + that just move the window, and don't resize it. Because we need + to make sure that a widget gets redrawn after a size_allocate - + and that only happens when the configure event changes the size + of the window. Plus, it's inefficient. + Mon Feb 23 15:45:37 1998 Marc Ewing * gtk/gtktoolbar.h: diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8 index e99c1f85ce..4a094fcf4a 100644 --- a/ChangeLog.pre-2-8 +++ b/ChangeLog.pre-2-8 @@ -1,3 +1,11 @@ +Mon Feb 23 15:41:13 1998 Owen Taylor + + * gtk/gtkwidget.c gtk/gtkmenu.c: Don't process configure events + that just move the window, and don't resize it. Because we need + to make sure that a widget gets redrawn after a size_allocate - + and that only happens when the configure event changes the size + of the window. Plus, it's inefficient. + Mon Feb 23 15:45:37 1998 Marc Ewing * gtk/gtktoolbar.h: diff --git a/gtk/gtkmenu.c b/gtk/gtkmenu.c index 2f1f7c347c..9cbd961a0b 100644 --- a/gtk/gtkmenu.c +++ b/gtk/gtkmenu.c @@ -710,6 +710,11 @@ gtk_menu_configure (GtkWidget *widget, g_return_val_if_fail (GTK_IS_MENU (widget), FALSE); g_return_val_if_fail (event != NULL, FALSE); + /* If the window was merely moved, do nothing */ + if ((widget->allocation.width == event->width) && + (widget->allocation.height == event->height)) + return FALSE; + if (GTK_MENU_SHELL (widget)->menu_flag) { GTK_MENU_SHELL (widget)->menu_flag = FALSE; diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c index 7c2b3534a9..a805bfc92c 100644 --- a/gtk/gtkwindow.c +++ b/gtk/gtkwindow.c @@ -716,6 +716,11 @@ gtk_window_configure_event (GtkWidget *widget, g_return_val_if_fail (GTK_IS_WINDOW (widget), FALSE); g_return_val_if_fail (event != NULL, FALSE); + /* If the window was merely moved, do nothing */ + if ((widget->allocation.width == event->width) && + (widget->allocation.height == event->height)) + return FALSE; + window = GTK_WINDOW (widget); window->handling_resize = TRUE;