summaryrefslogtreecommitdiff
path: root/queue-crash.patch
diff options
context:
space:
mode:
authorMartin Stransky <stransky@redhat.com>2018-02-02 16:49:59 +0100
committerMartin Stransky <stransky@redhat.com>2018-02-02 16:49:59 +0100
commit00a8463181c33d1586b0c4c73c55703a296c6fde (patch)
treee786656cd54b83903e57158fc33d90a144c5cf19 /queue-crash.patch
parentFixed Firefox X11 desktop file launcher. (diff)
downloadlibrewolf-fedora-ff-00a8463181c33d1586b0c4c73c55703a296c6fde.tar.gz
librewolf-fedora-ff-00a8463181c33d1586b0c4c73c55703a296c6fde.tar.bz2
librewolf-fedora-ff-00a8463181c33d1586b0c4c73c55703a296c6fde.zip
Fix crash when e10s is disabled and default wl_queue is processed.
Diffstat (limited to 'queue-crash.patch')
-rw-r--r--queue-crash.patch26
1 files changed, 26 insertions, 0 deletions
diff --git a/queue-crash.patch b/queue-crash.patch
new file mode 100644
index 0000000..962fce9
--- /dev/null
+++ b/queue-crash.patch
@@ -0,0 +1,26 @@
+diff --git a/widget/gtk/WindowSurfaceWayland.cpp b/widget/gtk/WindowSurfaceWayland.cpp
+--- a/widget/gtk/WindowSurfaceWayland.cpp
++++ b/widget/gtk/WindowSurfaceWayland.cpp
+@@ -268,17 +268,21 @@ nsWaylandDisplay::GetShm()
+
+ if (!mShm) {
+ // wl_shm is not provided by Gtk so we need to query wayland directly
+ // See weston/simple-shm.c and create_display() for reference.
+ wl_registry* registry = wl_display_get_registry(mDisplay);
+ wl_registry_add_listener(registry, &registry_listener, this);
+
+ wl_proxy_set_queue((struct wl_proxy *)registry, mEventQueue);
+- wl_display_roundtrip_queue(mDisplay, mEventQueue);
++ if (mEventQueue) {
++ wl_display_roundtrip_queue(mDisplay, mEventQueue);
++ } else {
++ wl_display_roundtrip(mDisplay);
++ }
+
+ MOZ_RELEASE_ASSERT(mShm, "Wayland registry query failed!");
+ }
+
+ return(mShm);
+ }
+
+ bool
bgstack15