[gimp/metadata-browser: 13/45] Block changed signals from the XMPModel.



commit be06d09260aea0d79a32c70d2872c22bbd199696
Author: Roman Joost <roman bromeco de>
Date:   Thu Sep 15 20:22:43 2011 +1000

    Block changed signals from the XMPModel.
    
    When setting properties from our XMPModel widget, avoid circular
    updating by subscribed changed events from the XMPModel.

 plug-ins/metadata/gimpxmpmodelwidget.c |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)
---
diff --git a/plug-ins/metadata/gimpxmpmodelwidget.c b/plug-ins/metadata/gimpxmpmodelwidget.c
index b287fbd..6b6fc41 100644
--- a/plug-ins/metadata/gimpxmpmodelwidget.c
+++ b/plug-ins/metadata/gimpxmpmodelwidget.c
@@ -337,11 +337,17 @@ gimp_xmp_model_widget_changed (GimpXmpModelWidget *widget,
        {
         current_value[1] = g_strdup (value);
        }
+      g_signal_handlers_block_by_func (priv->xmp_model,
+                                       gimp_xmp_model_widget_xmpmodel_changed,
+                                       widget);
       xmp_model_set_property (priv->xmp_model,
                               type,
                               priv->schema_uri,
                               priv->property_name,
                               current_value);
+      g_signal_handlers_unblock_by_func (priv->xmp_model,
+                                         gimp_xmp_model_widget_xmpmodel_changed,
+                                         widget);
       break;
 
     default:


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