Merge branch 'master' into f28
This commit is contained in:
commit
5b94db953d
13
firefox.spec
13
firefox.spec
@ -88,7 +88,7 @@
|
|||||||
Summary: Mozilla Firefox Web browser
|
Summary: Mozilla Firefox Web browser
|
||||||
Name: firefox
|
Name: firefox
|
||||||
Version: 63.0.3
|
Version: 63.0.3
|
||||||
Release: 2%{?pre_tag}%{?dist}
|
Release: 3%{?pre_tag}%{?dist}
|
||||||
URL: https://www.mozilla.org/firefox/
|
URL: https://www.mozilla.org/firefox/
|
||||||
License: MPLv1.1 or GPLv2+ or LGPLv2+
|
License: MPLv1.1 or GPLv2+ or LGPLv2+
|
||||||
Source0: https://archive.mozilla.org/pub/firefox/releases/%{version}%{?pre_version}/source/firefox-%{version}%{?pre_version}.source.tar.xz
|
Source0: https://archive.mozilla.org/pub/firefox/releases/%{version}%{?pre_version}/source/firefox-%{version}%{?pre_version}.source.tar.xz
|
||||||
@ -158,7 +158,7 @@ Patch574: firefox-pipewire.patch
|
|||||||
Patch581: mozilla-1493081.patch
|
Patch581: mozilla-1493081.patch
|
||||||
Patch582: mozilla-1504689.patch
|
Patch582: mozilla-1504689.patch
|
||||||
Patch583: firefox-init-wayland-clipboard.patch
|
Patch583: firefox-init-wayland-clipboard.patch
|
||||||
Patch584: firefox-wayland-crash-mozbz1507475.patch
|
Patch585: mozilla-1507475.patch
|
||||||
|
|
||||||
# Debian patches
|
# Debian patches
|
||||||
Patch500: mozilla-440908.patch
|
Patch500: mozilla-440908.patch
|
||||||
@ -377,7 +377,7 @@ This package contains results of tests executed during build.
|
|||||||
%patch581 -p1 -b .mozilla-1493081
|
%patch581 -p1 -b .mozilla-1493081
|
||||||
%patch582 -p1 -b .mozilla-1504689
|
%patch582 -p1 -b .mozilla-1504689
|
||||||
%patch583 -p1 -b .init-wayland-clipboard
|
%patch583 -p1 -b .init-wayland-clipboard
|
||||||
%patch584 -p1 -b .mozbz1507475
|
%patch585 -p1 -b .mozbz1507475
|
||||||
|
|
||||||
%{__rm} -f .mozconfig
|
%{__rm} -f .mozconfig
|
||||||
%{__cp} %{SOURCE10} .mozconfig
|
%{__cp} %{SOURCE10} .mozconfig
|
||||||
@ -934,8 +934,13 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
|
|||||||
#---------------------------------------------------------------------
|
#---------------------------------------------------------------------
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Mon Nov 26 2018 Martin Stransky <stransky@redhat.com> - 63.0.3-3
|
||||||
|
- [Wayland] Fixed issues with Sway compositor and wl_keyboard setup
|
||||||
|
(mozbz#1507475).
|
||||||
|
|
||||||
* Wed Nov 21 2018 Martin Stransky <stransky@redhat.com> - 63.0.3-2
|
* Wed Nov 21 2018 Martin Stransky <stransky@redhat.com> - 63.0.3-2
|
||||||
- Fixed mozbz#1507475 - crash when display changes (rhbz#1646151).
|
- [Wayland] Fixed mozbz#1507475 - crash when display changes
|
||||||
|
(rhbz#1646151).
|
||||||
|
|
||||||
* Thu Nov 15 2018 Martin Stransky <stransky@redhat.com> - 63.0.3-1
|
* Thu Nov 15 2018 Martin Stransky <stransky@redhat.com> - 63.0.3-1
|
||||||
- Updated to latest upstream (63.0.3)
|
- Updated to latest upstream (63.0.3)
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
diff -up firefox-63.0.3/widget/gtk/mozcontainer.cpp.mozbz1507475 firefox-63.0.3/widget/gtk/mozcontainer.cpp
|
diff -up firefox-63.0.3/widget/gtk/mozcontainer.cpp.mozbz1507475 firefox-63.0.3/widget/gtk/mozcontainer.cpp
|
||||||
--- firefox-63.0.3/widget/gtk/mozcontainer.cpp.mozbz1507475 2018-11-15 01:20:56.000000000 +0100
|
--- firefox-63.0.3/widget/gtk/mozcontainer.cpp.mozbz1507475 2018-11-15 01:20:56.000000000 +0100
|
||||||
+++ firefox-63.0.3/widget/gtk/mozcontainer.cpp 2018-11-21 15:41:41.858692640 +0100
|
+++ firefox-63.0.3/widget/gtk/mozcontainer.cpp 2018-11-26 09:36:13.083772336 +0100
|
||||||
@@ -169,6 +169,8 @@ moz_container_class_init (MozContainerCl
|
@@ -169,6 +169,8 @@ moz_container_class_init (MozContainerCl
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -83,7 +83,7 @@ diff -up firefox-63.0.3/widget/gtk/mozcontainer.cpp.mozbz1507475 firefox-63.0.3/
|
|||||||
gint x, y;
|
gint x, y;
|
||||||
diff -up firefox-63.0.3/widget/gtk/mozcontainer.h.mozbz1507475 firefox-63.0.3/widget/gtk/mozcontainer.h
|
diff -up firefox-63.0.3/widget/gtk/mozcontainer.h.mozbz1507475 firefox-63.0.3/widget/gtk/mozcontainer.h
|
||||||
--- firefox-63.0.3/widget/gtk/mozcontainer.h.mozbz1507475 2018-11-15 01:20:56.000000000 +0100
|
--- firefox-63.0.3/widget/gtk/mozcontainer.h.mozbz1507475 2018-11-15 01:20:56.000000000 +0100
|
||||||
+++ firefox-63.0.3/widget/gtk/mozcontainer.h 2018-11-21 14:16:54.412397805 +0100
|
+++ firefox-63.0.3/widget/gtk/mozcontainer.h 2018-11-26 09:36:13.083772336 +0100
|
||||||
@@ -69,7 +69,6 @@ struct _MozContainer
|
@@ -69,7 +69,6 @@ struct _MozContainer
|
||||||
GList *children;
|
GList *children;
|
||||||
|
|
||||||
@ -92,3 +92,103 @@ diff -up firefox-63.0.3/widget/gtk/mozcontainer.h.mozbz1507475 firefox-63.0.3/wi
|
|||||||
struct wl_surface *surface;
|
struct wl_surface *surface;
|
||||||
struct wl_subsurface *subsurface;
|
struct wl_subsurface *subsurface;
|
||||||
struct wl_egl_window *eglwindow;
|
struct wl_egl_window *eglwindow;
|
||||||
|
diff -up firefox-63.0.3/widget/gtk/nsGtkKeyUtils.cpp.mozbz1507475 firefox-63.0.3/widget/gtk/nsGtkKeyUtils.cpp
|
||||||
|
--- firefox-63.0.3/widget/gtk/nsGtkKeyUtils.cpp.mozbz1507475 2018-11-15 01:20:56.000000000 +0100
|
||||||
|
+++ firefox-63.0.3/widget/gtk/nsGtkKeyUtils.cpp 2018-11-26 09:36:13.084772332 +0100
|
||||||
|
@@ -584,68 +584,37 @@ static const struct wl_keyboard_listener
|
||||||
|
keyboard_handle_modifiers,
|
||||||
|
};
|
||||||
|
|
||||||
|
-static void
|
||||||
|
-seat_handle_capabilities(void *data, struct wl_seat *seat,
|
||||||
|
- unsigned int caps)
|
||||||
|
-{
|
||||||
|
- static wl_keyboard *keyboard = nullptr;
|
||||||
|
-
|
||||||
|
- if (caps & WL_SEAT_CAPABILITY_KEYBOARD) {
|
||||||
|
- keyboard = wl_seat_get_keyboard(seat);
|
||||||
|
- wl_keyboard_add_listener(keyboard, &keyboard_listener, nullptr);
|
||||||
|
- } else if (keyboard && !(caps & WL_SEAT_CAPABILITY_KEYBOARD)) {
|
||||||
|
- wl_keyboard_destroy(keyboard);
|
||||||
|
- keyboard = nullptr;
|
||||||
|
- }
|
||||||
|
-}
|
||||||
|
-
|
||||||
|
-static const struct wl_seat_listener seat_listener = {
|
||||||
|
- seat_handle_capabilities,
|
||||||
|
-};
|
||||||
|
-
|
||||||
|
-static void
|
||||||
|
-gdk_registry_handle_global(void *data,
|
||||||
|
- struct wl_registry *registry,
|
||||||
|
- uint32_t id,
|
||||||
|
- const char *interface,
|
||||||
|
- uint32_t version)
|
||||||
|
-{
|
||||||
|
- if (strcmp(interface, "wl_seat") == 0) {
|
||||||
|
- wl_seat *seat =
|
||||||
|
- (wl_seat*)wl_registry_bind(registry, id, &wl_seat_interface, 1);
|
||||||
|
- wl_seat_add_listener(seat, &seat_listener, data);
|
||||||
|
- }
|
||||||
|
-}
|
||||||
|
-
|
||||||
|
-static void
|
||||||
|
-gdk_registry_handle_global_remove(void *data,
|
||||||
|
- struct wl_registry *registry,
|
||||||
|
- uint32_t id)
|
||||||
|
-{
|
||||||
|
-}
|
||||||
|
-
|
||||||
|
-static const struct wl_registry_listener keyboard_registry_listener = {
|
||||||
|
- gdk_registry_handle_global,
|
||||||
|
- gdk_registry_handle_global_remove
|
||||||
|
-};
|
||||||
|
-
|
||||||
|
void
|
||||||
|
KeymapWrapper::InitBySystemSettingsWayland()
|
||||||
|
{
|
||||||
|
- // Available as of GTK 3.8+
|
||||||
|
- static auto sGdkWaylandDisplayGetWlDisplay =
|
||||||
|
- (wl_display *(*)(GdkDisplay *))
|
||||||
|
- dlsym(RTLD_DEFAULT, "gdk_wayland_display_get_wl_display");
|
||||||
|
-
|
||||||
|
- wl_display *display =
|
||||||
|
- sGdkWaylandDisplayGetWlDisplay(gdk_display_get_default());
|
||||||
|
- wl_registry_add_listener(wl_display_get_registry(display),
|
||||||
|
- &keyboard_registry_listener, this);
|
||||||
|
-
|
||||||
|
- // Call wl_display_roundtrip() twice to make sure all
|
||||||
|
- // callbacks are processed.
|
||||||
|
- wl_display_roundtrip(display);
|
||||||
|
- wl_display_roundtrip(display);
|
||||||
|
+ GdkDeviceManager* manager =
|
||||||
|
+ gdk_display_get_device_manager(gdk_display_get_default());
|
||||||
|
+ GList* devices =
|
||||||
|
+ gdk_device_manager_list_devices(manager, GDK_DEVICE_TYPE_MASTER);
|
||||||
|
+ GdkDevice* device = nullptr;
|
||||||
|
+
|
||||||
|
+ GList* list = devices;
|
||||||
|
+ while (devices) {
|
||||||
|
+ device = static_cast<GdkDevice*>(devices->data);
|
||||||
|
+ if (gdk_device_get_source(device) == GDK_SOURCE_KEYBOARD) {
|
||||||
|
+ break;
|
||||||
|
+ }
|
||||||
|
+ devices = devices->next;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ if (list) {
|
||||||
|
+ g_list_free(list);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ if (device) {
|
||||||
|
+ // Present in Gtk+ 3.10
|
||||||
|
+ static auto sGdkWaylandDeviceGetWlKeyboard =
|
||||||
|
+ (struct wl_keyboard * (*)(GdkDevice *device))
|
||||||
|
+ dlsym(RTLD_DEFAULT, "gdk_wayland_device_get_wl_keyboard");
|
||||||
|
+
|
||||||
|
+ wl_keyboard_add_listener(sGdkWaylandDeviceGetWlKeyboard(device),
|
||||||
|
+ &keyboard_listener, nullptr);
|
||||||
|
+ }
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue
Block a user