diff options
author | Matthew Barnes <mbarnes@redhat.com> | 2009-06-20 06:43:29 +0800 |
---|---|---|
committer | Matthew Barnes <mbarnes@redhat.com> | 2009-06-20 06:43:29 +0800 |
commit | f4d748a85c534cb8a693b6a1f1b3353adfd73b5b (patch) | |
tree | 2a793f70989026a6b8706215e0ddefb413022d7c | |
parent | 94ec01deda562c323ead315c4ea48043db68b8d0 (diff) | |
download | gsoc2013-evolution-f4d748a85c534cb8a693b6a1f1b3353adfd73b5b.tar.gz gsoc2013-evolution-f4d748a85c534cb8a693b6a1f1b3353adfd73b5b.tar.zst gsoc2013-evolution-f4d748a85c534cb8a693b6a1f1b3353adfd73b5b.zip |
Fix similar weak pointer issues throughout.
-rw-r--r-- | calendar/gui/dialogs/comp-editor.c | 6 | ||||
-rw-r--r-- | calendar/gui/e-calendar-table.c | 6 | ||||
-rw-r--r-- | calendar/gui/e-memo-table.c | 6 | ||||
-rw-r--r-- | mail/e-mail-reader.c | 2 | ||||
-rw-r--r-- | mail/em-folder-tree-model.c | 6 | ||||
-rw-r--r-- | shell/e-shell-backend.c | 6 | ||||
-rw-r--r-- | shell/e-shell-window-private.c | 6 | ||||
-rw-r--r-- | shell/e-shell.c | 6 |
8 files changed, 43 insertions, 1 deletions
diff --git a/calendar/gui/dialogs/comp-editor.c b/calendar/gui/dialogs/comp-editor.c index 268f61ac03..64f80b4557 100644 --- a/calendar/gui/dialogs/comp-editor.c +++ b/calendar/gui/dialogs/comp-editor.c @@ -1314,6 +1314,12 @@ comp_editor_dispose (GObject *object) priv = COMP_EDITOR_GET_PRIVATE (object); + if (priv->shell != NULL) { + g_object_remove_weak_pointer ( + G_OBJECT (priv->shell), &priv->shell); + priv->shell = NULL; + } + if (priv->client) { g_object_unref (priv->client); priv->client = NULL; diff --git a/calendar/gui/e-calendar-table.c b/calendar/gui/e-calendar-table.c index 3c11aa7238..7771be234f 100644 --- a/calendar/gui/e-calendar-table.c +++ b/calendar/gui/e-calendar-table.c @@ -595,6 +595,12 @@ calendar_table_dispose (GObject *object) priv = E_CALENDAR_TABLE_GET_PRIVATE (object); + if (priv->shell_view != NULL) { + g_object_remove_weak_pointer ( + G_OBJECT (priv->shell_view), &priv->shell_view); + priv->shell_view = NULL; + } + if (priv->model != NULL) { g_object_unref (priv->model); priv->model = NULL; diff --git a/calendar/gui/e-memo-table.c b/calendar/gui/e-memo-table.c index 4ad24e5a34..4c6cd9b865 100644 --- a/calendar/gui/e-memo-table.c +++ b/calendar/gui/e-memo-table.c @@ -519,6 +519,12 @@ memo_table_dispose (GObject *object) priv = E_MEMO_TABLE_GET_PRIVATE (object); + if (priv->shell_view != NULL) { + g_object_remove_weak_pointer ( + G_OBJECT (priv->shell_view), &priv->shell_view); + priv->shell_view = NULL; + } + if (priv->model != NULL) { g_object_unref (priv->model); priv->model = NULL; diff --git a/mail/e-mail-reader.c b/mail/e-mail-reader.c index edea7cfa6f..9f07ae32a0 100644 --- a/mail/e-mail-reader.c +++ b/mail/e-mail-reader.c @@ -331,7 +331,7 @@ action_mail_flag_for_followup_cb (GtkAction *action, folder = message_list->folder; uids = message_list_get_selected (message_list); - em_utils_flag_for_followup (window, folder, uids); + em_utils_flag_for_followup (reader, folder, uids); } static void diff --git a/mail/em-folder-tree-model.c b/mail/em-folder-tree-model.c index d7c5261a7c..9c3ef60397 100644 --- a/mail/em-folder-tree-model.c +++ b/mail/em-folder-tree-model.c @@ -311,6 +311,12 @@ folder_tree_model_dispose (GObject *object) priv = EM_FOLDER_TREE_MODEL_GET_PRIVATE (object); + if (priv->shell_backend != NULL) { + g_object_remove_weak_pointer ( + G_OBJECT (priv->shell_backend), &priv->shell_backend); + priv->shell_backend = NULL; + } + if (priv->selection != NULL) { g_object_weak_unref ( G_OBJECT (priv->selection), (GWeakNotify) diff --git a/shell/e-shell-backend.c b/shell/e-shell-backend.c index 06e1469f58..9ee2edb4dc 100644 --- a/shell/e-shell-backend.c +++ b/shell/e-shell-backend.c @@ -116,6 +116,12 @@ shell_backend_dispose (GObject *object) priv = E_SHELL_BACKEND_GET_PRIVATE (object); + if (priv->shell != NULL) { + g_object_remove_weak_pointer ( + G_OBJECT (priv->shell), &priv->shell); + priv->shell = NULL; + } + if (priv->shell_view_class != NULL) { g_type_class_unref (priv->shell_view_class); priv->shell_view_class = NULL; diff --git a/shell/e-shell-window-private.c b/shell/e-shell-window-private.c index bb74e35ced..71617433d1 100644 --- a/shell/e-shell-window-private.c +++ b/shell/e-shell-window-private.c @@ -449,6 +449,12 @@ e_shell_window_private_dispose (EShellWindow *shell_window) priv->signal_handler_ids = NULL; } + if (priv->shell != NULL) { + g_object_remove_weak_pointer ( + G_OBJECT (priv->shell), &priv->shell); + priv->shell = NULL; + } + DISPOSE (priv->ui_manager); g_hash_table_remove_all (priv->loaded_views); diff --git a/shell/e-shell.c b/shell/e-shell.c index 785485320f..547432bc2d 100644 --- a/shell/e-shell.c +++ b/shell/e-shell.c @@ -484,6 +484,12 @@ shell_dispose (GObject *object) g_list_free (priv->loaded_backends); priv->loaded_backends = NULL; + if (priv->preparing_for_line_change != NULL) { + g_object_remove_weak_pointer ( + G_OBJECT (priv->preparing_for_line_change), + &priv->preparing_for_line_change); + } + /* Chain up to parent's dispose() method. */ G_OBJECT_CLASS (parent_class)->dispose (object); } |