From 654ef12d58bbe5cac32d6337ff7e64081501e041 Mon Sep 17 00:00:00 2001 From: Jehan Date: Wed, 2 May 2018 01:23:54 +0200 Subject: [PATCH] Revert "Bug 794356 - Rulers always shown for subsequent image views" This reverts commit 7230d5d777c98fb4896f1de76c147deb4f3ae692. Remove GTK+2 only hack. --- app/display/gimpdisplayshell-callbacks.c | 14 -------------- app/display/gimpdisplayshell-callbacks.h | 2 -- app/display/gimpdisplayshell.c | 3 --- app/display/gimpimagewindow.c | 14 +++++++++++--- 4 files changed, 11 insertions(+), 22 deletions(-) diff --git a/app/display/gimpdisplayshell-callbacks.c b/app/display/gimpdisplayshell-callbacks.c index 8341e7bea2..55acd7b47e 100644 --- a/app/display/gimpdisplayshell-callbacks.c +++ b/app/display/gimpdisplayshell-callbacks.c @@ -129,20 +129,6 @@ gimp_display_shell_canvas_realize (GtkWidget *canvas, gtk_widget_show (shell->vrule); } -void -gimp_display_shell_canvas_realize_after (GtkWidget *canvas, - GimpDisplayShell *shell) -{ - GimpImageWindow *window = gimp_display_shell_get_window (shell); - - /* HACK: see above: must go with GTK+ 3.x too. Restore the rulers' - * intended visibility again. - */ - gimp_image_window_suspend_keep_pos (window); - gimp_display_shell_appearance_update (shell); - gimp_image_window_resume_keep_pos (window); -} - void gimp_display_shell_canvas_size_allocate (GtkWidget *widget, GtkAllocation *allocation, diff --git a/app/display/gimpdisplayshell-callbacks.h b/app/display/gimpdisplayshell-callbacks.h index 5b6b5e9aa3..551f2d5f27 100644 --- a/app/display/gimpdisplayshell-callbacks.h +++ b/app/display/gimpdisplayshell-callbacks.h @@ -21,8 +21,6 @@ void gimp_display_shell_canvas_realize (GtkWidget *widget, GimpDisplayShell *shell); -void gimp_display_shell_canvas_realize_after (GtkWidget *widget, - GimpDisplayShell *shell); void gimp_display_shell_canvas_size_allocate (GtkWidget *widget, GtkAllocation *alloc, GimpDisplayShell *shell); diff --git a/app/display/gimpdisplayshell.c b/app/display/gimpdisplayshell.c index 1fd027bff4..2a7612f1d2 100644 --- a/app/display/gimpdisplayshell.c +++ b/app/display/gimpdisplayshell.c @@ -591,9 +591,6 @@ gimp_display_shell_constructed (GObject *object) g_signal_connect (shell->canvas, "realize", G_CALLBACK (gimp_display_shell_canvas_realize), shell); - g_signal_connect (shell->canvas, "realize", - G_CALLBACK (gimp_display_shell_canvas_realize_after), - shell); g_signal_connect (shell->canvas, "size-allocate", G_CALLBACK (gimp_display_shell_canvas_size_allocate), shell); diff --git a/app/display/gimpimagewindow.c b/app/display/gimpimagewindow.c index 5b271091d4..39eb4a99f1 100644 --- a/app/display/gimpimagewindow.c +++ b/app/display/gimpimagewindow.c @@ -467,9 +467,17 @@ gimp_image_window_constructed (GObject *object) gtk_paned_pack1 (GTK_PANED (private->right_hpane), private->notebook, TRUE, TRUE); - g_signal_connect (private->notebook, "switch-page", - G_CALLBACK (gimp_image_window_switch_page), - window); + /* HACK: remove with GTK+ 3.x: there is no reason to + * connect_after() here except the HACK at the end of + * gimp_display_shell_canvas_realize(). + * + * We need to make sure gimp_display_shell_appearance_update() is + * called after realize() so the ill-shown rulers are properly + * hidden again + */ + g_signal_connect_after (private->notebook, "switch-page", + G_CALLBACK (gimp_image_window_switch_page), + window); g_signal_connect (private->notebook, "page-removed", G_CALLBACK (gimp_image_window_page_removed), window);