[gimp] app: use GError in all gimpplugin-proc.[ch] functions, not gimp_message()



commit a88aa27942a5b97a0930ca4d0f7e4095df90ad62
Author: Michael Natterer <mitch gimp org>
Date:   Mon Sep 9 12:10:32 2019 +0200

    app: use GError in all gimpplugin-proc.[ch] functions, not gimp_message()

 app/pdb/pdb-cmds.c            |  14 +--
 app/plug-in/gimpplugin-proc.c | 202 +++++++++++++++++++-----------------------
 app/plug-in/gimpplugin-proc.h |  54 ++++++-----
 pdb/groups/pdb.pdb            |  14 +--
 4 files changed, 135 insertions(+), 149 deletions(-)
---
diff --git a/app/pdb/pdb-cmds.c b/app/pdb/pdb-cmds.c
index 1bdc95a440..fbbadde5c6 100644
--- a/app/pdb/pdb-cmds.c
+++ b/app/pdb/pdb-cmds.c
@@ -286,7 +286,7 @@ pdb_set_proc_image_types_invoker (GimpProcedure         *procedure,
           gimp_pdb_is_canonical_procedure (procedure_name, error))
         {
           success = gimp_plug_in_set_proc_image_types (plug_in, procedure_name,
-                                                       image_types);
+                                                       image_types, error);
         }
       else
         success = FALSE;
@@ -361,7 +361,7 @@ pdb_set_proc_menu_label_invoker (GimpProcedure         *procedure,
           gimp_pdb_is_canonical_procedure (procedure_name, error))
         {
           success = gimp_plug_in_set_proc_menu_label (plug_in, procedure_name,
-                                                      menu_label);
+                                                      menu_label, error);
         }
       else
         success = FALSE;
@@ -436,7 +436,7 @@ pdb_add_proc_menu_path_invoker (GimpProcedure         *procedure,
           gimp_pdb_is_canonical_procedure (procedure_name, error))
         {
           success = gimp_plug_in_add_proc_menu_path (plug_in, procedure_name,
-                                                     menu_path);
+                                                     menu_path, error);
         }
       else
         success = FALSE;
@@ -537,7 +537,8 @@ pdb_set_proc_icon_invoker (GimpProcedure         *procedure,
         {
           success = gimp_plug_in_set_proc_icon (plug_in, procedure_name,
                                                 icon_type,
-                                                icon_data, icon_data_length);
+                                                icon_data, icon_data_length,
+                                                error);
         }
       else
         success = FALSE;
@@ -574,7 +575,7 @@ pdb_set_proc_documentation_invoker (GimpProcedure         *procedure,
           gimp_pdb_is_canonical_procedure (procedure_name, error))
         {
           success = gimp_plug_in_set_proc_help (plug_in, procedure_name,
-                                                blurb, help, help_id);
+                                                blurb, help, help_id, error);
         }
       else
         success = FALSE;
@@ -661,7 +662,8 @@ pdb_set_proc_attribution_invoker (GimpProcedure         *procedure,
           gimp_pdb_is_canonical_procedure (procedure_name, error))
         {
           success = gimp_plug_in_set_proc_attribution (plug_in, procedure_name,
-                                                       authors, copyright, date);
+                                                       authors, copyright, date,
+                                                       error);
         }
       else
         success = FALSE;
diff --git a/app/plug-in/gimpplugin-proc.c b/app/plug-in/gimpplugin-proc.c
index 633c780ad1..036e09d557 100644
--- a/app/plug-in/gimpplugin-proc.c
+++ b/app/plug-in/gimpplugin-proc.c
@@ -26,7 +26,7 @@
 
 #include "plug-in-types.h"
 
-#include "core/gimp.h"
+#include "pdb/gimppdberror.h"
 
 #include "gimpplugin.h"
 #include "gimpplugin-proc.h"
