From 53bc8d15a75b7836669f0934fc694ed9a96058e8 Mon Sep 17 00:00:00 2001 From: Georges Basile Stavracas Neto Date: Wed, 17 Jun 2020 20:45:12 -0300 Subject: [PATCH] edit-dialog: Fake a cancel response when moving When moving an event to another calendar, the GcalEvent instance that is being held by GcalEditDialog is not valid one. On the other hand, moving an event shouldn't trigger an update either. For now, simply fake a GTK_RESPONSE_CANCEL. In the future, it'll be better to move most of the GcalWindow code to GcalEventDialog itself. --- src/gui/gcal-edit-dialog.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/gui/gcal-edit-dialog.c b/src/gui/gcal-edit-dialog.c index e49b61aa..46344c9c 100644 --- a/src/gui/gcal-edit-dialog.c +++ b/src/gui/gcal-edit-dialog.c @@ -926,11 +926,15 @@ on_action_button_clicked_cb (GtkWidget *widget, else { GcalCalendar *calendar; + gint response; apply_changes_to_event (self); + response = self->event_is_new ? GCAL_RESPONSE_CREATE_EVENT : GCAL_RESPONSE_SAVE_EVENT; + /* Update the source if needed */ calendar = gcal_event_get_calendar (self->event); + if (self->selected_calendar && calendar != self->selected_calendar) { if (self->event_is_new) @@ -942,14 +946,14 @@ on_action_button_clicked_cb (GtkWidget *widget, gcal_manager_move_event_to_source (gcal_context_get_manager (self->context), self->event, gcal_calendar_get_source (self->selected_calendar)); + response = GTK_RESPONSE_CANCEL; } } self->selected_calendar = NULL; /* Send the response */ - gtk_dialog_response (GTK_DIALOG (self), - self->event_is_new ? GCAL_RESPONSE_CREATE_EVENT : GCAL_RESPONSE_SAVE_EVENT); + gtk_dialog_response (GTK_DIALOG (self), response); } GCAL_EXIT;