interval: Compute progress for signed char
authorEmmanuele Bassi <ebassi@linux.intel.com>
Mon, 18 Jun 2012 16:53:26 +0000 (17:53 +0100)
committerEmmanuele Bassi <ebassi@linux.intel.com>
Mon, 18 Jun 2012 17:04:54 +0000 (18:04 +0100)
Not just for unsigned ones, though both are pretty pointless.

clutter/clutter-interval.c

index 8bace27..96d3122 100644 (file)
@@ -292,6 +292,21 @@ clutter_interval_real_compute_value (ClutterInterval *interval,
       }
       break;
 
+    case G_TYPE_CHAR:
+      {
+        gchar ia, ib, res;
+
+        ia = g_value_get_schar (initial);
+        ib = g_value_get_schar (final);
+
+        res = (factor * (ib - (gdouble) ia)) + ia;
+
+        g_value_set_schar (value, res);
+
+        retval = TRUE;
+      }
+      break;
+
     case G_TYPE_UINT:
       {
         guint ia, ib, res;
@@ -369,7 +384,7 @@ clutter_interval_real_compute_value (ClutterInterval *interval,
    * a warning with a hint to what could be done to fix that */
   if (G_UNLIKELY (retval == FALSE))
     {
-      g_warning ("%s: Could not compute progress between two %ss. You can "
+      g_warning ("%s: Could not compute progress between two %s. You can "
                  "register a progress function to instruct ClutterInterval "
                  "how to deal with this GType",
                  G_STRLOC,