[evolution/gnome-3-8] ECalShellSidebar: Update selector rows after restoring state.



commit 5fd31363576e94644827f56bccf5c61387b2008f
Author: Matthew Barnes <mbarnes redhat com>
Date:   Mon Jun 10 12:19:38 2013 -0400

    ECalShellSidebar: Update selector rows after restoring state.
    
    Call e_source_selector_update_all_rows() after connecting to the
    selector tree model's "row-changed" signal.  This will ensure the
    appropriate ECalClients get loaded into the ECalModel.
    
    This fixes the bug where opening a second Calendar window shows no
    content until one of the sidebar items is fiddled with.
    
    (cherry picked from commit b28f6f1d997c2b674c7a9917b8262cdfdeff2d95)

 modules/calendar/e-cal-shell-sidebar.c |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)
---
diff --git a/modules/calendar/e-cal-shell-sidebar.c b/modules/calendar/e-cal-shell-sidebar.c
index 6e9e685..3b4731e 100644
--- a/modules/calendar/e-cal-shell-sidebar.c
+++ b/modules/calendar/e-cal-shell-sidebar.c
@@ -403,6 +403,12 @@ cal_shell_sidebar_restore_state_cb (EShellWindow *shell_window,
                G_CALLBACK (cal_shell_sidebar_primary_selection_changed_cb),
                shell_sidebar);
 
+       /* This will trigger our "row-changed" signal handler for each
+        * calendar source, so the appropriate ECalClients get added to
+        * the ECalModel, which will then create view objects to display
+        * the calendar content.  This all happens asynchronously. */
+       e_source_selector_update_all_rows (selector);
+
        /* Bind GObject properties to settings keys. */
 
        settings = g_settings_new ("org.gnome.evolution.calendar");


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]