]> Pileus Git - ~andy/gtk/blobdiff - gtk/gtkcsseasevalue.c
Ensure the insertion handle stays on fake events (eg from IM)
[~andy/gtk] / gtk / gtkcsseasevalue.c
index 2b57fa14c61b1fa1b0be8ac66b1c5010381ea847..81cdea8e37c93bd4d9a134a35be3f29f230e3261 100644 (file)
@@ -49,6 +49,17 @@ gtk_css_value_ease_free (GtkCssValue *value)
   g_slice_free (GtkCssValue, value);
 }
 
+static GtkCssValue *
+gtk_css_value_ease_compute (GtkCssValue             *value,
+                            guint                    property_id,
+                            GtkStyleProviderPrivate *provider,
+                            GtkCssComputedValues    *values,
+                            GtkCssComputedValues    *parent_values,
+                            GtkCssDependencies      *dependencies)
+{
+  return _gtk_css_value_ref (value);
+}
+
 static gboolean
 gtk_css_value_ease_equal (const GtkCssValue *ease1,
                           const GtkCssValue *ease2)
@@ -75,6 +86,7 @@ gtk_css_value_ease_equal (const GtkCssValue *ease1,
 static GtkCssValue *
 gtk_css_value_ease_transition (GtkCssValue *start,
                                GtkCssValue *end,
+                               guint        property_id,
                                double       progress)
 {
   return NULL;
@@ -125,6 +137,7 @@ gtk_css_value_ease_print (const GtkCssValue *ease,
 
 static const GtkCssValueClass GTK_CSS_VALUE_EASE = {
   gtk_css_value_ease_free,
+  gtk_css_value_ease_compute,
   gtk_css_value_ease_equal,
   gtk_css_value_ease_transition,
   gtk_css_value_ease_print
@@ -359,7 +372,7 @@ _gtk_css_ease_value_transform (const GtkCssValue *ease,
       }
     case GTK_CSS_EASE_STEPS:
       progress *= ease->u.steps.steps;
-      progress = floor (progress) + ease->u.steps.start ? 0 : 1;
+      progress = floor (progress) + (ease->u.steps.start ? 0 : 1);
       return progress / ease->u.steps.steps;
     default:
       g_assert_not_reached ();