[evolution] I#1103 - iTip formatter: Ignore non-opaque events in the conflict search



commit afe601f1d5047ce2cc659f215b600876bce30fc7
Author: Milan Crha <mcrha redhat com>
Date:   Tue Sep 22 13:39:53 2020 +0200

    I#1103 - iTip formatter: Ignore non-opaque events in the conflict search
    
    Closes https://gitlab.gnome.org/GNOME/evolution/-/issues/1103

 src/modules/itip-formatter/itip-view.c | 22 +++++++++++++++++++++-
 1 file changed, 21 insertions(+), 1 deletion(-)
---
diff --git a/src/modules/itip-formatter/itip-view.c b/src/modules/itip-formatter/itip-view.c
index c9baa9612e..13fd2402f9 100644
--- a/src/modules/itip-formatter/itip-view.c
+++ b/src/modules/itip-formatter/itip-view.c
@@ -4206,7 +4206,27 @@ get_object_list_ready_cb (GObject *source_object,
                g_error_free (error);
 
        } else {
-               g_hash_table_insert (fd->conflicts, cal_client, objects);
+               GSList *link = objects;
+
+               while (link) {
+                       ICalComponent *icomp = link->data;
+                       ICalProperty *prop;
+
+                       link = g_slist_next (link);
+
+                       prop = icomp ? i_cal_component_get_first_property (icomp, I_CAL_TRANSP_PROPERTY) : 
NULL;
+
+                       /* Ignore non-opaque components in the conflict search */
+                       if (prop && i_cal_property_get_transp (prop) != I_CAL_TRANSP_OPAQUE && 
i_cal_property_get_transp (prop) != I_CAL_TRANSP_NONE) {
+                               objects = g_slist_remove (objects, icomp);
+                               g_object_unref (icomp);
+                       }
+
+                       g_clear_object (&prop);
+               }
+
+               if (objects)
+                       g_hash_table_insert (fd->conflicts, cal_client, objects);
        }
 
        e_cal_client_get_object (


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