[gnome-control-center] Shell: fix initial window size
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-control-center] Shell: fix initial window size
- Date: Sat, 4 Dec 2010 02:24:19 +0000 (UTC)
commit 01f8f489d23fec0ee62b005af8fd902846732f22
Author: Matthias Clasen <mclasen redhat com>
Date: Fri Dec 3 21:22:26 2010 -0500
Shell: fix initial window size
The code is setting the min-content-height out of a ::size-allocate
handler, so the resulting size request is ignored. Doing a separate
size request in an idle has the desired effect.
shell/gnome-control-center.c | 21 ++++++++++++++++++++-
1 files changed, 20 insertions(+), 1 deletions(-)
---
diff --git a/shell/gnome-control-center.c b/shell/gnome-control-center.c
index 4f639f3..5fce474 100644
--- a/shell/gnome-control-center.c
+++ b/shell/gnome-control-center.c
@@ -913,6 +913,16 @@ gnome_control_center_class_init (GnomeControlCenterClass *klass)
shell_class->get_toplevel = _shell_get_toplevel;
}
+static gboolean
+queue_resize (gpointer data)
+{
+ GtkWidget *widget = data;
+
+ gtk_widget_queue_resize (widget);
+
+ return FALSE;
+}
+
static void
on_window_size_allocate (GtkWidget *widget,
GtkAllocation *allocation,
@@ -945,7 +955,16 @@ on_window_size_allocate (GtkWidget *widget,
height = 50;
}
- gtk_scrolled_window_set_min_content_height (GTK_SCROLLED_WINDOW (self->priv->scrolled_window), height);
+ if (gtk_scrolled_window_get_min_content_height (GTK_SCROLLED_WINDOW (self->priv->scrolled_window)) != height)
+ {
+ g_debug ("Setting min content height: %d", height);
+ gtk_scrolled_window_set_min_content_height (GTK_SCROLLED_WINDOW (self->priv->scrolled_window), height);
+ /*
+ * Queueing a resize out of size-allocate is ignored,
+ * so we have to defer to an idle.
+ */
+ g_idle_add (queue_resize, self->priv->scrolled_window);
+ }
}
static void
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]