changeset 30237:722cd5d0f92a v9.0.0454

patch 9.0.0454: incorrect color for modeless selection with GTK Commit: https://github.com/vim/vim/commit/810cb5a3bf73ff4b084f483aa87cd49c1111bfa9 Author: Your Name <you@example.com> Date: Tue Sep 13 11:25:54 2022 +0100 patch 9.0.0454: incorrect color for modeless selection with GTK Problem: Incorrect color for modeless selection with GTK. Solution: Use simple inversion instead of XOR. (closes https://github.com/vim/vim/issues/11111)
author Bram Moolenaar <Bram@vim.org>
date Tue, 13 Sep 2022 12:30:05 +0200
parents 43ac83cc45ab
children c322f2862ba1
files src/gui_gtk_x11.c src/version.c
diffstat 2 files changed, 4 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/src/gui_gtk_x11.c
+++ b/src/gui_gtk_x11.c
@@ -6261,7 +6261,7 @@ gui_mch_invert_rectangle(int r, int c, i
     };
     cairo_t * const cr = cairo_create(gui.surface);
 
-    set_cairo_source_rgba_from_color(cr, gui.norm_pixel ^ gui.back_pixel);
+    cairo_set_source_rgba(cr, 1.0, 1.0, 1.0, 1.0);
 # if CAIRO_VERSION >= CAIRO_VERSION_ENCODE(1,9,2)
     cairo_set_operator(cr, CAIRO_OPERATOR_DIFFERENCE);
 # else
@@ -6281,13 +6281,9 @@ gui_mch_invert_rectangle(int r, int c, i
     if (gui.drawarea->window == NULL)
 	return;
 
-    values.foreground.pixel = gui.norm_pixel ^ gui.back_pixel;
-    values.background.pixel = gui.norm_pixel ^ gui.back_pixel;
-    values.function = GDK_XOR;
+    values.function = GDK_INVERT;
     invert_gc = gdk_gc_new_with_values(gui.drawarea->window,
 				       &values,
-				       GDK_GC_FOREGROUND |
-				       GDK_GC_BACKGROUND |
 				       GDK_GC_FUNCTION);
     gdk_gc_set_exposures(invert_gc, gui.visibility !=
 						   GDK_VISIBILITY_UNOBSCURED);
--- a/src/version.c
+++ b/src/version.c
@@ -704,6 +704,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    454,
+/**/
     453,
 /**/
     452,