app: remove the "grid_dialog" member from GimpDisplayShell

and attach the dialog to the image, just like other dialogs.
This commit is contained in:
Michael Natterer
2016-09-24 14:49:43 +02:00
parent 1c82fc5f3c
commit 3f1104b626
3 changed files with 14 additions and 22 deletions

View File

@ -833,30 +833,29 @@ void
image_configure_grid_cmd_callback (GtkAction *action,
gpointer data)
{
GimpDisplay *display;
GimpImage *image;
GimpDisplayShell *shell;
GimpDisplay *display;
GimpImage *image;
GtkWidget *dialog;
return_if_no_display (display, data);
image = gimp_display_get_image (display);
shell = gimp_display_get_shell (display);
if (! shell->grid_dialog)
#define GRID_DIALOG_KEY "gimp-grid-dialog"
dialog = dialogs_get_dialog (G_OBJECT (image), GRID_DIALOG_KEY);
if (! dialog)
{
shell->grid_dialog = grid_dialog_new (image,
action_data_get_context (data),
GTK_WIDGET (shell));
GimpDisplayShell *shell = gimp_display_get_shell (display);
gtk_window_set_transient_for (GTK_WINDOW (shell->grid_dialog),
GTK_WINDOW (gtk_widget_get_toplevel (GTK_WIDGET (shell))));
gtk_window_set_destroy_with_parent (GTK_WINDOW (shell->grid_dialog),
TRUE);
dialog = grid_dialog_new (image,
action_data_get_context (data),
GTK_WIDGET (shell));
g_object_add_weak_pointer (G_OBJECT (shell->grid_dialog),
(gpointer) &shell->grid_dialog);
dialogs_attach_dialog (G_OBJECT (image), GRID_DIALOG_KEY, dialog);
}
gtk_window_present (GTK_WINDOW (shell->grid_dialog));
gtk_window_present (GTK_WINDOW (dialog));
}
void

View File

@ -868,12 +868,6 @@ gimp_display_shell_dispose (GObject *object)
shell->nav_popup = NULL;
}
if (shell->grid_dialog)
{
gtk_widget_destroy (shell->grid_dialog);
shell->grid_dialog = NULL;
}
if (shell->blink_timeout_id)
{
g_source_remove (shell->blink_timeout_id);

View File

@ -148,7 +148,6 @@ struct _GimpDisplayShell
GtkWidget *scale_dialog; /* scale (zoom) dialog */
GtkWidget *rotate_dialog; /* rotate dialog */
GtkWidget *nav_popup; /* navigation popup */
GtkWidget *grid_dialog; /* grid configuration dialog */
GimpColorConfig *color_config; /* color management settings */
gboolean color_config_set; /* settings changed from defaults */