mirror of https://github.com/GNOME/gimp.git
remove plug_ins_add_internal() and made plug_ins_procedure_insert() public
2006-04-09 Michael Natterer <mitch@gimp.org> * app/plug-in/plug-ins.[ch]: remove plug_ins_add_internal() and made plug_ins_procedure_insert() public as plug_ins_procedure_add(). There's no reason internal plug-ins should be treated differently. * app/xcf/xcf.c: use plug_ins_procedure_add(). * app/plug-in/plug-ins-help.c: fix comment.
This commit is contained in:
parent
d411d1c0dd
commit
47d60f4803
10
ChangeLog
10
ChangeLog
|
@ -1,3 +1,13 @@
|
|||
2006-04-09 Michael Natterer <mitch@gimp.org>
|
||||
|
||||
* app/plug-in/plug-ins.[ch]: remove plug_ins_add_internal() and
|
||||
made plug_ins_procedure_insert() public as plug_ins_procedure_add().
|
||||
There's no reason internal plug-ins should be treated differently.
|
||||
|
||||
* app/xcf/xcf.c: use plug_ins_procedure_add().
|
||||
|
||||
* app/plug-in/plug-ins-help.c: fix comment.
|
||||
|
||||
2006-04-09 Michael Natterer <mitch@gimp.org>
|
||||
|
||||
* app/plug-in/plug-in-params.[ch] (plug_in_params_destroy):
|
||||
|
|
|
@ -60,8 +60,6 @@ static void plug_ins_add_from_rc (Gimp *gimp,
|
|||
PlugInDef *plug_in_def);
|
||||
static void plug_ins_add_to_db (Gimp *gimp,
|
||||
GimpContext *context);
|
||||
static void plug_ins_procedure_insert (Gimp *gimp,
|
||||
GimpPlugInProcedure *proc);
|
||||
static gint plug_ins_file_proc_compare (gconstpointer a,
|
||||
gconstpointer b,
|
||||
gpointer data);
|
||||
|
@ -217,7 +215,7 @@ plug_ins_init (Gimp *gimp,
|
|||
|
||||
status_callback (NULL, "", 1.0);
|
||||
|
||||
/* insert the procedures */
|
||||
/* add the procedures to gimp->plug_in_procedures */
|
||||
for (list = gimp->plug_in_defs; list; list = list->next)
|
||||
{
|
||||
PlugInDef *plug_in_def = list->data;
|
||||
|
@ -225,7 +223,7 @@ plug_ins_init (Gimp *gimp,
|
|||
|
||||
for (list2 = plug_in_def->procedures; list2; list2 = list2->next)
|
||||
{
|
||||
plug_ins_procedure_insert (gimp, list2->data);
|
||||
plug_ins_procedure_add (gimp, list2->data);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -363,17 +361,6 @@ plug_ins_exit (Gimp *gimp)
|
|||
gimp->plug_in_procedures = NULL;
|
||||
}
|
||||
|
||||
void
|
||||
plug_ins_add_internal (Gimp *gimp,
|
||||
GimpPlugInProcedure *proc)
|
||||
{
|
||||
g_return_if_fail (GIMP_IS_GIMP (gimp));
|
||||
g_return_if_fail (GIMP_IS_PLUG_IN_PROCEDURE (proc));
|
||||
|
||||
gimp->plug_in_procedures = g_slist_prepend (gimp->plug_in_procedures,
|
||||
g_object_ref (proc));
|
||||
}
|
||||
|
||||
GimpPlugInProcedure *
|
||||
plug_ins_file_register_magic (Gimp *gimp,
|
||||
const gchar *name,
|
||||
|
@ -450,6 +437,56 @@ plug_ins_file_register_thumb_loader (Gimp *gimp,
|
|||
return proc;
|
||||
}
|
||||
|
||||
void
|
||||
plug_ins_procedure_add (Gimp *gimp,
|
||||
GimpPlugInProcedure *proc)
|
||||
{
|
||||
GSList *list;
|
||||
|
||||
g_return_if_fail (GIMP_IS_GIMP (gimp));
|
||||
g_return_if_fail (GIMP_IS_PLUG_IN_PROCEDURE (proc));
|
||||
|
||||
for (list = gimp->plug_in_procedures; list; list = list->next)
|
||||
{
|
||||
GimpPlugInProcedure *tmp_proc = list->data;
|
||||
|
||||
if (strcmp (GIMP_OBJECT (proc)->name,
|
||||
GIMP_OBJECT (tmp_proc)->name) == 0)
|
||||
{
|
||||
GSList *list2;
|
||||
|
||||
list->data = g_object_ref (proc);
|
||||
|
||||
g_printerr ("removing duplicate PDB procedure \"%s\" "
|
||||
"registered by '%s'\n",
|
||||
GIMP_OBJECT (tmp_proc)->name,
|
||||
gimp_filename_to_utf8 (tmp_proc->prog));
|
||||
|
||||
/* search the plugin list to see if any plugins had references to
|
||||
* the tmp_proc.
|
||||
*/
|
||||
for (list2 = gimp->plug_in_defs; list2; list2 = list2->next)
|
||||
{
|
||||
PlugInDef *plug_in_def = list2->data;
|
||||
|
||||
if (g_slist_find (plug_in_def->procedures, tmp_proc))
|
||||
plug_in_def_remove_procedure (plug_in_def, tmp_proc);
|
||||
}
|
||||
|
||||
/* also remove it from the lists of load and save procs */
|
||||
gimp->load_procs = g_slist_remove (gimp->load_procs, tmp_proc);
|
||||
gimp->save_procs = g_slist_remove (gimp->save_procs, tmp_proc);
|
||||
|
||||
g_object_unref (tmp_proc);
|
||||
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
gimp->plug_in_procedures = g_slist_prepend (gimp->plug_in_procedures,
|
||||
g_object_ref (proc));
|
||||
}
|
||||
|
||||
void
|
||||
plug_ins_temp_procedure_add (Gimp *gimp,
|
||||
GimpTemporaryProcedure *proc)
|
||||
|
@ -695,53 +732,6 @@ plug_ins_add_to_db (Gimp *gimp,
|
|||
}
|
||||
}
|
||||
|
||||
static void
|
||||
plug_ins_procedure_insert (Gimp *gimp,
|
||||
GimpPlugInProcedure *proc)
|
||||
{
|
||||
GSList *list;
|
||||
|
||||
for (list = gimp->plug_in_procedures; list; list = list->next)
|
||||
{
|
||||
GimpPlugInProcedure *tmp_proc = list->data;
|
||||
|
||||
if (strcmp (GIMP_OBJECT (proc)->name,
|
||||
GIMP_OBJECT (tmp_proc)->name) == 0)
|
||||
{
|
||||
GSList *list2;
|
||||
|
||||
list->data = g_object_ref (proc);
|
||||
|
||||
g_printerr ("removing duplicate PDB procedure \"%s\" "
|
||||
"registered by '%s'\n",
|
||||
GIMP_OBJECT (tmp_proc)->name,
|
||||
gimp_filename_to_utf8 (tmp_proc->prog));
|
||||
|
||||
/* search the plugin list to see if any plugins had references to
|
||||
* the tmp_proc.
|
||||
*/
|
||||
for (list2 = gimp->plug_in_defs; list2; list2 = list2->next)
|
||||
{
|
||||
PlugInDef *plug_in_def = list2->data;
|
||||
|
||||
if (g_slist_find (plug_in_def->procedures, tmp_proc))
|
||||
plug_in_def_remove_procedure (plug_in_def, tmp_proc);
|
||||
}
|
||||
|
||||
/* also remove it from the lists of load and save procs */
|
||||
gimp->load_procs = g_slist_remove (gimp->load_procs, tmp_proc);
|
||||
gimp->save_procs = g_slist_remove (gimp->save_procs, tmp_proc);
|
||||
|
||||
g_object_unref (tmp_proc);
|
||||
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
gimp->plug_in_procedures = g_slist_prepend (gimp->plug_in_procedures,
|
||||
g_object_ref (proc));
|
||||
}
|
||||
|
||||
static gint
|
||||
plug_ins_file_proc_compare (gconstpointer a,
|
||||
gconstpointer b,
|
||||
|
|
|
@ -35,13 +35,6 @@ void plug_ins_init (Gimp *gimp,
|
|||
GimpInitStatusFunc status_callback);
|
||||
void plug_ins_exit (Gimp *gimp);
|
||||
|
||||
/* Register an internal plug-in. This is for file load-save
|
||||
* handlers, which are organized around the plug-in data structure.
|
||||
* This could all be done a little better, but oh well. -josh
|
||||
*/
|
||||
void plug_ins_add_internal (Gimp *gimp,
|
||||
GimpPlugInProcedure *proc);
|
||||
|
||||
/* Add in the file load/save handler fields procedure. */
|
||||
GimpPlugInProcedure * plug_ins_file_register_magic (Gimp *gimp,
|
||||
const gchar *name,
|
||||
|
@ -58,6 +51,13 @@ GimpPlugInProcedure * plug_ins_file_register_thumb_loader
|
|||
const gchar *load_proc,
|
||||
const gchar *thumb_proc);
|
||||
|
||||
/* Register a plug-in. This function is public for file load-save
|
||||
* handlers, which are organized around the plug-in data structure.
|
||||
* This could all be done a little better, but oh well. -josh
|
||||
*/
|
||||
void plug_ins_procedure_add (Gimp *gimp,
|
||||
GimpPlugInProcedure *proc);
|
||||
|
||||
/* Add/Remove temporary procedures. */
|
||||
void plug_ins_temp_procedure_add (Gimp *gimp,
|
||||
GimpTemporaryProcedure *proc);
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/* The GIMP -- an image manipulation program
|
||||
* Copyright (C) 1995 Spencer Kimball and Peter Mattis
|
||||
*
|
||||
* plug-ins.c
|
||||
* plug-ins-help.c
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
|
|
@ -60,8 +60,6 @@ static void plug_ins_add_from_rc (Gimp *gimp,
|
|||
PlugInDef *plug_in_def);
|
||||
static void plug_ins_add_to_db (Gimp *gimp,
|
||||
GimpContext *context);
|
||||
static void plug_ins_procedure_insert (Gimp *gimp,
|
||||
GimpPlugInProcedure *proc);
|
||||
static gint plug_ins_file_proc_compare (gconstpointer a,
|
||||
gconstpointer b,
|
||||
gpointer data);
|
||||
|
@ -217,7 +215,7 @@ plug_ins_init (Gimp *gimp,
|
|||
|
||||
status_callback (NULL, "", 1.0);
|
||||
|
||||
/* insert the procedures */
|
||||
/* add the procedures to gimp->plug_in_procedures */
|
||||
for (list = gimp->plug_in_defs; list; list = list->next)
|
||||
{
|
||||
PlugInDef *plug_in_def = list->data;
|
||||
|
@ -225,7 +223,7 @@ plug_ins_init (Gimp *gimp,
|
|||
|
||||
for (list2 = plug_in_def->procedures; list2; list2 = list2->next)
|
||||
{
|
||||
plug_ins_procedure_insert (gimp, list2->data);
|
||||
plug_ins_procedure_add (gimp, list2->data);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -363,17 +361,6 @@ plug_ins_exit (Gimp *gimp)
|
|||
gimp->plug_in_procedures = NULL;
|
||||
}
|
||||
|
||||
void
|
||||
plug_ins_add_internal (Gimp *gimp,
|
||||
GimpPlugInProcedure *proc)
|
||||
{
|
||||
g_return_if_fail (GIMP_IS_GIMP (gimp));
|
||||
g_return_if_fail (GIMP_IS_PLUG_IN_PROCEDURE (proc));
|
||||
|
||||
gimp->plug_in_procedures = g_slist_prepend (gimp->plug_in_procedures,
|
||||
g_object_ref (proc));
|
||||
}
|
||||
|
||||
GimpPlugInProcedure *
|
||||
plug_ins_file_register_magic (Gimp *gimp,
|
||||
const gchar *name,
|
||||
|
@ -450,6 +437,56 @@ plug_ins_file_register_thumb_loader (Gimp *gimp,
|
|||
return proc;
|
||||
}
|
||||
|
||||
void
|
||||
plug_ins_procedure_add (Gimp *gimp,
|
||||
GimpPlugInProcedure *proc)
|
||||
{
|
||||
GSList *list;
|
||||
|
||||
g_return_if_fail (GIMP_IS_GIMP (gimp));
|
||||
g_return_if_fail (GIMP_IS_PLUG_IN_PROCEDURE (proc));
|
||||
|
||||
for (list = gimp->plug_in_procedures; list; list = list->next)
|
||||
{
|
||||
GimpPlugInProcedure *tmp_proc = list->data;
|
||||
|
||||
if (strcmp (GIMP_OBJECT (proc)->name,
|
||||
GIMP_OBJECT (tmp_proc)->name) == 0)
|
||||
{
|
||||
GSList *list2;
|
||||
|
||||
list->data = g_object_ref (proc);
|
||||
|
||||
g_printerr ("removing duplicate PDB procedure \"%s\" "
|
||||
"registered by '%s'\n",
|
||||
GIMP_OBJECT (tmp_proc)->name,
|
||||
gimp_filename_to_utf8 (tmp_proc->prog));
|
||||
|
||||
/* search the plugin list to see if any plugins had references to
|
||||
* the tmp_proc.
|
||||
*/
|
||||
for (list2 = gimp->plug_in_defs; list2; list2 = list2->next)
|
||||
{
|
||||
PlugInDef *plug_in_def = list2->data;
|
||||
|
||||
if (g_slist_find (plug_in_def->procedures, tmp_proc))
|
||||
plug_in_def_remove_procedure (plug_in_def, tmp_proc);
|
||||
}
|
||||
|
||||
/* also remove it from the lists of load and save procs */
|
||||
gimp->load_procs = g_slist_remove (gimp->load_procs, tmp_proc);
|
||||
gimp->save_procs = g_slist_remove (gimp->save_procs, tmp_proc);
|
||||
|
||||
g_object_unref (tmp_proc);
|
||||
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
gimp->plug_in_procedures = g_slist_prepend (gimp->plug_in_procedures,
|
||||
g_object_ref (proc));
|
||||
}
|
||||
|
||||
void
|
||||
plug_ins_temp_procedure_add (Gimp *gimp,
|
||||
GimpTemporaryProcedure *proc)
|
||||
|
@ -695,53 +732,6 @@ plug_ins_add_to_db (Gimp *gimp,
|
|||
}
|
||||
}
|
||||
|
||||
static void
|
||||
plug_ins_procedure_insert (Gimp *gimp,
|
||||
GimpPlugInProcedure *proc)
|
||||
{
|
||||
GSList *list;
|
||||
|
||||
for (list = gimp->plug_in_procedures; list; list = list->next)
|
||||
{
|
||||
GimpPlugInProcedure *tmp_proc = list->data;
|
||||
|
||||
if (strcmp (GIMP_OBJECT (proc)->name,
|
||||
GIMP_OBJECT (tmp_proc)->name) == 0)
|
||||
{
|
||||
GSList *list2;
|
||||
|
||||
list->data = g_object_ref (proc);
|
||||
|
||||
g_printerr ("removing duplicate PDB procedure \"%s\" "
|
||||
"registered by '%s'\n",
|
||||
GIMP_OBJECT (tmp_proc)->name,
|
||||
gimp_filename_to_utf8 (tmp_proc->prog));
|
||||
|
||||
/* search the plugin list to see if any plugins had references to
|
||||
* the tmp_proc.
|
||||
*/
|
||||
for (list2 = gimp->plug_in_defs; list2; list2 = list2->next)
|
||||
{
|
||||
PlugInDef *plug_in_def = list2->data;
|
||||
|
||||
if (g_slist_find (plug_in_def->procedures, tmp_proc))
|
||||
plug_in_def_remove_procedure (plug_in_def, tmp_proc);
|
||||
}
|
||||
|
||||
/* also remove it from the lists of load and save procs */
|
||||
gimp->load_procs = g_slist_remove (gimp->load_procs, tmp_proc);
|
||||
gimp->save_procs = g_slist_remove (gimp->save_procs, tmp_proc);
|
||||
|
||||
g_object_unref (tmp_proc);
|
||||
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
gimp->plug_in_procedures = g_slist_prepend (gimp->plug_in_procedures,
|
||||
g_object_ref (proc));
|
||||
}
|
||||
|
||||
static gint
|
||||
plug_ins_file_proc_compare (gconstpointer a,
|
||||
gconstpointer b,
|
||||
|
|
|
@ -35,13 +35,6 @@ void plug_ins_init (Gimp *gimp,
|
|||
GimpInitStatusFunc status_callback);
|
||||
void plug_ins_exit (Gimp *gimp);
|
||||
|
||||
/* Register an internal plug-in. This is for file load-save
|
||||
* handlers, which are organized around the plug-in data structure.
|
||||
* This could all be done a little better, but oh well. -josh
|
||||
*/
|
||||
void plug_ins_add_internal (Gimp *gimp,
|
||||
GimpPlugInProcedure *proc);
|
||||
|
||||
/* Add in the file load/save handler fields procedure. */
|
||||
GimpPlugInProcedure * plug_ins_file_register_magic (Gimp *gimp,
|
||||
const gchar *name,
|
||||
|
@ -58,6 +51,13 @@ GimpPlugInProcedure * plug_ins_file_register_thumb_loader
|
|||
const gchar *load_proc,
|
||||
const gchar *thumb_proc);
|
||||
|
||||
/* Register a plug-in. This function is public for file load-save
|
||||
* handlers, which are organized around the plug-in data structure.
|
||||
* This could all be done a little better, but oh well. -josh
|
||||
*/
|
||||
void plug_ins_procedure_add (Gimp *gimp,
|
||||
GimpPlugInProcedure *proc);
|
||||
|
||||
/* Add/Remove temporary procedures. */
|
||||
void plug_ins_temp_procedure_add (Gimp *gimp,
|
||||
GimpTemporaryProcedure *proc);
|
||||
|
|
|
@ -200,7 +200,7 @@ xcf_init (Gimp *gimp)
|
|||
"file, in UTF-8",
|
||||
FALSE, FALSE, NULL,
|
||||
GIMP_PARAM_READWRITE));
|
||||
plug_ins_add_internal (gimp, proc);
|
||||
plug_ins_procedure_add (gimp, proc);
|
||||
g_object_unref (procedure);
|
||||
|
||||
/* gimp-xcf-load */
|
||||
|
@ -261,7 +261,7 @@ xcf_init (Gimp *gimp)
|
|||
"Output image",
|
||||
gimp,
|
||||
GIMP_PARAM_READWRITE));
|
||||
plug_ins_add_internal (gimp, proc);
|
||||
plug_ins_procedure_add (gimp, proc);
|
||||
g_object_unref (procedure);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue