aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--shell/ChangeLog7
-rw-r--r--shell/e-shell-window.c12
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