[gimp] libgimpconfig: add GIMP_CONFIG_PARAM_DONT_COMPARE flag



commit c5c807d1913e1e342cf26860793869b7fd405a8b
Author: Ell <ell_se yahoo com>
Date:   Wed Apr 8 00:10:42 2020 +0300

    libgimpconfig: add GIMP_CONFIG_PARAM_DONT_COMPARE flag
    
    ... which excludes a property from comparison in the default
    implementation of GimpConfig::equal().

 app/core/gimpsymmetry.h           | 4 ++--
 libgimpconfig/gimpconfig-iface.c  | 7 +++++--
 libgimpconfig/gimpconfig-params.h | 7 +++++++
 3 files changed, 14 insertions(+), 4 deletions(-)
---
diff --git a/app/core/gimpsymmetry.h b/app/core/gimpsymmetry.h
index 94746625b5..ce7a9d3a31 100644
--- a/app/core/gimpsymmetry.h
+++ b/app/core/gimpsymmetry.h
@@ -25,8 +25,8 @@
 #include "gimpobject.h"
 
 
-/* shift one more than GIMP_CONFIG_PARAM_IGNORE */
-#define GIMP_SYMMETRY_PARAM_GUI (1 << (6 + G_PARAM_USER_SHIFT))
+/* shift one more than GIMP_CONFIG_PARAM_DONT_COMPARE */
+#define GIMP_SYMMETRY_PARAM_GUI (GIMP_CONFIG_PARAM_DONT_COMPARE << 1)
 
 
 #define GIMP_TYPE_SYMMETRY            (gimp_symmetry_get_type ())
diff --git a/libgimpconfig/gimpconfig-iface.c b/libgimpconfig/gimpconfig-iface.c
index dd04e0a59f..a366a83927 100644
--- a/libgimpconfig/gimpconfig-iface.c
+++ b/libgimpconfig/gimpconfig-iface.c
@@ -220,8 +220,11 @@ gimp_config_iface_equal (GimpConfig *a,
 
       prop_spec = property_specs[i];
 
-      if (! (prop_spec->flags & G_PARAM_READABLE))
-        continue;
+      if (! (prop_spec->flags & G_PARAM_READABLE) ||
+            (prop_spec->flags & GIMP_CONFIG_PARAM_DONT_COMPARE))
+        {
+          continue;
+        }
 
       g_value_init (&a_value, prop_spec->value_type);
       g_value_init (&b_value, prop_spec->value_type);
diff --git a/libgimpconfig/gimpconfig-params.h b/libgimpconfig/gimpconfig-params.h
index 15f95fab90..ed1df75600 100644
--- a/libgimpconfig/gimpconfig-params.h
+++ b/libgimpconfig/gimpconfig-params.h
@@ -76,6 +76,13 @@ G_BEGIN_DECLS
  **/
 #define GIMP_CONFIG_PARAM_IGNORE       (1 << (5 + G_PARAM_USER_SHIFT))
 
+/**
+ * GIMP_CONFIG_PARAM_DONT_COMPARE:
+ *
+ * Ignore this property when comparing objects.
+ **/
+#define GIMP_CONFIG_PARAM_DONT_COMPARE (1 << (6 + G_PARAM_USER_SHIFT))
+
 /**
  * GIMP_CONFIG_PARAM_FLAGS:
  *


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