From b1d66824d092e564304ee71ebe62a735ccb765da Mon Sep 17 00:00:00 2001 From: Milan Crha Date: Mon, 14 Oct 2024 17:14:30 +0200 Subject: [PATCH] Resolves: #2318389 (WebKitGTK 2.46.1: Middle mouse button inserts primary clipboard twice) --- evolution.spec | 8 ++++++-- webkitgtk-2.46.1.patch | 37 +++++++++++++++++++++++++++++++++++++ 2 files changed, 43 insertions(+), 2 deletions(-) create mode 100644 webkitgtk-2.46.1.patch diff --git a/evolution.spec b/evolution.spec index db8d78b..44d77db 100644 --- a/evolution.spec +++ b/evolution.spec @@ -44,7 +44,7 @@ Name: evolution Version: 3.50.4 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Mail and calendar client for GNOME License: GPL-2.0-or-later AND GFDL-1.3-or-later URL: https://wiki.gnome.org/Apps/Evolution @@ -53,6 +53,7 @@ Source1: flatpak-evolution-fix-service-names.sh Source2: flatpak-evolution-wrapper.sh.in # 0-99: General patches +Patch001: webkitgtk-2.46.1.patch # 100-199: Flatpak-specific patches # https://gitlab.gnome.org/GNOME/evolution-data-server/-/merge_requests/144 @@ -592,7 +593,10 @@ grep -v "%{_datadir}/locale" evolution.lang > help.lang %endif %changelog -* Wed Feb 28 2024 Owen Taylor - 3.50.3-2 +* Mon Oct 14 2024 Milan Crha - 3.50.4-3 +- Resolves: #2318389 (WebKitGTK 2.46.1: Middle mouse button inserts primary clipboard twice) + +* Wed Feb 28 2024 Owen Taylor - 3.50.4-2 - Add patch to fix backup tool for F39-style Flatpaks where the EDS D-Bus service name prefix is set at container creation time. diff --git a/webkitgtk-2.46.1.patch b/webkitgtk-2.46.1.patch new file mode 100644 index 0000000..7fe3e1a --- /dev/null +++ b/webkitgtk-2.46.1.patch @@ -0,0 +1,37 @@ +diff --git a/src/modules/webkit-editor/e-webkit-editor.c b/src/modules/webkit-editor/e-webkit-editor.c +index bc423841a8..d3217cd48b 100644 +--- a/src/modules/webkit-editor/e-webkit-editor.c ++++ b/src/modules/webkit-editor/e-webkit-editor.c +@@ -5724,6 +5724,24 @@ webkit_editor_button_press_event (GtkWidget *widget, + GTK_WIDGET_CLASS (e_webkit_editor_parent_class)->button_press_event (widget, event); + } + ++static gboolean ++webkit_editor_button_release_event (GtkWidget *widget, ++ GdkEventButton *event) ++{ ++ if (event->button == 2) { ++ /* WebKitGTK 2.46.1 changed the middle-click paste behavior and moved ++ the paste handler from the button-press event into the button-release ++ event, which causes double paste of the clipboard content. As the paste ++ is handled in the webkit_editor_button_press_event() above, make sure ++ the release handler is not called here regardless whether the user ++ uses the changed WebkitGTK or not. */ ++ return TRUE; ++ } ++ ++ /* Chain up to parent's method. */ ++ return GTK_WIDGET_CLASS (e_webkit_editor_parent_class)->button_release_event (widget, event); ++} ++ + static gboolean + webkit_editor_key_press_event (GtkWidget *widget, + GdkEventKey *event) +@@ -5814,6 +5832,7 @@ e_webkit_editor_class_init (EWebKitEditorClass *class) + + widget_class = GTK_WIDGET_CLASS (class); + widget_class->button_press_event = webkit_editor_button_press_event; ++ widget_class->button_release_event = webkit_editor_button_release_event; + widget_class->key_press_event = webkit_editor_key_press_event; + + g_object_class_override_property (