[gimp/gimp-2-10] app: fix image-window UI-manager update while a projection is being rendered



commit 1cdd32955e87f27a8f3041f42e734ba3515966f2
Author: Ell <ell_se yahoo com>
Date:   Sat Mar 30 19:24:00 2019 -0400

    app: fix image-window UI-manager update while a projection is being rendered
    
    Set the priority of the image window's UI-manager update idle
    slightly higher than the projection idle priority, so that the
    image actions are updated during projection rendering.
    
    (cherry picked from commit 50aaeef6a0fed11b8c291fd956c0ca36f3d9eaa2)

 app/display/gimpimagewindow.c | 8 ++++++--
 app/gimp-priorities.h         | 3 ++-
 2 files changed, 8 insertions(+), 3 deletions(-)
---
diff --git a/app/display/gimpimagewindow.c b/app/display/gimpimagewindow.c
index 9defe164fc..6d659872d5 100644
--- a/app/display/gimpimagewindow.c
+++ b/app/display/gimpimagewindow.c
@@ -78,6 +78,8 @@
 #include "gimpstatusbar.h"
 
 #include "gimp-log.h"
+#include "gimp-priorities.h"
+
 #include "gimp-intl.h"
 
 
@@ -1924,8 +1926,10 @@ gimp_image_window_update_ui_manager (GimpImageWindow *window)
   if (! private->update_ui_manager_idle_id)
     {
       private->update_ui_manager_idle_id =
-        g_idle_add ((GSourceFunc) gimp_image_window_update_ui_manager_idle,
-                    window);
+        g_idle_add_full (GIMP_PRIORITY_IMAGE_WINDOW_UPDATE_UI_MANAGER_IDLE,
+                         (GSourceFunc) gimp_image_window_update_ui_manager_idle,
+                         window,
+                         NULL);
     }
 }
 
diff --git a/app/gimp-priorities.h b/app/gimp-priorities.h
index 07e0148b18..198f1d3252 100644
--- a/app/gimp-priorities.h
+++ b/app/gimp-priorities.h
@@ -28,7 +28,8 @@
 /* #define GTK_PRIORITY_REDRAW (G_PRIORITY_HIGH_IDLE + 20) */
 
 /*  a bit higher than projection construction  */
-#define GIMP_PRIORITY_DISPLAY_SHELL_FILL_IDLE (G_PRIORITY_HIGH_IDLE + 21)
+#define GIMP_PRIORITY_DISPLAY_SHELL_FILL_IDLE             (G_PRIORITY_HIGH_IDLE + 21)
+#define GIMP_PRIORITY_IMAGE_WINDOW_UPDATE_UI_MANAGER_IDLE (G_PRIORITY_HIGH_IDLE + 21)
 
 /*  just a bit less than GDK_PRIORITY_REDRAW   */
 #define GIMP_PRIORITY_PROJECTION_IDLE (G_PRIORITY_HIGH_IDLE + 22)


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]