diff options
Diffstat (limited to 'calendar')
-rw-r--r-- | calendar/ChangeLog | 6 | ||||
-rw-r--r-- | calendar/gncal-full-day.c | 18 | ||||
-rw-r--r-- | calendar/gui/gncal-full-day.c | 18 | ||||
-rw-r--r-- | calendar/gui/main.c | 2 | ||||
-rw-r--r-- | calendar/main.c | 2 |
5 files changed, 34 insertions, 12 deletions
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 <miguel@nuclecu.unam.mx> + * 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) |