[gtk+] Don't queue resize for hidden widgets without a size group
- From: Alexander Larsson <alexl src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+] Don't queue resize for hidden widgets without a size group
- Date: Tue, 4 Dec 2012 19:17:24 +0000 (UTC)
commit faaae520c98af1c27ca1e97ca8f33655ec6b575e
Author: Alexander Larsson <alexl redhat com>
Date: Tue Dec 4 16:53:06 2012 +0100
Don't queue resize for hidden widgets without a size group
queue_resize basically tells the parent widget that it may need
to pick a different size/layout. However, for a hidden child widget
that should never be needed. It may be that the widget is in a
sizegroup that has ignore_hidden == FALSE though, so it may
affect the size group calculations.
However, if a widget is not visible and not in a size group then
its safe to avoid the resize, as the widget will be resized on
becoming visible anyway.
This avoids a lot of size allocation for hidden things like menus
and tooltips.
gtk/gtkwidget.c | 4 +++-
1 files changed, 3 insertions(+), 1 deletions(-)
---
diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c
index 9141a70..1350af5 100644
--- a/gtk/gtkwidget.c
+++ b/gtk/gtkwidget.c
@@ -4654,7 +4654,9 @@ gtk_widget_queue_resize (GtkWidget *widget)
if (gtk_widget_get_realized (widget))
gtk_widget_queue_draw (widget);
- _gtk_size_group_queue_resize (widget, 0);
+ if (gtk_widget_get_visible (widget) ||
+ widget->priv->have_size_groups)
+ _gtk_size_group_queue_resize (widget, 0);
}
/**
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]