@@ -46,9 +46,10 @@ static GimpPlugInProcedure * gimp_plug_in_proc_find (GimpPlugIn  *plug_in,
 /*  public functions  */
 
 gboolean
-gimp_plug_in_set_proc_image_types (GimpPlugIn  *plug_in,
-                                   const gchar *proc_name,
-                                   const gchar *image_types)
+gimp_plug_in_set_proc_image_types (GimpPlugIn   *plug_in,
+                                   const gchar  *proc_name,
+                                   const gchar  *image_types,
+                                   GError      **error)
 {
   GimpPlugInProcedure *proc;
 
@@ -59,15 +60,15 @@ gimp_plug_in_set_proc_image_types (GimpPlugIn  *plug_in,
 
   if (! proc)
     {
-      gimp_message (plug_in->manager->gimp, NULL, GIMP_MESSAGE_ERROR,
-                    "Plug-in \"%s\"\n(%s)\n"
-                    "attempted to register images types "
-                    "for procedure \"%s\".\n"
-                    "It has however not installed that procedure. "
-                    "This is not allowed.",
-                    gimp_object_get_name (plug_in),
-                    gimp_file_get_utf8_name (plug_in->file),
-                    proc_name);
+      g_set_error (error, GIMP_PDB_ERROR, GIMP_PDB_ERROR_PROCEDURE_NOT_FOUND,
+                   "Plug-in \"%s\"\n(%s)\n"
+                   "attempted to register images types "
+                   "for procedure \"%s\".\n"
+                   "It has however not installed that procedure. "
+                   "This is not allowed.",
+                   gimp_object_get_name (plug_in),
+                   gimp_file_get_utf8_name (plug_in->file),
+                   proc_name);
 
       return FALSE;
     }
@@ -78,12 +79,12 @@ gimp_plug_in_set_proc_image_types (GimpPlugIn  *plug_in,
 }
 
 gboolean
-gimp_plug_in_set_proc_menu_label (GimpPlugIn  *plug_in,
-                                  const gchar *proc_name,
-                                  const gchar *menu_label)
+gimp_plug_in_set_proc_menu_label (GimpPlugIn   *plug_in,
+                                  const gchar  *proc_name,
+                                  const gchar  *menu_label,
+                                  GError      **error)
 {
   GimpPlugInProcedure *proc;
-  GError              *error = NULL;
 
   g_return_val_if_fail (GIMP_IS_PLUG_IN (plug_in), FALSE);
   g_return_val_if_fail (proc_name != NULL, FALSE);
@@ -93,38 +94,29 @@ gimp_plug_in_set_proc_menu_label (GimpPlugIn  *plug_in,
 
   if (! proc)
     {
-      gimp_message (plug_in->manager->gimp, NULL, GIMP_MESSAGE_ERROR,
-                    "Plug-in \"%s\"\n(%s)\n"
-                    "attempted to register the menu label \"%s\" "
-                    "for procedure \"%s\".\n"
-                    "It has however not installed that procedure. "
-                    "This is not allowed.",
-                    gimp_object_get_name (plug_in),
-                    gimp_file_get_utf8_name (plug_in->file),
-                    menu_label, proc_name);
+      g_set_error (error, GIMP_PDB_ERROR, GIMP_PDB_ERROR_PROCEDURE_NOT_FOUND,
+                   "Plug-in \"%s\"\n(%s)\n"
+                   "attempted to register the menu label \"%s\" "
+                   "for procedure \"%s\".\n"
+                   "It has however not installed that procedure. "
+                   "This is not allowed.",
+                   gimp_object_get_name (plug_in),
+                   gimp_file_get_utf8_name (plug_in->file),
+                   menu_label, proc_name);
 
       return FALSE;
     }
 
-  if (! gimp_plug_in_procedure_set_menu_label (proc, menu_label, &error))
-    {
-      gimp_message_literal (plug_in->manager->gimp, NULL, GIMP_MESSAGE_ERROR,
-                            error->message);
-      g_clear_error (&error);
-
-      return FALSE;
-    }
-
-  return TRUE;
+  return gimp_plug_in_procedure_set_menu_label (proc, menu_label, error);
 }
 
 gboolean
-gimp_plug_in_add_proc_menu_path (GimpPlugIn  *plug_in,
-                                 const gchar *proc_name,
-                                 const gchar *menu_path)
+gimp_plug_in_add_proc_menu_path (GimpPlugIn   *plug_in,
+                                 const gchar  *proc_name,
+                                 const gchar  *menu_path,
+                                 GError      **error)
 {
   GimpPlugInProcedure *proc;
-  GError              *error = NULL;
 
   g_return_val_if_fail (GIMP_IS_PLUG_IN (plug_in), FALSE);
   g_return_val_if_fail (proc_name != NULL, FALSE);
@@ -134,40 +126,31 @@ gimp_plug_in_add_proc_menu_path (GimpPlugIn  *plug_in,
 
   if (! proc)
     {
-      gimp_message (plug_in->manager->gimp, NULL, GIMP_MESSAGE_ERROR,
-                    "Plug-in \"%s\"\n(%s)\n"
-                    "attempted to register the menu item \"%s\" "
-                    "for procedure \"%s\".\n"
-                    "It has however not installed that procedure. "
-                    "This is not allowed.",
-                    gimp_object_get_name (plug_in),
-                    gimp_file_get_utf8_name (plug_in->file),
-                    menu_path, proc_name);
-
-      return FALSE;
-    }
-
-  if (! gimp_plug_in_procedure_add_menu_path (proc, menu_path, &error))
-    {
-      gimp_message_literal (plug_in->manager->gimp, NULL, GIMP_MESSAGE_ERROR,
-                            error->message);
-      g_clear_error (&error);
+      g_set_error (error, GIMP_PDB_ERROR, GIMP_PDB_ERROR_PROCEDURE_NOT_FOUND,
+                   "Plug-in \"%s\"\n(%s)\n"
+                   "attempted to register the menu item \"%s\" "
+                   "for procedure \"%s\".\n"
+                   "It has however not installed that procedure. "
+                   "This is not allowed.",
+                   gimp_object_get_name (plug_in),
+                   gimp_file_get_utf8_name (plug_in->file),
+                   menu_path, proc_name);
 
       return FALSE;
     }
 
-  return TRUE;
+  return gimp_plug_in_procedure_add_menu_path (proc, menu_path, error);
 }
 
 gboolean
-gimp_plug_in_set_proc_icon (GimpPlugIn   *plug_in,
-                            const gchar  *proc_name,
-                            GimpIconType  type,
-                            const guint8 *data,
-                            gint          data_length)
+gimp_plug_in_set_proc_icon (GimpPlugIn    *plug_in,
+                            const gchar   *proc_name,
+                            GimpIconType   type,
+                            const guint8  *data,
+                            gint           data_length,
+                            GError       **error)
 {
   GimpPlugInProcedure *proc;
-  GError              *error = NULL;
 
   g_return_val_if_fail (GIMP_IS_PLUG_IN (plug_in), FALSE);
   g_return_val_if_fail (proc_name != NULL, FALSE);
@@ -176,38 +159,30 @@ gimp_plug_in_set_proc_icon (GimpPlugIn   *plug_in,
 
   if (! proc)
     {
-      gimp_message (plug_in->manager->gimp, NULL, GIMP_MESSAGE_ERROR,
-                    "Plug-in \"%s\"\n(%s)\n"
-                    "attempted to set the icon "
-                    "for procedure \"%s\".\n"
-                    "It has however not installed that procedure. "
-                    "This is not allowed.",
-                    gimp_object_get_name (plug_in),
-                    gimp_file_get_utf8_name (plug_in->file),
-                    proc_name);
-
-      return FALSE;
-    }
-
-  if (! gimp_plug_in_procedure_set_icon (proc, type, data, data_length,
-                                         &error))
-    {
-      gimp_message_literal (plug_in->manager->gimp, NULL, GIMP_MESSAGE_ERROR,
-                            error->message);
-      g_clear_error (&error);
+      g_set_error (error, GIMP_PDB_ERROR, GIMP_PDB_ERROR_PROCEDURE_NOT_FOUND,
+                   "Plug-in \"%s\"\n(%s)\n"
+                   "attempted to set the icon "
+                   "for procedure \"%s\".\n"
+                   "It has however not installed that procedure. "
+                   "This is not allowed.",
+                   gimp_object_get_name (plug_in),
+                   gimp_file_get_utf8_name (plug_in->file),
+                   proc_name);
 
       return FALSE;
     }
 
-  return TRUE;
+  return gimp_plug_in_procedure_set_icon (proc, type, data, data_length,
+                                          error);
 }
 
 gboolean
-gimp_plug_in_set_proc_help (GimpPlugIn  *plug_in,
-                            const gchar *proc_name,
-                            const gchar *blurb,
-                            const gchar *help,
-                            const gchar *help_id)
+gimp_plug_in_set_proc_help (GimpPlugIn   *plug_in,
+                            const gchar  *proc_name,
+                            const gchar  *blurb,
+                            const gchar  *help,
+                            const gchar  *help_id,
+                            GError      **error)
 {
   GimpPlugInProcedure *proc;
 
@@ -218,15 +193,15 @@ gimp_plug_in_set_proc_help (GimpPlugIn  *plug_in,
 
   if (! proc)
     {
-      gimp_message (plug_in->manager->gimp, NULL, GIMP_MESSAGE_ERROR,
-                    "Plug-in \"%s\"\n(%s)\n"
-                    "attempted to register help "
-                    "for procedure \"%s\".\n"
-                    "It has however not installed that procedure. "
-                    "This is not allowed.",
-                    gimp_object_get_name (plug_in),
-                    gimp_file_get_utf8_name (plug_in->file),
-                    proc_name);
+      g_set_error (error, GIMP_PDB_ERROR, GIMP_PDB_ERROR_PROCEDURE_NOT_FOUND,
+                   "Plug-in \"%s\"\n(%s)\n"
+                   "attempted to register help "
+                   "for procedure \"%s\".\n"
+                   "It has however not installed that procedure. "
+                   "This is not allowed.",
+                   gimp_object_get_name (plug_in),
+                   gimp_file_get_utf8_name (plug_in->file),
+                   proc_name);
 
       return FALSE;
     }
@@ -238,11 +213,12 @@ gimp_plug_in_set_proc_help (GimpPlugIn  *plug_in,
 }
 
 gboolean
-gimp_plug_in_set_proc_attribution (GimpPlugIn  *plug_in,
-                                   const gchar *proc_name,
-                                   const gchar *authors,
-                                   const gchar *copyright,
-                                   const gchar *date)
+gimp_plug_in_set_proc_attribution (GimpPlugIn   *plug_in,
+                                   const gchar  *proc_name,
+                                   const gchar  *authors,
+                                   const gchar  *copyright,
+                                   const gchar  *date,
+                                   GError      **error)
 {
   GimpPlugInProcedure *proc;
 
@@ -253,15 +229,15 @@ gimp_plug_in_set_proc_attribution (GimpPlugIn  *plug_in,
 
   if (! proc)
     {
-      gimp_message (plug_in->manager->gimp, NULL, GIMP_MESSAGE_ERROR,
-                    "Plug-in \"%s\"\n(%s)\n"
-                    "attempted to register the attribution "
-                    "for procedure \"%s\".\n"
-                    "It has however not installed that procedure. "
-                    "This is not allowed.",
-                    gimp_object_get_name (plug_in),
-                    gimp_file_get_utf8_name (plug_in->file),
-                    proc_name);
+      g_set_error (error, GIMP_PDB_ERROR, GIMP_PDB_ERROR_PROCEDURE_NOT_FOUND,
+                   "Plug-in \"%s\"\n(%s)\n"
+                   "attempted to register the attribution "
+                   "for procedure \"%s\".\n"
+                   "It has however not installed that procedure. "
+                   "This is not allowed.",
+                   gimp_object_get_name (plug_in),
+                   gimp_file_get_utf8_name (plug_in->file),
+                   proc_name);
 
       return FALSE;
     }
diff --git a/app/plug-in/gimpplugin-proc.h b/app/plug-in/gimpplugin-proc.h
index 5ead2b9e03..1cd2f2d939 100644
--- a/app/plug-in/gimpplugin-proc.h
+++ b/app/plug-in/gimpplugin-proc.h
@@ -21,30 +21,36 @@
 #define __GIMP_PLUG_IN_PROC_H__
 
 
-gboolean   gimp_plug_in_set_proc_image_types (GimpPlugIn   *plug_in,
-                                              const gchar  *proc_name,
-                                              const gchar  *image_types);
-gboolean   gimp_plug_in_set_proc_menu_label  (GimpPlugIn   *plug_in,
-                                              const gchar  *proc_name,
-                                              const gchar  *menu_label);
-gboolean   gimp_plug_in_add_proc_menu_path   (GimpPlugIn   *plug_in,
-                                              const gchar  *proc_name,
-                                              const gchar  *menu_path);
-gboolean   gimp_plug_in_set_proc_icon        (GimpPlugIn   *plug_in,
-                                              const gchar  *proc_name,
-                                              GimpIconType  type,
-                                              const guint8 *data,
-                                              gint          data_length);
-gboolean   gimp_plug_in_set_proc_help        (GimpPlugIn   *plug_in,
-                                              const gchar  *proc_name,
-                                              const gchar  *blurb,
-                                              const gchar  *help,
-                                              const gchar  *help_id);
-gboolean   gimp_plug_in_set_proc_attribution (GimpPlugIn   *plug_in,
-                                              const gchar  *proc_name,
-                                              const gchar  *authors,
-                                              const gchar  *copyright,
-                                              const gchar  *date);
+gboolean   gimp_plug_in_set_proc_image_types (GimpPlugIn    *plug_in,
+                                              const gchar   *proc_name,
+                                              const gchar   *image_types,
+                                              GError       **error);
+gboolean   gimp_plug_in_set_proc_menu_label  (GimpPlugIn    *plug_in,
+                                              const gchar   *proc_name,
+                                              const gchar   *menu_label,
+                                              GError       **error);
+gboolean   gimp_plug_in_add_proc_menu_path   (GimpPlugIn    *plug_in,
+                                              const gchar   *proc_name,
+                                              const gchar   *menu_path,
+                                              GError       **error);
+gboolean   gimp_plug_in_set_proc_icon        (GimpPlugIn    *plug_in,
+                                              const gchar   *proc_name,
+                                              GimpIconType   type,
+                                              const guint8  *data,
+                                              gint           data_length,
+                                              GError       **error);
+gboolean   gimp_plug_in_set_proc_help        (GimpPlugIn    *plug_in,
+                                              const gchar   *proc_name,
+                                              const gchar   *blurb,
+                                              const gchar   *help,
+                                              const gchar   *help_id,
+                                              GError       **error);
+gboolean   gimp_plug_in_set_proc_attribution (GimpPlugIn    *plug_in,
+                                              const gchar   *proc_name,
+                                              const gchar   *authors,
+                                              const gchar   *copyright,
+                                              const gchar   *date,
+                                              GError       **error);
 
 
 #endif /* __GIMP_PLUG_IN_PROC_H__ */
diff --git a/pdb/groups/pdb.pdb b/pdb/groups/pdb.pdb
index 43cb168bd7..b6cb02057a 100644
--- a/pdb/groups/pdb.pdb
+++ b/pdb/groups/pdb.pdb
@@ -273,7 +273,7 @@ HELP
       gimp_pdb_is_canonical_procedure (procedure_name, error))
     {
       success = gimp_plug_in_set_proc_image_types (plug_in, procedure_name,
-                                                   image_types);
+                                                   image_types, error);
     }
   else
     success = FALSE;
@@ -355,7 +355,7 @@ HELP
       gimp_pdb_is_canonical_procedure (procedure_name, error))
     {
       success = gimp_plug_in_set_proc_menu_label (plug_in, procedure_name,
-                                                  menu_label);
+                                                  menu_label, error);
     }
   else
     success = FALSE;
@@ -436,7 +436,7 @@ HELP
       gimp_pdb_is_canonical_procedure (procedure_name, error))
     {
       success = gimp_plug_in_add_proc_menu_path (plug_in, procedure_name,
-                                                 menu_path);
+                                                 menu_path, error);
     }
   else
     success = FALSE;
@@ -542,7 +542,8 @@ HELP
     {
       success = gimp_plug_in_set_proc_icon (plug_in, procedure_name,
                                             icon_type,
-                                            icon_data, icon_data_length);
+                                            icon_data, icon_data_length,
+                                            error);
     }
   else
     success = FALSE;
@@ -582,7 +583,7 @@ HELP
       gimp_pdb_is_canonical_procedure (procedure_name, error))
     {
       success = gimp_plug_in_set_proc_help (plug_in, procedure_name,
-                                            blurb, help, help_id);
+                                            blurb, help, help_id, error);
     }
   else
     success = FALSE;
@@ -674,7 +675,8 @@ HELP
       gimp_pdb_is_canonical_procedure (procedure_name, error))
     {
       success = gimp_plug_in_set_proc_attribution (plug_in, procedure_name,
-                                                   authors, copyright, date);
+                                                   authors, copyright, date,
+                                                   error);
     }
   else
     success = FALSE;


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