[gimp] app: don't choke when being asked for GIMP_UNIT_PERCENT's factor or digits



commit 3bea6dce03c886c2e86ec738126422062ab513ee
Author: Michael Natterer <mitch gimp org>
Date:   Mon Feb 12 16:37:49 2018 +0100

    app: don't choke when being asked for GIMP_UNIT_PERCENT's factor or digits
    
    Instead, return bogus default values just like libgimp/gimpunitcache.c
    does.

 app/core/gimpunit.c |   12 ++++++++++--
 1 files changed, 10 insertions(+), 2 deletions(-)
---
diff --git a/app/core/gimpunit.c b/app/core/gimpunit.c
index 68ab4e2..35b33f8 100644
--- a/app/core/gimpunit.c
+++ b/app/core/gimpunit.c
@@ -162,12 +162,16 @@ gdouble
 _gimp_unit_get_factor (Gimp     *gimp,
                        GimpUnit  unit)
 {
-  g_return_val_if_fail (unit < (GIMP_UNIT_END + gimp->n_user_units),
+  g_return_val_if_fail (unit < (GIMP_UNIT_END + gimp->n_user_units) ||
+                        (unit == GIMP_UNIT_PERCENT),
                         gimp_unit_defs[GIMP_UNIT_INCH].factor);
 
   if (unit < GIMP_UNIT_END)
     return gimp_unit_defs[unit].factor;
 
+  if (unit == GIMP_UNIT_PERCENT)
+    return gimp_unit_percent.factor;
+
   return _gimp_unit_get_user_unit (gimp, unit)->factor;
 }
 
@@ -175,12 +179,16 @@ gint
 _gimp_unit_get_digits (Gimp     *gimp,
                        GimpUnit  unit)
 {
-  g_return_val_if_fail (unit < (GIMP_UNIT_END + gimp->n_user_units),
+  g_return_val_if_fail (unit < (GIMP_UNIT_END + gimp->n_user_units) ||
+                        (unit == GIMP_UNIT_PERCENT),
                         gimp_unit_defs[GIMP_UNIT_INCH].digits);
 
   if (unit < GIMP_UNIT_END)
     return gimp_unit_defs[unit].digits;
 
+  if (unit == GIMP_UNIT_PERCENT)
+    return gimp_unit_percent.digits;
+
   return _gimp_unit_get_user_unit (gimp, unit)->digits;
 }
 


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