From 0d2ce1a22cf93b412815ed50dfffde384cd2c5f4 Mon Sep 17 00:00:00 2001 From: Ettore Perazzoli Date: Fri, 5 Jul 2002 18:41:35 +0000 Subject: (startup_wizard_cancel): Unref the ETimezoneDialog. (finish_func): Likewise. svn path=/trunk/; revision=17375 --- shell/ChangeLog | 10 ++++++++++ shell/e-shell-startup-wizard.c | 14 ++++++++++++++ 2 files changed, 24 insertions(+) (limited to 'shell') diff --git a/shell/ChangeLog b/shell/ChangeLog index 819c4e0281..1542e8a4cf 100644 --- a/shell/ChangeLog +++ b/shell/ChangeLog @@ -1,3 +1,13 @@ +2002-07-05 Ettore Perazzoli + + [Fix #22047, Crash after running the start-up wizard. The patch + was applied a while ago to the evolution-1-0-branch but not on + the trunk.] + + * e-shell-startup-wizard.c (startup_wizard_cancel): Unref the + ETimezoneDialog. + (finish_func): Likewise. + 2002-07-03 Ettore Perazzoli [Fixes #27354.] diff --git a/shell/e-shell-startup-wizard.c b/shell/e-shell-startup-wizard.c index 33e3297bd6..3de62204dc 100644 --- a/shell/e-shell-startup-wizard.c +++ b/shell/e-shell-startup-wizard.c @@ -363,6 +363,12 @@ finish_func (GnomeDruidPage *page, /* Free data */ data->cancel = FALSE; + + /* Need to do this otherwise the timezone widget gets destroyed but the + timezone object isn't, and we can get a crash like #22047. */ + gtk_object_unref (GTK_OBJECT (data->timezone_page->etd)); + data->timezone_page->etd = NULL; + gtk_widget_destroy (data->dialog); gtk_main_quit (); @@ -816,6 +822,14 @@ startup_wizard_cancel (GnomeDruid *druid, { /* Free data */ data->cancel = TRUE; + + if (data->timezone_page->etd != NULL) { + /* Need to do this otherwise the timezone widget gets destroyed but the + timezone object isn't, and we can get a crash like #22047. */ + gtk_object_unref (GTK_OBJECT (data->timezone_page->etd)); + data->timezone_page->etd = NULL; + } + gtk_widget_destroy (data->dialog); gtk_main_quit (); } -- cgit v1.2.3