[gimp/soc-2009-dynamics] Fix gimp_dynamics_editor_set_data() to really work this time



commit 6409ecb3899d8c968f3414efa6b77f70d260751a
Author: Michael Natterer <mitch gimp org>
Date:   Sat Oct 10 23:02:18 2009 +0200

    Fix gimp_dynamics_editor_set_data() to really work this time

 app/widgets/gimpdynamicseditor.c |   24 +++++++++++++++++-------
 1 files changed, 17 insertions(+), 7 deletions(-)
---
diff --git a/app/widgets/gimpdynamicseditor.c b/app/widgets/gimpdynamicseditor.c
index b19cf96..252c763 100644
--- a/app/widgets/gimpdynamicseditor.c
+++ b/app/widgets/gimpdynamicseditor.c
@@ -289,14 +289,24 @@ gimp_dynamics_editor_set_data (GimpDataEditor *editor,
 
   GIMP_DATA_EDITOR_CLASS (parent_class)->set_data (editor, data);
 
-  gimp_config_copy (GIMP_CONFIG (data),
-                    GIMP_CONFIG (dynamics_editor->dynamics_model),
-                    0);
-
   if (editor->data)
-    g_signal_connect (editor->data, "notify",
-                      G_CALLBACK (gimp_dynamics_editor_notify_data),
-                      editor);
+    {
+      g_signal_handlers_block_by_func (dynamics_editor->dynamics_model,
+                                       gimp_dynamics_editor_notify_model,
+                                       editor);
+
+      gimp_config_copy (GIMP_CONFIG (editor->data),
+                        GIMP_CONFIG (dynamics_editor->dynamics_model),
+                        0);
+
+      g_signal_handlers_unblock_by_func (dynamics_editor->dynamics_model,
+                                         gimp_dynamics_editor_notify_model,
+                                         editor);
+
+      g_signal_connect (editor->data, "notify",
+                        G_CALLBACK (gimp_dynamics_editor_notify_data),
+                        editor);
+    }
 }
 
 static void



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