[gimp/gimp-2-10] Issue #2643 - Conversion to grayscale fails with artifacts
- From: Michael Natterer <mitch src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gimp/gimp-2-10] Issue #2643 - Conversion to grayscale fails with artifacts
- Date: Sat, 1 Jun 2019 12:27:47 +0000 (UTC)
commit ef6bb9d4ade2cf6bd9cd5b55e83d4412dc4c0c93
Author: Michael Natterer <mitch gimp org>
Date: Sat Jun 1 14:19:05 2019 +0200
Issue #2643 - Conversion to grayscale fails with artifacts
Connect GimpDisplayShell to GimpImage::mode-changed and update its
cached color transforms. Also get rid of a duplicate conection to
GimpImage::precision-changed.
(cherry picked from commit a1aa17943633e5cfd6b09184f0ee4f43b4093c2b)
No idea why the artifacty never appeared on 2.10, the code was just as
broken as in master...
app/display/gimpdisplayshell-handlers.c | 18 +++++++++++++++---
1 file changed, 15 insertions(+), 3 deletions(-)
---
diff --git a/app/display/gimpdisplayshell-handlers.c b/app/display/gimpdisplayshell-handlers.c
index f208272f21..85539a5798 100644
--- a/app/display/gimpdisplayshell-handlers.c
+++ b/app/display/gimpdisplayshell-handlers.c
@@ -120,6 +120,8 @@ static void gimp_display_shell_sample_point_move_handler (GimpImage *i
GimpDisplayShell *shell);
static void gimp_display_shell_invalidate_preview_handler (GimpImage *image,
GimpDisplayShell *shell);
+static void gimp_display_shell_mode_changed_handler (GimpImage *image,
+ GimpDisplayShell *shell);
static void gimp_display_shell_precision_changed_handler (GimpImage *image,
GimpDisplayShell *shell);
static void gimp_display_shell_profile_changed_handler (GimpColorManaged *image,
@@ -262,15 +264,15 @@ gimp_display_shell_connect (GimpDisplayShell *shell)
g_signal_connect (image, "invalidate-preview",
G_CALLBACK (gimp_display_shell_invalidate_preview_handler),
shell);
+ g_signal_connect (image, "mode-changed",
+ G_CALLBACK (gimp_display_shell_mode_changed_handler),
+ shell);
g_signal_connect (image, "precision-changed",
G_CALLBACK (gimp_display_shell_precision_changed_handler),
shell);
g_signal_connect (image, "profile-changed",
G_CALLBACK (gimp_display_shell_profile_changed_handler),
shell);
- g_signal_connect (image, "precision-changed",
- G_CALLBACK (gimp_display_shell_precision_changed_handler),
- shell);
g_signal_connect (image, "saved",
G_CALLBACK (gimp_display_shell_saved_handler),
shell);
@@ -482,6 +484,9 @@ gimp_display_shell_disconnect (GimpDisplayShell *shell)
g_signal_handlers_disconnect_by_func (image,
gimp_display_shell_precision_changed_handler,
shell);
+ g_signal_handlers_disconnect_by_func (image,
+ gimp_display_shell_mode_changed_handler,
+ shell);
g_signal_handlers_disconnect_by_func (image,
gimp_display_shell_invalidate_preview_handler,
shell);
@@ -845,6 +850,13 @@ gimp_display_shell_invalidate_preview_handler (GimpImage *image,
gimp_display_shell_icon_update (shell);
}
+static void
+gimp_display_shell_mode_changed_handler (GimpImage *image,
+ GimpDisplayShell *shell)
+{
+ gimp_display_shell_profile_update (shell);
+}
+
static void
gimp_display_shell_precision_changed_handler (GimpImage *image,
GimpDisplayShell *shell)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]