Avoid unnecessary redraws when resizing. Patch by Owen Taylor
* gtk/gtkwindow.c: Avoid unnecessary redraws when resizing.
Patch by Owen Taylor
svn path=/trunk/; revision=20705
This commit is contained in:
@ -1,3 +1,10 @@
|
||||
2008-06-30 Matthias Clasen <mclasen@redhat.com>
|
||||
|
||||
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 <behdad@gnome.org>
|
||||
|
||||
Bug 530255 – GtkAboutDialog cuts off comments label
|
||||
|
||||
@ -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");
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user