mirror of https://github.com/GNOME/gimp.git
be more tolerant and silently skip entries that the dialog factory doesn't
2004-11-04 Sven Neumann <sven@gimp.org> * app/widgets/gimpsessioninfo.c: be more tolerant and silently skip entries that the dialog factory doesn't recognize. * app/widgets/gimpdialogfactory.c: minor cleanup.
This commit is contained in:
parent
17905c1b1e
commit
a24047788c
|
@ -1,3 +1,10 @@
|
|||
2004-11-04 Sven Neumann <sven@gimp.org>
|
||||
|
||||
* app/widgets/gimpsessioninfo.c: be more tolerant and silently
|
||||
skip entries that the dialog factory doesn't recognize.
|
||||
|
||||
* app/widgets/gimpdialogfactory.c: minor cleanup.
|
||||
|
||||
2004-11-04 Sven Neumann <sven@gimp.org>
|
||||
|
||||
* app/dialogs/user-install-dialog.c (user_install_response): don't
|
||||
|
|
|
@ -357,9 +357,7 @@ gimp_dialog_factory_find_entry (GimpDialogFactory *factory,
|
|||
|
||||
for (list = factory->registered_dialogs; list; list = g_list_next (list))
|
||||
{
|
||||
GimpDialogFactoryEntry *entry;
|
||||
|
||||
entry = (GimpDialogFactoryEntry *) list->data;
|
||||
GimpDialogFactoryEntry *entry = list->data;
|
||||
|
||||
if (! strcmp (identifier, entry->identifier))
|
||||
return entry;
|
||||
|
@ -379,9 +377,7 @@ gimp_dialog_factory_find_session_info (GimpDialogFactory *factory,
|
|||
|
||||
for (list = factory->session_infos; list; list = g_list_next (list))
|
||||
{
|
||||
GimpSessionInfo *info;
|
||||
|
||||
info = (GimpSessionInfo *) list->data;
|
||||
GimpSessionInfo *info = list->data;
|
||||
|
||||
if ((info->toplevel_entry &&
|
||||
! strcmp (identifier, info->toplevel_entry->identifier)) ||
|
||||
|
@ -792,7 +788,7 @@ gimp_dialog_factory_add_dialog (GimpDialogFactory *factory,
|
|||
|
||||
for (list = factory->session_infos; list; list = g_list_next (list))
|
||||
{
|
||||
info = (GimpSessionInfo *) list->data;
|
||||
info = list->data;
|
||||
|
||||
if ((info->toplevel_entry == entry) ||
|
||||
(info->dockable_entry == entry))
|
||||
|
@ -869,7 +865,7 @@ gimp_dialog_factory_add_dialog (GimpDialogFactory *factory,
|
|||
|
||||
for (list = factory->session_infos; list; list = g_list_next (list))
|
||||
{
|
||||
info = (GimpSessionInfo *) list->data;
|
||||
info = list->data;
|
||||
|
||||
/* take the first empty slot */
|
||||
if (! info->toplevel_entry &&
|
||||
|
|
|
@ -504,6 +504,7 @@ gimp_session_info_deserialize (GScanner *scanner,
|
|||
GimpDialogFactory *factory;
|
||||
GimpSessionInfo *info = NULL;
|
||||
GTokenType token;
|
||||
gboolean skip = FALSE;
|
||||
gchar *factory_name;
|
||||
gchar *entry_name;
|
||||
|
||||
|
@ -559,15 +560,10 @@ gimp_session_info_deserialize (GScanner *scanner,
|
|||
{
|
||||
info->toplevel_entry = gimp_dialog_factory_find_entry (factory,
|
||||
entry_name);
|
||||
g_free (entry_name);
|
||||
skip = (info->toplevel_entry == NULL);
|
||||
}
|
||||
|
||||
if (! info->toplevel_entry)
|
||||
goto error;
|
||||
}
|
||||
else
|
||||
{
|
||||
g_free (entry_name);
|
||||
}
|
||||
g_free (entry_name);
|
||||
|
||||
token = G_TOKEN_LEFT_PAREN;
|
||||
|
||||
|
@ -651,13 +647,16 @@ gimp_session_info_deserialize (GScanner *scanner,
|
|||
{
|
||||
token = G_TOKEN_RIGHT_PAREN;
|
||||
|
||||
if (g_scanner_peek_next_token (scanner) == token)
|
||||
if (!skip && g_scanner_peek_next_token (scanner) == token)
|
||||
factory->session_infos = g_list_append (factory->session_infos, info);
|
||||
else
|
||||
gimp_session_info_free (info);
|
||||
}
|
||||
else
|
||||
{
|
||||
error:
|
||||
gimp_session_info_free (info);
|
||||
if (info)
|
||||
gimp_session_info_free (info);
|
||||
}
|
||||
|
||||
g_scanner_scope_remove_symbol (scanner, scope, "position");
|
||||
|
|
Loading…
Reference in New Issue