From 00a8463181c33d1586b0c4c73c55703a296c6fde Mon Sep 17 00:00:00 2001 From: Martin Stransky Date: Fri, 2 Feb 2018 16:49:59 +0100 Subject: Fix crash when e10s is disabled and default wl_queue is processed. --- queue-crash.patch | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 queue-crash.patch (limited to 'queue-crash.patch') 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, ®istry_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 -- cgit