[gimp/gimp-2-10] Issue #1834 - (gimp-context-get-gradient) could return a gradient name...



commit 6f04d06095c753ecb4fe0038d24149be582b0693
Author: Michael Natterer <mitch gimp org>
Date:   Thu Jul 12 12:38:20 2018 +0200

    Issue #1834 - (gimp-context-get-gradient) could return a gradient name...
    
    ...not found if language changed since last session
    
    For various reasons, (gimp-context-get-brush, pattern, gradient, ...)
    can return "Standard" which is the untranslatable name of the internal
    fallback object.
    
    Therefore, we must accept "Standard" as fallback in all PDB functions
    that take brush, pattern, gradient etc. names.
    
    (cherry picked from commit 397ae027badfe777da4a6da5de697d09c80112d8)

 app/pdb/gimppdb-utils.c | 21 +++++++++++++++------
 1 file changed, 15 insertions(+), 6 deletions(-)
---
diff --git a/app/pdb/gimppdb-utils.c b/app/pdb/gimppdb-utils.c
index 93076da08d..b5d2eda4ff 100644
--- a/app/pdb/gimppdb-utils.c
+++ b/app/pdb/gimppdb-utils.c
@@ -46,17 +46,26 @@
 
 
 static GimpObject *
-gimp_pdb_get_data_factory_item (GimpDataFactory *data_factory,
+gimp_pdb_get_data_factory_item (GimpDataFactory *factory,
                                 const gchar     *name)
 {
-  GimpObject *gimp_object;
+  GimpObject *object;
 
-  gimp_object = gimp_container_get_child_by_name (gimp_data_factory_get_container (data_factory), name);
+  object = gimp_container_get_child_by_name (gimp_data_factory_get_container (factory), name);
 
-  if (! gimp_object)
-    gimp_object = gimp_container_get_child_by_name (gimp_data_factory_get_container_obsolete (data_factory), 
name);
+  if (! object)
+    object = gimp_container_get_child_by_name (gimp_data_factory_get_container_obsolete (factory), name);
 
-  return gimp_object;
+  if (! object && ! strcmp (name, "Standard"))
+    {
+      Gimp *gimp = gimp_data_factory_get_gimp (factory);
+
+      object = (GimpObject *)
+        gimp_data_factory_data_get_standard (factory,
+                                             gimp_get_user_context (gimp));
+    }
+
+  return object;
 }
 
 


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