Added fix for mozbz#1464808 - Set default D&D action to move on Wayland

This commit is contained in:
Martin Stransky 2018-05-29 14:37:47 +02:00
parent 0af445c2f2
commit c354b7e147
2 changed files with 38 additions and 1 deletions

View File

@ -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 <stransky@redhat.com> - 60.0.1-4
- Added fix for mozbz#1464808 - Set default D&D action to move
on Wayland.
* Fri May 25 2018 Martin Stransky <stransky@redhat.com> - 60.0.1-3
- Added fix for mozbz#1436242 (rhbz#1577277) - Firefox IPC crashes.
- Added fix for mozbz#1462640 - Sandbox disables eglGetDisplay()

31
mozilla-1464808.patch Normal file
View File

@ -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().
*/