[evolution] I#837 - Calendar List View: Cancel of changes not reverted in GUI



commit 78d6413eb288b46f7c44ea54f6436665940daff0
Author: Milan Crha <mcrha redhat com>
Date:   Wed Mar 18 09:19:45 2020 +0100

    I#837 - Calendar List View: Cancel of changes not reverted in GUI
    
    Closes https://gitlab.gnome.org/GNOME/evolution/issues/837

 src/calendar/gui/e-cal-dialogs.c | 12 +++++-------
 src/calendar/gui/e-cal-model.c   |  6 +++---
 2 files changed, 8 insertions(+), 10 deletions(-)
---
diff --git a/src/calendar/gui/e-cal-dialogs.c b/src/calendar/gui/e-cal-dialogs.c
index 63a4dd57c9..4ed27daaae 100644
--- a/src/calendar/gui/e-cal-dialogs.c
+++ b/src/calendar/gui/e-cal-dialogs.c
@@ -958,17 +958,15 @@ e_cal_dialogs_recur_icalcomp (ECalClient *client,
 
        g_return_val_if_fail (icomp != NULL, FALSE);
 
-       comp = e_cal_component_new_from_icalcomponent (i_cal_component_clone (icomp));
-       if (!comp)
-               return FALSE;
-
-       if (!e_cal_component_is_instance (comp)) {
+       if (!e_cal_util_component_is_instance (icomp)) {
                *mod = E_CAL_OBJ_MOD_ALL;
-               g_object_unref (comp);
-
                return TRUE;
        }
 
+       comp = e_cal_component_new_from_icalcomponent (i_cal_component_clone (icomp));
+       if (!comp)
+               return FALSE;
+
        res = e_cal_dialogs_recur_component (client, comp, mod, parent, delegated);
 
        g_object_unref (comp);
diff --git a/src/calendar/gui/e-cal-model.c b/src/calendar/gui/e-cal-model.c
index 1e3ef7e3a3..b0ec598b2b 100644
--- a/src/calendar/gui/e-cal-model.c
+++ b/src/calendar/gui/e-cal-model.c
@@ -1652,6 +1652,9 @@ cal_model_set_value_at (ETableModel *etm,
        comp_data = g_ptr_array_index (priv->objects, row);
        g_return_if_fail (comp_data != NULL);
 
+       if (!e_cal_dialogs_recur_icalcomp (comp_data->client, comp_data->icalcomp, &mod, NULL, FALSE))
+               return;
+
        switch (col) {
        case E_CAL_MODEL_FIELD_CATEGORIES :
                set_categories (comp_data, value);
@@ -1670,9 +1673,6 @@ cal_model_set_value_at (ETableModel *etm,
                break;
        }
 
-       if (!e_cal_dialogs_recur_icalcomp (comp_data->client, comp_data->icalcomp, &mod, NULL, FALSE))
-               return;
-
        e_cal_ops_modify_component (model, comp_data->client, comp_data->icalcomp, mod, 
E_CAL_OPS_SEND_FLAG_DONT_SEND);
 }
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]