static gboolean gimp_dialog_factory_dialog_configure (GtkWidget *dialog, GdkEventConfigure *cevent, GimpDialogFactory *factory) { GimpDialogFactory *dialog_factory; GimpDialogFactoryEntry *entry; GList *list; if (! g_list_find (factory->open_dialogs, dialog)) { g_warning ("%s: dialog not registered", G_STRFUNC); return FALSE; } dialog_factory = gimp_dialog_factory_from_widget (dialog, &entry); if (! dialog_factory || (! entry && ! GIMP_IS_DOCK (dialog))) { g_warning ("%s: dialog was not created by a GimpDialogFactory", G_STRFUNC); return FALSE; } if (dialog_factory != factory) { g_warning ("%s: dialog was created by a different GimpDialogFactory", G_STRFUNC); return FALSE; } for (list = factory->session_infos; list; list = g_list_next (list)) { GimpSessionInfo *session_info = list->data; if (session_info->widget == dialog) { gimp_session_info_get_geometry (session_info); GIMP_LOG (DIALOG_FACTORY, "updated session info for \"%s\" from window geometry " "(x=%d y=%d %dx%d)", entry ? entry->identifier : "dock", session_info->x, session_info->y, session_info->width, session_info->height); break; } } return FALSE; }
static gboolean gimp_dialog_factory_dialog_configure (GtkWidget *dialog, GdkEventConfigure *cevent, GimpDialogFactory *factory) { GimpDialogFactory *dialog_factory; GimpDialogFactoryEntry *entry; GList *list; if (! g_list_find (factory->open_dialogs, dialog)) { g_warning ("%s: dialog not registered", G_STRFUNC); return FALSE; } dialog_factory = gimp_dialog_factory_from_widget (dialog, &entry); if (! dialog_factory || ! entry) { g_warning ("%s: dialog was not created by a GimpDialogFactory", G_STRFUNC); return FALSE; } if (dialog_factory != factory) { g_warning ("%s: dialog was created by a different GimpDialogFactory", G_STRFUNC); return FALSE; } for (list = factory->session_infos; list; list = g_list_next (list)) { GimpSessionInfo *session_info = list->data; if (session_info->widget == dialog) { D (g_print ("%s: updating session info for \"%s\" from window geometry\n", G_STRFUNC, entry->identifier)); gimp_session_info_get_geometry (session_info); break; } } return FALSE; }