Issue #5640: Selection tools not showing selection on Wayland.

As suggested in a comment (itself coming from an IRC discussion), we
should not use gdk_window_(begin|end)_draw_frame() functions as this
works on X, but not on Wayland anymore. Instead draw directly during
draw() call of the shell widget, and force it to happen regularly, to
update the marching ants, via gtk_widget_queue_draw_region().

This is tested and works on Wayland. Please everyone, test thoroughly to
make sure it works well in all situations, and also that we don't get
any unexpected slowdowns.

Since the symptoms are very similar, it is highly possible that it also
fixes the issue #5952 too, for selection not showing on macOS since Big
Sur 11 (maybe they changed the same way as Wayland did). Unfortunately I
can't check this myself. Please test, whoever has access to a macOS Big
Sur and can build GIMP!

(cherry picked from commit 4fee04b839)
This commit is contained in:
Jehan
2021-05-09 02:17:23 +02:00
parent 81666bf01d
commit c3b35fd601
4 changed files with 93 additions and 73 deletions

View File

@ -96,6 +96,7 @@ struct _GimpDisplayShell
gboolean show_all; /* show the entire image */
Selection *selection; /* Selection (marching ants) */
gint64 selection_update; /* Last selection index update */
GList *children;