diff options
author | Milan Crha <mcrha@redhat.com> | 2011-08-19 14:56:13 +0800 |
---|---|---|
committer | Rodrigo Moya <rodrigo@gnome-db.org> | 2011-09-14 20:08:51 +0800 |
commit | aaef7549c7f5a5a498ee5875678b15afcb8fd7f6 (patch) | |
tree | 60249e6db849f7df00dd072eefb2692c00b2be26 | |
parent | bf8737afa1f632f64e10c671ea3a335237692879 (diff) | |
download | gsoc2013-evolution-aaef7549c7f5a5a498ee5875678b15afcb8fd7f6.tar.gz gsoc2013-evolution-aaef7549c7f5a5a498ee5875678b15afcb8fd7f6.tar.zst gsoc2013-evolution-aaef7549c7f5a5a498ee5875678b15afcb8fd7f6.zip |
Bug #651633 - Hidden task/memo sidebar always automagically re-appears
-rw-r--r-- | widgets/misc/e-paned.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/widgets/misc/e-paned.c b/widgets/misc/e-paned.c index 1ddb83fdeb..b98dc1928d 100644 --- a/widgets/misc/e-paned.c +++ b/widgets/misc/e-paned.c @@ -240,6 +240,19 @@ paned_realize (GtkWidget *widget) priv->toplevel_ready = TRUE; } +static gboolean +paned_queue_resize_on_idle (gpointer user_data) +{ + GtkWidget *paned = user_data; + + g_return_val_if_fail (paned != NULL, FALSE); + + gtk_widget_queue_resize_no_redraw (paned); + g_object_unref (paned); + + return FALSE; +} + static void paned_size_allocate (GtkWidget *widget, GtkAllocation *allocation) @@ -282,6 +295,12 @@ paned_size_allocate (GtkWidget *widget, gtk_paned_set_position (GTK_PANED (paned), position); paned->priv->sync_request = SYNC_REQUEST_NONE; + + /* gtk_paned_set_position() calls queue_resize, which cannot + be called from size_allocate, thus call it on idle to take + the change in the effect. + */ + g_idle_add (paned_queue_resize_on_idle, g_object_ref (paned)); } static void |