diff options
author | Michael Meeks <michael.meeks@novell.com> | 2010-03-14 03:48:21 +0800 |
---|---|---|
committer | Michael Meeks <michael.meeks@novell.com> | 2010-03-14 04:54:14 +0800 |
commit | f767cb847bebc3b9935137076d7e43f44f029029 (patch) | |
tree | 05be3c4fc9a57d87856be19982d007cc10b09c85 /modules | |
parent | 13dd2b58d5adf127e609af25757c53637f4add07 (diff) | |
download | gsoc2013-evolution-f767cb847bebc3b9935137076d7e43f44f029029.tar gsoc2013-evolution-f767cb847bebc3b9935137076d7e43f44f029029.tar.gz gsoc2013-evolution-f767cb847bebc3b9935137076d7e43f44f029029.tar.bz2 gsoc2013-evolution-f767cb847bebc3b9935137076d7e43f44f029029.tar.lz gsoc2013-evolution-f767cb847bebc3b9935137076d7e43f44f029029.tar.xz gsoc2013-evolution-f767cb847bebc3b9935137076d7e43f44f029029.tar.zst gsoc2013-evolution-f767cb847bebc3b9935137076d7e43f44f029029.zip |
Fix GnomeCalendar lifecycle; not being a widget meant we didn't
get a gtk_widget_destroy invocation, which meant we left some
callbacks registered, long after our child 'views' were destroyed
causing sudden death in update_marcus_bains_line_cb, manipulating
views.
Diffstat (limited to 'modules')
-rw-r--r-- | modules/calendar/e-cal-shell-content.c | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/modules/calendar/e-cal-shell-content.c b/modules/calendar/e-cal-shell-content.c index 67081ce978..bffa39a35e 100644 --- a/modules/calendar/e-cal-shell-content.c +++ b/modules/calendar/e-cal-shell-content.c @@ -204,6 +204,7 @@ cal_shell_content_dispose (GObject *object) } if (priv->calendar != NULL) { + gnome_calendar_dispose (priv->calendar); g_object_unref (priv->calendar); priv->calendar = NULL; } @@ -324,10 +325,7 @@ cal_shell_content_constructed (GObject *object) /* Add views in the order defined by GnomeCalendarViewType, such * that the notebook page number corresponds to the view type. */ - /* XXX GnomeCalendar is a widget, but we don't pack it. - * Maybe it should just be a GObject instead? */ priv->calendar = gnome_calendar_new (shell_settings); - g_object_ref_sink (priv->calendar); calendar = GNOME_CALENDAR (priv->calendar); for (ii = 0; ii < GNOME_CAL_LAST_VIEW; ii++) { |