aboutsummaryrefslogtreecommitdiffstats
path: root/calendar/gui/eventedit.c
diff options
context:
space:
mode:
authorDamon Chaplin <damon@helixcode.com>2000-05-06 18:43:14 +0800
committerDamon Chaplin <damon@src.gnome.org>2000-05-06 18:43:14 +0800
commit10ee8953e2d461f3164cbc32784af1ab887aa0c7 (patch)
treee4604f9a32f3e0b569e566216d4d2a969734a23d /calendar/gui/eventedit.c
parent154973985a05b17e29e1588adccaee0c17dd11d5 (diff)
downloadgsoc2013-evolution-10ee8953e2d461f3164cbc32784af1ab887aa0c7.tar
gsoc2013-evolution-10ee8953e2d461f3164cbc32784af1ab887aa0c7.tar.gz
gsoc2013-evolution-10ee8953e2d461f3164cbc32784af1ab887aa0c7.tar.bz2
gsoc2013-evolution-10ee8953e2d461f3164cbc32784af1ab887aa0c7.tar.lz
gsoc2013-evolution-10ee8953e2d461f3164cbc32784af1ab887aa0c7.tar.xz
gsoc2013-evolution-10ee8953e2d461f3164cbc32784af1ab887aa0c7.tar.zst
gsoc2013-evolution-10ee8953e2d461f3164cbc32784af1ab887aa0c7.zip
added guint ref_count to iCalObject struct, and ical_object_ref/unref()
2000-05-06 Damon Chaplin <damon@helixcode.com> * cal-util/calobj.[hc]: added guint ref_count to iCalObject struct, and ical_object_ref/unref() functions. I've updated all the gui/ stuff to use ref_counts but I haven't touched the pcs/ stuff. Maybe just using ical_object_destroy() is OK there. * gui/gncal-todo.c: * gui/calendar-commands.c: * gui/eventedit.c: * gui/e-week-view.c: * gui/e-day-view.c: use refcounting for iCalObjects. * gui/e-day-view-main-item.c: * gui/e-day-view-top-item.c: * gui/e-day-view.c: try not to ever draw outside the event, even when the event is very small. 2000-05-05 Damon Chaplin <damon@helixcode.com> * gui/e-day-view.c: don't allow recurring events to be resized or dragged, and don't show the resize/drag cursors. Actually it may be better to let the user do the resize/drag and then ask them what they want to do - change the single occurrence or the entire series. * gui/e-day-view-time-item.c (e_day_view_time_item_show_popup_menu): use e_auto_kill_popup_menu_on_hide() to destroy the popup menu. * gui/popup-menu.c: include e-gui-utils.h svn path=/trunk/; revision=2823
Diffstat (limited to 'calendar/gui/eventedit.c')
-rw-r--r--calendar/gui/eventedit.c15
1 files changed, 8 insertions, 7 deletions
diff --git a/calendar/gui/eventedit.c b/calendar/gui/eventedit.c
index ae18f485fd..7ad4afb8cb 100644
--- a/calendar/gui/eventedit.c
+++ b/calendar/gui/eventedit.c
@@ -760,11 +760,10 @@ ee_ok (GtkWidget *widget, EventEditor *ee)
static void
ee_cancel (GtkWidget *widget, EventEditor *ee)
{
- if (ee->ical->new) {
- ical_object_destroy (ee->ical);
- ee->ical = NULL;
- }
-
+ if (ee->ical) {
+ ical_object_unref (ee->ical);
+ ee->ical = NULL;
+ }
}
static void
@@ -1519,7 +1518,7 @@ event_editor_destroy (GtkObject *object)
ee = EVENT_EDITOR (object);
if (ee->ical) {
- ical_object_destroy (ee->ical);
+ ical_object_unref (ee->ical);
ee->ical = NULL;
}
}
@@ -1539,7 +1538,9 @@ event_editor_new (GnomeCalendar *gcal, iCalObject *ical)
if (ical == 0){
ical = ical_new ("", user_name, "");
ical->new = 1;
- }
+ } else {
+ ical_object_ref (ical);
+ }
if (ical->new){
gtk_window_set_title (GTK_WINDOW (ee), _("Create new appointment"));