From fa73bb5e903c81448ee4fdb939ef67e419804495 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Erick=20P=C3=A9rez=20Castellanos?= Date: Thu, 4 Jul 2013 17:13:51 -0400 Subject: [PATCH] gcal-window: fixed bug on events-modified signal On GcalDayView objects fail to reparent easily. --- src/gcal-window.c | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/src/gcal-window.c b/src/gcal-window.c index 08a0d123..29992553 100644 --- a/src/gcal-window.c +++ b/src/gcal-window.c @@ -966,13 +966,11 @@ gcal_window_events_added (GcalManager *manager, gcal_view_get_by_uuid (view, (gchar*)l->data) == NULL) { event = gcal_event_widget_new ((gchar*) l->data); - gcal_window_update_event_widget (manager, source_uid, event_uid, GCAL_EVENT_WIDGET (event)); gtk_widget_show (event); - gtk_container_add (GTK_CONTAINER (view), event); g_signal_connect (event, @@ -1058,23 +1056,24 @@ gcal_window_events_modified (GcalManager *manager, source_uid, event_uid); + gtk_widget_destroy (widget); + if (gcal_view_draw_event (GCAL_VIEW (priv->views[i]), start_date, end_date)) { + GtkWidget *event; + event = gcal_event_widget_new ((gchar*) l->data); gcal_window_update_event_widget (manager, source_uid, event_uid, - GCAL_EVENT_WIDGET (widget)); - g_object_ref (widget); - gtk_container_remove (GTK_CONTAINER (priv->views[i]), - widget); + GCAL_EVENT_WIDGET (event)); + gtk_widget_show (event); gtk_container_add (GTK_CONTAINER (priv->views[i]), - widget); - g_object_unref (widget); - } - else - { - gtk_widget_destroy (widget); + event); + g_signal_connect (event, + "activate", + G_CALLBACK (gcal_window_event_activated), + user_data); } g_free (start_date);