diff --git a/ChangeLog b/ChangeLog index 775d7cc5849d73e6bcfb2fd74b3c9f30bfd0aacb..8849bd6ad8efe73d3b4b8b84768f68abec452afa 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2008-06-30 Matthias Clasen + + Bug 540310 – Avoid unnecessary repaints when resizing GtkWindow + + * gtk/gtkwindow.c: Avoid unnecessary redraws when resizing. + Patch by Owen Taylor + 2008-06-29 Behdad Esfahbod Bug 530255 – GtkAboutDialog cuts off comments label diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c index dafc61423ebb3b301ba2fe829717caa762a23cde..a565cf165f4cb6197af76383187b24de5968ccf6 100644 --- a/gtk/gtkwindow.c +++ b/gtk/gtkwindow.c @@ -1549,7 +1549,7 @@ gtk_window_set_policy (GtkWindow *window, g_object_notify (G_OBJECT (window), "resizable"); g_object_thaw_notify (G_OBJECT (window)); - gtk_widget_queue_resize (GTK_WIDGET (window)); + gtk_widget_queue_resize_no_redraw (GTK_WIDGET (window)); } static gboolean @@ -1765,7 +1765,7 @@ gtk_window_set_position (GtkWindow *window, */ info->position_constraints_changed = TRUE; - gtk_widget_queue_resize (GTK_WIDGET (window)); + gtk_widget_queue_resize_no_redraw (GTK_WIDGET (window)); } window->position = position; @@ -2690,7 +2690,7 @@ gtk_window_set_geometry_hints (GtkWindow *window, gtk_window_set_gravity (window, geometry->win_gravity); } - gtk_widget_queue_resize (GTK_WIDGET (window)); + gtk_widget_queue_resize_no_redraw (GTK_WIDGET (window)); } /** @@ -3689,7 +3689,7 @@ gtk_window_set_default_size_internal (GtkWindow *window, g_object_thaw_notify (G_OBJECT (window)); - gtk_widget_queue_resize (GTK_WIDGET (window)); + gtk_widget_queue_resize_no_redraw (GTK_WIDGET (window)); } /** @@ -3804,7 +3804,7 @@ gtk_window_resize (GtkWindow *window, info->resize_width = width; info->resize_height = height; - gtk_widget_queue_resize (GTK_WIDGET (window)); + gtk_widget_queue_resize_no_redraw (GTK_WIDGET (window)); } /** @@ -6039,7 +6039,7 @@ gtk_window_move_resize (GtkWindow *window) */ info->last = saved_last_info; - gtk_widget_queue_resize (widget); /* migth recurse for GTK_RESIZE_IMMEDIATE */ + gtk_widget_queue_resize_no_redraw (widget); /* migth recurse for GTK_RESIZE_IMMEDIATE */ } return; /* Bail out, we didn't really process the move/resize */ @@ -6132,7 +6132,7 @@ gtk_window_move_resize (GtkWindow *window) */ if (container->resize_mode == GTK_RESIZE_QUEUE) { - gtk_widget_queue_resize (widget); + gtk_widget_queue_resize_no_redraw (widget); _gtk_container_dequeue_resize_handler (container); } } @@ -7049,7 +7049,7 @@ gtk_window_set_gravity (GtkWindow *window, /* gtk_window_move_resize() will adapt gravity */ - gtk_widget_queue_resize (GTK_WIDGET (window)); + gtk_widget_queue_resize_no_redraw (GTK_WIDGET (window)); g_object_notify (G_OBJECT (window), "gravity"); }