diff options
-rw-r--r-- | shell/ChangeLog | 7 | ||||
-rw-r--r-- | shell/e-shell-window.c | 12 |
2 files changed, 18 insertions, 1 deletions
diff --git a/shell/ChangeLog b/shell/ChangeLog index d5e98a5053..454d25a3d3 100644 --- a/shell/ChangeLog +++ b/shell/ChangeLog @@ -1,3 +1,10 @@ +2006-09-28 Srinivasa Ragavan <sragavan@novell.com> + + ** Fix for bug #343331 + + * e-shell-window.c: (impl_dispose): Remove the timer which seem to get + activated after we destroy. + 2006-09-18 Matthew Barnes <mbarnes@redhat.com> ** Fixes #351332 diff --git a/shell/e-shell-window.c b/shell/e-shell-window.c index d5773baabd..a133985461 100644 --- a/shell/e-shell-window.c +++ b/shell/e-shell-window.c @@ -146,6 +146,7 @@ static GdkBitmap *offline_mask = NULL; static GdkPixmap *online_pixmap = NULL; static GdkBitmap *online_mask = NULL; +static gboolean store_window_size (GtkWidget* widget); /* ComponentView handling. */ @@ -834,7 +835,8 @@ setup_widgets (EShellWindow *window) static void impl_dispose (GObject *object) { - EShellWindowPrivate *priv = E_SHELL_WINDOW (object)->priv; + EShellWindow *self = E_SHELL_WINDOW (object); + EShellWindowPrivate *priv = self->priv; if (priv->shell != NULL) { g_object_remove_weak_pointer (G_OBJECT (priv->shell), (void **) &priv->shell); @@ -851,6 +853,14 @@ impl_dispose (GObject *object) priv->tooltips = NULL; } + if (priv->store_window_size_timer) { + g_source_remove (priv->store_window_size_timer); + self->priv->store_window_size_timer = 0; + + /* There was a timer. Let us store the settings.*/ + store_window_size (self); + } + #ifdef NM_SUPPORT_GLIB e_shell_nm_glib_dispose (E_SHELL_WINDOW (object)); #elif NM_SUPPORT |