[gimp] app: Make dynamics output curve getting work right.



commit 902e49fcc83581b3b9a2e22ad6d2cd5e5e4d9a61
Author: Alexia Death <alexiadeath gmail com>
Date:   Tue Feb 23 16:58:58 2010 +0200

    app: Make dynamics output curve getting work right.

 app/core/gimpdynamicsoutput.c |   32 ++++++++++++++++++++++++++------
 1 files changed, 26 insertions(+), 6 deletions(-)
---
diff --git a/app/core/gimpdynamicsoutput.c b/app/core/gimpdynamicsoutput.c
index f89a56a..6ebcd8c 100644
--- a/app/core/gimpdynamicsoutput.c
+++ b/app/core/gimpdynamicsoutput.c
@@ -72,6 +72,8 @@ static void   gimp_dynamics_output_get_property (GObject      *object,
                                                  guint         property_id,
                                                  GValue       *value,
                                                  GParamSpec   *pspec);
+static void   gimp_dynamics_output_copy_curve(   GimpCurve *src,
+                                                 GimpCurve *dest);
 
 
 G_DEFINE_TYPE_WITH_CODE (GimpDynamicsOutput, gimp_dynamics_output,
@@ -225,27 +227,33 @@ gimp_dynamics_output_set_property (GObject      *object,
       break;
 
     case PROP_PRESSURE_CURVE:
-      output->pressure_curve = g_value_get_object (value);
+      gimp_dynamics_output_copy_curve (g_value_get_object (value),
+                                       output->pressure_curve);
       break;
 
     case PROP_VELOCITY_CURVE:
-      output->velocity_curve = g_value_get_object (value);
+      gimp_dynamics_output_copy_curve (g_value_get_object (value),
+                                       output->velocity_curve);
       break;
 
     case PROP_DIRECTION_CURVE:
-      output->direction_curve = g_value_get_object (value);
+      gimp_dynamics_output_copy_curve (g_value_get_object (value),
+                                       output->direction_curve);
       break;
 
     case PROP_TILT_CURVE:
-      output->tilt_curve = g_value_get_object (value);
+      gimp_dynamics_output_copy_curve (g_value_get_object (value),
+                                       output->tilt_curve);
       break;
 
     case PROP_RANDOM_CURVE:
-      output->random_curve = g_value_get_object (value);
+      gimp_dynamics_output_copy_curve (g_value_get_object (value),
+                                       output->random_curve);
       break;
 
     case PROP_FADE_CURVE:
-      output->fade_curve = g_value_get_object (value);
+      gimp_dynamics_output_copy_curve (g_value_get_object (value),
+                                       output->fade_curve);
       break;
 
     default:
@@ -582,3 +590,15 @@ gimp_dynamics_output_get_aspect_value (GimpDynamicsOutput *output,
 
   return result;
 }
+
+static void
+gimp_dynamics_output_copy_curve(GimpCurve *src,
+                                GimpCurve *dest)
+{
+    if (src && dest)
+    {
+      gimp_config_copy (GIMP_CONFIG (src),
+                        GIMP_CONFIG (dest),
+                        GIMP_CONFIG_PARAM_SERIALIZE);
+    }
+}



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