Source: inkscape
Followup-For: Bug #1034289
X-Debbugs-Cc: giuseppe.bilo...@gmail.com, debian-gtk-gn...@lists.debian.org
Control: forwarded -1 https://gitlab.com/inkscape/inkscape/-/issues/3664

Dear Maintainer (and cc'ing the GTK-GNOME list),

Following on from Giuseppe's upstream link:

> Additional information: the issue I'm seeing seems to match upstream
> issue #3664
> https://gitlab.com/inkscape/inkscape/-/issues/3664

... to a further-upstream bug[1] in the GTK issue tracker, there's a reference
to GDK window repainting as the possible cause[2] (with a suggested fix).

The (untested) patch I've attached here applies the suggested change to
src:gtk+3.0 (and was created from version gtk+3.0-3.24.37 of it).

I don't yet have an environment prepared to build and test it, but will try to
create one soon.

Thanks,
James

[1] - https://gitlab.gnome.org/GNOME/gtk/-/issues/2560

[2] - https://gitlab.gnome.org/GNOME/gtk/-/issues/2560#note_757809
Description: gdkwindow: allow frame paint events to occur for non-toplevel 
windows
 .
 Partially-reverts upstream commit fc569f1ac6ff108afc17f7f439480273826af3a6.
Author: James Addison <j...@jp-hosting.net>
Bug: https://gitlab.gnome.org/GNOME/gtk/-/issues/2560
Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1034289
Last-Update: 2023-04-21

--- gtk+3.0-3.24.37.orig/gdk/gdkwindow.c
+++ gtk+3.0-3.24.37/gdk/gdkwindow.c
@@ -3253,7 +3253,7 @@ gdk_window_begin_draw_frame (GdkWindow
       return NULL;
     }
 
-  if (gdk_window_has_native (window) && gdk_window_is_toplevel (window))
+  if (gdk_window_has_native (window))
     gdk_window_begin_paint_internal (window, region);
 
   impl_class = GDK_WINDOW_IMPL_GET_CLASS (window->impl);
@@ -3307,7 +3307,7 @@ gdk_window_end_draw_frame (GdkWindow
       return;
     }
 
-  if (gdk_window_has_native (window) && gdk_window_is_toplevel (window))
+  if (gdk_window_has_native (window))
     gdk_window_end_paint_internal (window);
 
   impl_class = GDK_WINDOW_IMPL_GET_CLASS (window->impl);

Reply via email to