From c354b7e1473dd5def9c5ff11e4ed2912aac65abf Mon Sep 17 00:00:00 2001 From: Martin Stransky Date: Tue, 29 May 2018 14:37:47 +0200 Subject: [PATCH] Added fix for mozbz#1464808 - Set default D&D action to move on Wayland --- firefox.spec | 8 +++++++- mozilla-1464808.patch | 31 +++++++++++++++++++++++++++++++ 2 files changed, 38 insertions(+), 1 deletion(-) create mode 100644 mozilla-1464808.patch diff --git a/firefox.spec b/firefox.spec index a34f715..019f257 100644 --- a/firefox.spec +++ b/firefox.spec @@ -102,7 +102,7 @@ Summary: Mozilla Firefox Web browser Name: firefox Version: 60.0.1 -Release: 3%{?pre_tag}%{?dist} +Release: 4%{?pre_tag}%{?dist} URL: https://www.mozilla.org/firefox/ License: MPLv1.1 or GPLv2+ or LGPLv2+ Source0: https://hg.mozilla.org/releases/mozilla-release/archive/firefox-%{version}%{?pre_version}.source.tar.xz @@ -179,6 +179,7 @@ Patch560: rb244010.patch Patch561: rb244012.patch Patch562: rb246410.patch Patch563: rb245262.patch +Patch564: mozilla-1464808.patch # Debian patches Patch500: mozilla-440908.patch @@ -374,6 +375,7 @@ This package contains results of tests executed during build. %patch561 -p1 -b .rb244012 %patch562 -p1 -b .rb246410 %patch563 -p1 -b .rb245262 +%patch564 -p1 -b .mozilla-1464808 %endif %{__rm} -f .mozconfig @@ -910,6 +912,10 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : #--------------------------------------------------------------------- %changelog +* Tue May 29 2018 Martin Stransky - 60.0.1-4 +- Added fix for mozbz#1464808 - Set default D&D action to move + on Wayland. + * Fri May 25 2018 Martin Stransky - 60.0.1-3 - Added fix for mozbz#1436242 (rhbz#1577277) - Firefox IPC crashes. - Added fix for mozbz#1462640 - Sandbox disables eglGetDisplay() diff --git a/mozilla-1464808.patch b/mozilla-1464808.patch new file mode 100644 index 0000000..6cb6bde --- /dev/null +++ b/mozilla-1464808.patch @@ -0,0 +1,31 @@ +diff --git a/widget/gtk/nsClipboardWayland.cpp b/widget/gtk/nsClipboardWayland.cpp +--- a/widget/gtk/nsClipboardWayland.cpp ++++ b/widget/gtk/nsClipboardWayland.cpp +@@ -201,21 +201,25 @@ WaylandDataOffer::DragOfferAccept(const + } + + /* We follow logic of gdk_wayland_drag_context_commit_status()/gdkdnd-wayland.c + * here. + */ + void + WaylandDataOffer::SetDragStatus(GdkDragAction aAction, uint32_t aTime) + { +- uint32_t dnd_actions = gdk_to_wl_actions(aAction); + uint32_t all_actions = WL_DATA_DEVICE_MANAGER_DND_ACTION_COPY | + WL_DATA_DEVICE_MANAGER_DND_ACTION_MOVE; + +- wl_data_offer_set_actions(mWaylandDataOffer, all_actions, dnd_actions); ++ /* Default Firefox D&D action is move so set it here as a preferred one. ++ Actual D&D action will be select by Wayland compositor and reported ++ at data_offer_action() callback. ++ */ ++ wl_data_offer_set_actions(mWaylandDataOffer, all_actions, ++ WL_DATA_DEVICE_MANAGER_DND_ACTION_MOVE); + + /* Workaround Wayland D&D architecture here. To get the data_device_drop() + signal (which routes to nsDragService::GetData() call) we need to + accept at least one mime type before data_device_leave(). + + Real wl_data_offer_accept() for actualy requested data mime type is + called from nsDragService::GetData(). + */