gcal-window: fixed bug on events-modified signal

On GcalDayView objects fail to reparent easily.
This commit is contained in:
Erick Pérez Castellanos
2014-12-04 17:10:31 -05:00
parent 78b4a9c879
commit fa73bb5e90
+11 -12
View File
@@ -966,13 +966,11 @@ gcal_window_events_added (GcalManager *manager,
gcal_view_get_by_uuid (view, (gchar*)l->data) == NULL) gcal_view_get_by_uuid (view, (gchar*)l->data) == NULL)
{ {
event = gcal_event_widget_new ((gchar*) l->data); event = gcal_event_widget_new ((gchar*) l->data);
gcal_window_update_event_widget (manager, gcal_window_update_event_widget (manager,
source_uid, source_uid,
event_uid, event_uid,
GCAL_EVENT_WIDGET (event)); GCAL_EVENT_WIDGET (event));
gtk_widget_show (event); gtk_widget_show (event);
gtk_container_add (GTK_CONTAINER (view), event); gtk_container_add (GTK_CONTAINER (view), event);
g_signal_connect (event, g_signal_connect (event,
@@ -1058,23 +1056,24 @@ gcal_window_events_modified (GcalManager *manager,
source_uid, source_uid,
event_uid); event_uid);
gtk_widget_destroy (widget);
if (gcal_view_draw_event (GCAL_VIEW (priv->views[i]), if (gcal_view_draw_event (GCAL_VIEW (priv->views[i]),
start_date, end_date)) start_date, end_date))
{ {
GtkWidget *event;
event = gcal_event_widget_new ((gchar*) l->data);
gcal_window_update_event_widget (manager, gcal_window_update_event_widget (manager,
source_uid, source_uid,
event_uid, event_uid,
GCAL_EVENT_WIDGET (widget)); GCAL_EVENT_WIDGET (event));
g_object_ref (widget); gtk_widget_show (event);
gtk_container_remove (GTK_CONTAINER (priv->views[i]),
widget);
gtk_container_add (GTK_CONTAINER (priv->views[i]), gtk_container_add (GTK_CONTAINER (priv->views[i]),
widget); event);
g_object_unref (widget); g_signal_connect (event,
} "activate",
else G_CALLBACK (gcal_window_event_activated),
{ user_data);
gtk_widget_destroy (widget);
} }
g_free (start_date); g_free (start_date);