Bug#1034289: inkscape: canvas stops updating completely when trying to edit a text box
Source: inkscape
Followup-For: Bug #1034289
X-Debbugs-Cc: giuseppe.bilotta@gmail.com, debian-gtk-gnome@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 <jay@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 to: