diff options
author | Ettore Perazzoli <ettore@src.gnome.org> | 2002-07-06 02:41:35 +0800 |
---|---|---|
committer | Ettore Perazzoli <ettore@src.gnome.org> | 2002-07-06 02:41:35 +0800 |
commit | 0d2ce1a22cf93b412815ed50dfffde384cd2c5f4 (patch) | |
tree | 41ed880e40efe723636d74b106b613cdd21cac5f /shell/e-shell-startup-wizard.c | |
parent | 41a5db238a6c904d95eada0015ccbed5b4a9e4d9 (diff) | |
download | gsoc2013-evolution-0d2ce1a22cf93b412815ed50dfffde384cd2c5f4.tar.gz gsoc2013-evolution-0d2ce1a22cf93b412815ed50dfffde384cd2c5f4.tar.zst gsoc2013-evolution-0d2ce1a22cf93b412815ed50dfffde384cd2c5f4.zip |
(startup_wizard_cancel): Unref the
ETimezoneDialog.
(finish_func): Likewise.
svn path=/trunk/; revision=17375
Diffstat (limited to 'shell/e-shell-startup-wizard.c')
-rw-r--r-- | shell/e-shell-startup-wizard.c | 14 |
1 files changed, 14 insertions, 0 deletions
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 (); } |