diff options
-rw-r--r-- | widgets/table/e-table.c | 12 | ||||
-rw-r--r-- | widgets/table/e-tree.c | 14 |
2 files changed, 15 insertions, 11 deletions
diff --git a/widgets/table/e-table.c b/widgets/table/e-table.c index 61e911f4ea..d9afb4804f 100644 --- a/widgets/table/e-table.c +++ b/widgets/table/e-table.c @@ -2462,11 +2462,13 @@ static void context_destroyed (gpointer data) { ETable *et = data; - et->last_drop_x = 0; - et->last_drop_y = 0; - et->last_drop_time = 0; - et->last_drop_context = NULL; - scroll_off (et); + if (!GTK_OBJECT_DESTROYED (et)) { + et->last_drop_x = 0; + et->last_drop_y = 0; + et->last_drop_time = 0; + et->last_drop_context = NULL; + scroll_off (et); + } gtk_object_unref (GTK_OBJECT (et)); } diff --git a/widgets/table/e-tree.c b/widgets/table/e-tree.c index 300644f750..3e15e1db94 100644 --- a/widgets/table/e-tree.c +++ b/widgets/table/e-tree.c @@ -2375,12 +2375,14 @@ static void context_destroyed (gpointer data) { ETree *et = data; - et->priv->last_drop_x = 0; - et->priv->last_drop_y = 0; - et->priv->last_drop_time = 0; - et->priv->last_drop_context = NULL; - scroll_off (et); - hover_off (et); + if (et->priv) { + et->priv->last_drop_x = 0; + et->priv->last_drop_y = 0; + et->priv->last_drop_time = 0; + et->priv->last_drop_context = NULL; + scroll_off (et); + hover_off (et); + } gtk_object_unref (GTK_OBJECT (et)); } |