diff options
author | V3n3RiX <venerix@koprulu.sector> | 2023-05-26 15:09:32 +0100 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2023-05-26 15:09:32 +0100 |
commit | f3a881e4cb31d574a107320b2f04e2d1f0ddf551 (patch) | |
tree | 0fb407d14cee6b3da0742b5060c92e9accb07fe0 /gui-libs/gtk/files/gtk-4.10.3-black-screen-rendering.patch | |
parent | 720452fca3cdf447b4c65bc3bb363032a983309e (diff) |
gentoo auto-resync : 26:05:2023 - 15:09:32
Diffstat (limited to 'gui-libs/gtk/files/gtk-4.10.3-black-screen-rendering.patch')
-rw-r--r-- | gui-libs/gtk/files/gtk-4.10.3-black-screen-rendering.patch | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/gui-libs/gtk/files/gtk-4.10.3-black-screen-rendering.patch b/gui-libs/gtk/files/gtk-4.10.3-black-screen-rendering.patch new file mode 100644 index 000000000000..0431cf2bf16a --- /dev/null +++ b/gui-libs/gtk/files/gtk-4.10.3-black-screen-rendering.patch @@ -0,0 +1,37 @@ +https://gitlab.gnome.org/GNOME/gtk/-/commit/b686ce1cb62dba505120e0f1116c516662a06e30 + +From b686ce1cb62dba505120e0f1116c516662a06e30 Mon Sep 17 00:00:00 2001 +From: Carlos Garnacho <carlosg@gnome.org> +Date: Fri, 21 Apr 2023 10:58:19 +0200 +Subject: [PATCH] gdk/x11: Invalidate whole surface after size change + +The Expose events following a ConfigureNotify may arrive at +a time that we did not resize the surface yet, making these +expose events a no-op. Even though gsk/gtk take care of the +window content itself, this might lead to unrendered portions +of the window shadow. + +This may be seen with GSK_RENDERER=cairo and GDK_BACKEND=x11, +attempting to tile a window (e.g. gtk4-demo) left or right. +The window will show black rectangles or other artifacts in +the window shadow areas that correspond to the newly painted +portions (as the window needs to expand vertically). + +In order to fix this with a similar behavior to Wayland, +consider ourselves the whole surface invalidated after resize, +in order to ensure everything is painted from scratch. + +(cherry-picked from commit 24302315fb8f46be141a9eda60e8d107c84a948d) +--- a/gdk/x11/gdksurface-x11.c ++++ b/gdk/x11/gdksurface-x11.c +@@ -208,6 +208,8 @@ gdk_x11_surface_update_size (GdkX11Surface *self, + cairo_surface_set_device_scale (self->cairo_surface, scale, scale); + } + ++ gdk_surface_invalidate_rect (surface, NULL); ++ + return TRUE; + } + +-- +GitLab |