aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthew Barnes <mbarnes@redhat.com>2010-07-30 10:05:27 +0800
committerMatthew Barnes <mbarnes@redhat.com>2010-07-30 11:32:53 +0800
commit71eff23a1d4f6d06b7bdd6a8fc38878d3bfeeb6a (patch)
tree0abc123d092629057e7a12318271bbb07c60556c
parent831cb20c977c941f8cf592e2ca8d0622e1a8c9e8 (diff)
downloadgsoc2013-evolution-71eff23a1d4f6d06b7bdd6a8fc38878d3bfeeb6a.tar
gsoc2013-evolution-71eff23a1d4f6d06b7bdd6a8fc38878d3bfeeb6a.tar.gz
gsoc2013-evolution-71eff23a1d4f6d06b7bdd6a8fc38878d3bfeeb6a.tar.bz2
gsoc2013-evolution-71eff23a1d4f6d06b7bdd6a8fc38878d3bfeeb6a.tar.lz
gsoc2013-evolution-71eff23a1d4f6d06b7bdd6a8fc38878d3bfeeb6a.tar.xz
gsoc2013-evolution-71eff23a1d4f6d06b7bdd6a8fc38878d3bfeeb6a.tar.zst
gsoc2013-evolution-71eff23a1d4f6d06b7bdd6a8fc38878d3bfeeb6a.zip
Bug 625624 - Customizations of contacts views forgotten
Found similar bugs in EShellMemoContent and EShellTaskContent.
-rw-r--r--addressbook/gui/widgets/e-addressbook-view.c6
-rw-r--r--modules/addressbook/e-book-shell-view-private.c5
-rw-r--r--modules/calendar/e-memo-shell-content.c5
-rw-r--r--modules/calendar/e-task-shell-content.c5
4 files changed, 18 insertions, 3 deletions
diff --git a/addressbook/gui/widgets/e-addressbook-view.c b/addressbook/gui/widgets/e-addressbook-view.c
index db9917f37f..ca767ecf92 100644
--- a/addressbook/gui/widgets/e-addressbook-view.c
+++ b/addressbook/gui/widgets/e-addressbook-view.c
@@ -577,9 +577,13 @@ addressbook_view_constructed (GObject *object)
g_signal_connect_swapped (
view_instance, "display-view",
G_CALLBACK (addressbook_view_display_view_cb), view);
- gal_view_instance_load (view_instance);
view->priv->view_instance = view_instance;
+ /* Do not call gal_view_instance_load() here. EBookShellContent
+ * must first obtain a reference to this EAddressbookView so that
+ * e_book_shell_content_get_current_view() returns the correct
+ * view in GalViewInstance::loaded signal handlers. */
+
g_free (uri);
}
diff --git a/modules/addressbook/e-book-shell-view-private.c b/modules/addressbook/e-book-shell-view-private.c
index 4482383331..746a11c4e7 100644
--- a/modules/addressbook/e-book-shell-view-private.c
+++ b/modules/addressbook/e-book-shell-view-private.c
@@ -303,6 +303,11 @@ book_shell_view_activate_selected_source (EBookShellView *book_shell_view,
E_ADDRESSBOOK_VIEW (widget));
view_instance = e_addressbook_view_get_view_instance (view);
+
+ /* This must come after e_book_shell_content_set_current_view()
+ * because book_shell_view_notify_view_id_cb() relies on it. */
+ gal_view_instance_load (view_instance);
+
view_id = gal_view_instance_get_current_view_id (view_instance);
e_shell_view_set_view_id (shell_view, view_id);
g_free (view_id);
diff --git a/modules/calendar/e-memo-shell-content.c b/modules/calendar/e-memo-shell-content.c
index 663920044c..cc17964f48 100644
--- a/modules/calendar/e-memo-shell-content.c
+++ b/modules/calendar/e-memo-shell-content.c
@@ -546,9 +546,12 @@ memo_shell_content_constructed (GObject *object)
view_instance, "display-view",
G_CALLBACK (memo_shell_content_display_view_cb),
object);
- gal_view_instance_load (view_instance);
priv->view_instance = view_instance;
+ /* Do this last so e_memo_shell_content_get_view_instance() returns
+ * the correct instance in GalViewInstance::loaded signal handlers. */
+ gal_view_instance_load (view_instance);
+
/* Restore pane positions from the last session once
* the shell view is fully initialized and visible. */
g_signal_connect (
diff --git a/modules/calendar/e-task-shell-content.c b/modules/calendar/e-task-shell-content.c
index bb2017fa8a..6b3f23eeb0 100644
--- a/modules/calendar/e-task-shell-content.c
+++ b/modules/calendar/e-task-shell-content.c
@@ -541,9 +541,12 @@ task_shell_content_constructed (GObject *object)
view_instance, "display-view",
G_CALLBACK (task_shell_content_display_view_cb),
object);
- gal_view_instance_load (view_instance);
priv->view_instance = view_instance;
+ /* Do this last so e_task_shell_content_get_view_instance() returns
+ * the correct instance in GalViewInstance::loaded signal handlers. */
+ gal_view_instance_load (view_instance);
+
/* Restore pane positions from the last session once
* the shell view is fully initialized and visible. */
g_signal_connect (