diff options
author | Srinivasa Ragavan <sragavan@src.gnome.org> | 2006-10-14 01:24:56 +0800 |
---|---|---|
committer | Srinivasa Ragavan <sragavan@src.gnome.org> | 2006-10-14 01:24:56 +0800 |
commit | 7da5e3a0ca096465a8768dc2c302972b68ff929b (patch) | |
tree | 8c9ea275183e5b2f35ec1e2c6f9b045094778c4f /shell/e-shell-window.c | |
parent | 7f05347fd2d4c62d8af472d08cca0d946e181618 (diff) | |
download | gsoc2013-evolution-7da5e3a0ca096465a8768dc2c302972b68ff929b.tar.gz gsoc2013-evolution-7da5e3a0ca096465a8768dc2c302972b68ff929b.tar.zst gsoc2013-evolution-7da5e3a0ca096465a8768dc2c302972b68ff929b.zip |
** Fix for bug #334966
svn path=/trunk/; revision=32869
Diffstat (limited to 'shell/e-shell-window.c')
-rw-r--r-- | shell/e-shell-window.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/shell/e-shell-window.c b/shell/e-shell-window.c index a133985461..4e2d73f81b 100644 --- a/shell/e-shell-window.c +++ b/shell/e-shell-window.c @@ -126,6 +126,7 @@ struct _EShellWindowPrivate { /* The timeout for saving the window size */ guint store_window_size_timer; + gboolean destroyed; }; @@ -838,6 +839,8 @@ impl_dispose (GObject *object) EShellWindow *self = E_SHELL_WINDOW (object); EShellWindowPrivate *priv = self->priv; + priv->destroyed = TRUE; + if (priv->shell != NULL) { g_object_remove_weak_pointer (G_OBJECT (priv->shell), (void **) &priv->shell); priv->shell = NULL; @@ -981,7 +984,8 @@ e_shell_window_init (EShellWindow *shell_window) priv->tooltips = gtk_tooltips_new (); priv->shell_view = e_shell_view_new(shell_window); - + priv->destroyed = FALSE; + shell_window->priv = priv; /** @HookPoint: Shell Main Menu @@ -1234,6 +1238,9 @@ e_shell_window_set_title(EShellWindow *window, const char *component_id, const c ComponentView *view = NULL; GSList *p; + if (priv->destroyed) + return; + for (p = priv->component_views; p != NULL; p = p->next) { ComponentView *this_view = p->data; |