From 9dd60a1845bdb3c0f3a5acd7f0475bfc5f0e8707 Mon Sep 17 00:00:00 2001 From: Miguel de Icaza Date: Tue, 26 May 1998 03:51:49 +0000 Subject: Fix the gc destruction in the unrealization code and fix the pixmap 1998-05-25 Miguel de Icaza * gncal-full-day.c (gncal_full_day_unrealize): Fix the gc destruction in the unrealization code and fix the pixmap unrefing. * main.c (close_cmd): Remove a bad hack that disabled calendar widget destruction. svn path=/trunk/; revision=238 --- calendar/ChangeLog | 6 ++++++ calendar/gncal-full-day.c | 18 +++++++++++++----- calendar/gui/gncal-full-day.c | 18 +++++++++++++----- calendar/gui/main.c | 2 +- calendar/main.c | 2 +- 5 files changed, 34 insertions(+), 12 deletions(-) (limited to 'calendar') diff --git a/calendar/ChangeLog b/calendar/ChangeLog index 930e23585a..38dd97b5b7 100644 --- a/calendar/ChangeLog +++ b/calendar/ChangeLog @@ -1,5 +1,11 @@ 1998-05-25 Miguel de Icaza + * gncal-full-day.c (gncal_full_day_unrealize): Fix the gc + destruction in the unrealization code and fix the pixmap unrefing. + + * main.c (close_cmd): Remove a bad hack that disabled calendar + widget destruction. + * calobj.c (ical_object_generate_events): Fix for the weekly event generation. Was reported on the bug tracking system. diff --git a/calendar/gncal-full-day.c b/calendar/gncal-full-day.c index 41d217cb6e..618d1c039d 100644 --- a/calendar/gncal-full-day.c +++ b/calendar/gncal-full-day.c @@ -1150,12 +1150,20 @@ gncal_full_day_unrealize (GtkWidget *widget) gdk_cursor_destroy (fullday->beam_cursor); fullday->beam_cursor = NULL; - gdk_gc_destroy (fullday->bell_gc); - gdk_gc_destroy (fullday->recur_gc); - gdk_pixmap_unref (pixmap_bell); - gdk_pixmap_unref (pixmap_recur); + if (fullday->bell_gc) + gdk_gc_destroy (fullday->bell_gc); + if (fullday->recur_gc) + gdk_gc_destroy (fullday->recur_gc); + + if (pixmap_bell){ + gdk_pixmap_unref (pixmap_bell); + pixmap_bell = NULL; + } - pixmap_bell = NULL; + if (pixmap_recur){ + gdk_pixmap_unref (pixmap_recur); + pixmap_recur = NULL; + } if (GTK_WIDGET_CLASS (parent_class)->unrealize) (* GTK_WIDGET_CLASS (parent_class)->unrealize) (widget); diff --git a/calendar/gui/gncal-full-day.c b/calendar/gui/gncal-full-day.c index 41d217cb6e..618d1c039d 100644 --- a/calendar/gui/gncal-full-day.c +++ b/calendar/gui/gncal-full-day.c @@ -1150,12 +1150,20 @@ gncal_full_day_unrealize (GtkWidget *widget) gdk_cursor_destroy (fullday->beam_cursor); fullday->beam_cursor = NULL; - gdk_gc_destroy (fullday->bell_gc); - gdk_gc_destroy (fullday->recur_gc); - gdk_pixmap_unref (pixmap_bell); - gdk_pixmap_unref (pixmap_recur); + if (fullday->bell_gc) + gdk_gc_destroy (fullday->bell_gc); + if (fullday->recur_gc) + gdk_gc_destroy (fullday->recur_gc); + + if (pixmap_bell){ + gdk_pixmap_unref (pixmap_bell); + pixmap_bell = NULL; + } - pixmap_bell = NULL; + if (pixmap_recur){ + gdk_pixmap_unref (pixmap_recur); + pixmap_recur = NULL; + } if (GTK_WIDGET_CLASS (parent_class)->unrealize) (* GTK_WIDGET_CLASS (parent_class)->unrealize) (widget); diff --git a/calendar/gui/main.c b/calendar/gui/main.c index dec25e737c..bdb6a0d1c3 100644 --- a/calendar/gui/main.c +++ b/calendar/gui/main.c @@ -173,7 +173,7 @@ close_cmd (GtkWidget *widget, GnomeCalendar *gcal) calendar_save (gcal->cal, gcal->cal->filename); } -/* gtk_widget_destroy (GTK_WIDGET (gcal)); */ + gtk_widget_destroy (GTK_WIDGET (gcal)); active_calendars--; if (active_calendars == 0) diff --git a/calendar/main.c b/calendar/main.c index dec25e737c..bdb6a0d1c3 100644 --- a/calendar/main.c +++ b/calendar/main.c @@ -173,7 +173,7 @@ close_cmd (GtkWidget *widget, GnomeCalendar *gcal) calendar_save (gcal->cal, gcal->cal->filename); } -/* gtk_widget_destroy (GTK_WIDGET (gcal)); */ + gtk_widget_destroy (GTK_WIDGET (gcal)); active_calendars--; if (active_calendars == 0) -- cgit