app: change gimp_operation_config_new() to _get_type()

Return only the config object's GType and do the g_object_new() in the
caller (one caller only needs the type, there is no need to create a
dummy object just to get to its type).
This commit is contained in:
Michael Natterer 2017-05-29 08:04:52 +02:00
parent 03085f491d
commit 90698524d9
4 changed files with 21 additions and 22 deletions

View File

@ -250,19 +250,17 @@ gimp_gegl_procedure_execute_async (GimpProcedure *procedure,
GimpObject *settings;
GimpContainer *container;
GimpTool *active_tool;
GType config_type;
settings = gimp_operation_config_new (gimp,
procedure->original_name,
gimp_viewable_get_icon_name (GIMP_VIEWABLE (procedure)),
GIMP_TYPE_SETTINGS);
config_type = gimp_operation_config_get_type (gimp,
procedure->original_name,
gimp_viewable_get_icon_name (GIMP_VIEWABLE (procedure)),
GIMP_TYPE_SETTINGS);
container =
gimp_operation_config_get_container (gimp,
G_TYPE_FROM_INSTANCE (settings),
gimp_operation_config_get_container (gimp, config_type,
(GCompareFunc) gimp_settings_compare);
g_object_unref (settings);
/* the last used settings */
settings = gimp_container_get_child_by_index (container, 0);

View File

@ -260,18 +260,18 @@ gimp_operation_config_register (Gimp *gimp,
(gpointer) config_type);
}
GimpObject *
gimp_operation_config_new (Gimp *gimp,
const gchar *operation,
const gchar *icon_name,
GType parent_type)
GType
gimp_operation_config_get_type (Gimp *gimp,
const gchar *operation,
const gchar *icon_name,
GType parent_type)
{
GHashTable *config_types;
GType config_type;
g_return_val_if_fail (GIMP_IS_GIMP (gimp), NULL);
g_return_val_if_fail (operation != NULL, NULL);
g_return_val_if_fail (g_type_is_a (parent_type, GIMP_TYPE_OBJECT), NULL);
g_return_val_if_fail (GIMP_IS_GIMP (gimp), G_TYPE_NONE);
g_return_val_if_fail (operation != NULL, G_TYPE_NONE);
g_return_val_if_fail (g_type_is_a (parent_type, GIMP_TYPE_OBJECT), G_TYPE_NONE);
config_types = gimp_operation_config_get_type_table (gimp);
@ -331,7 +331,7 @@ gimp_operation_config_new (Gimp *gimp,
}
}
return g_object_new (config_type, NULL);
return config_type;
}
GimpContainer *

View File

@ -23,7 +23,7 @@ void gimp_operation_config_register (Gimp *gimp,
const gchar *operation,
GType config_type);
GimpObject * gimp_operation_config_new (Gimp *gimp,
GType gimp_operation_config_get_type (Gimp *gimp,
const gchar *operation,
const gchar *icon_name,
GType parent_type);

View File

@ -1379,10 +1379,11 @@ gimp_filter_tool_get_operation (GimpFilterTool *filter_tool)
NULL);
filter_tool->config =
G_OBJECT (gimp_operation_config_new (tool_info->gimp,
operation_name,
filter_tool->icon_name,
GIMP_TYPE_SETTINGS));
g_object_new (gimp_operation_config_get_type (tool_info->gimp,
operation_name,
filter_tool->icon_name,
GIMP_TYPE_SETTINGS),
NULL);
gimp_operation_config_sync_node (GIMP_OBJECT (filter_tool->config),
filter_tool->operation);