diff options
author | Martin Stransky <stransky@redhat.com> | 2018-05-25 12:50:35 +0200 |
---|---|---|
committer | Martin Stransky <stransky@redhat.com> | 2018-05-25 12:50:35 +0200 |
commit | dd0eb4d9d89c3b796044c7fac8397c8713c5cdeb (patch) | |
tree | a784b13aa5a0fb07ed8cc7c7f50ecdb3650c2e12 /mozilla-1460603.patch | |
parent | Update to 60.0.1 (diff) | |
download | librewolf-fedora-ff-dd0eb4d9d89c3b796044c7fac8397c8713c5cdeb.tar.gz librewolf-fedora-ff-dd0eb4d9d89c3b796044c7fac8397c8713c5cdeb.tar.bz2 librewolf-fedora-ff-dd0eb4d9d89c3b796044c7fac8397c8713c5cdeb.zip |
Enable Wayland backend
Diffstat (limited to 'mozilla-1460603.patch')
-rw-r--r-- | mozilla-1460603.patch | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/mozilla-1460603.patch b/mozilla-1460603.patch new file mode 100644 index 0000000..3e705b5 --- /dev/null +++ b/mozilla-1460603.patch @@ -0,0 +1,46 @@ +diff -up firefox-60.0.1/gfx/gl/GLLibraryEGL.cpp.mozilla-1460603 firefox-60.0.1/gfx/gl/GLLibraryEGL.cpp +--- firefox-60.0.1/gfx/gl/GLLibraryEGL.cpp.mozilla-1460603 2018-05-16 07:38:30.000000000 +0200 ++++ firefox-60.0.1/gfx/gl/GLLibraryEGL.cpp 2018-05-25 10:58:45.170047851 +0200 +@@ -31,6 +31,13 @@ + #include "GLContextProvider.h" + #include "gfxPrefs.h" + #include "ScopedGLHelpers.h" ++#ifdef MOZ_WIDGET_GTK ++#include <gdk/gdk.h> ++#ifdef MOZ_WAYLAND ++#include <gdk/gdkwayland.h> ++#include <dlfcn.h> ++#endif // MOZ_WIDGET_GTK ++#endif // MOZ_WAYLAND + + namespace mozilla { + namespace gl { +@@ -566,7 +573,22 @@ GLLibraryEGL::EnsureInitialized(bool for + mIsWARP = true; + } + } else { +- chosenDisplay = GetAndInitDisplay(*this, EGL_DEFAULT_DISPLAY); ++ void *nativeDisplay = EGL_DEFAULT_DISPLAY; ++#ifdef MOZ_WAYLAND ++ // Some drivers doesn't support EGL_DEFAULT_DISPLAY ++ GdkDisplay *gdkDisplay = gdk_display_get_default(); ++ if (GDK_IS_WAYLAND_DISPLAY(gdkDisplay)) { ++ static auto sGdkWaylandDisplayGetWlDisplay = ++ (wl_display *(*)(GdkDisplay *)) ++ dlsym(RTLD_DEFAULT, "gdk_wayland_display_get_wl_display"); ++ nativeDisplay = sGdkWaylandDisplayGetWlDisplay(gdkDisplay); ++ if (!nativeDisplay) { ++ NS_WARNING("Failed to get wl_display."); ++ return false; ++ } ++ } ++#endif ++ chosenDisplay = GetAndInitDisplay(*this, nativeDisplay); + } + + if (!chosenDisplay) { +@@ -872,4 +894,3 @@ AfterEGLCall(const char* glFunction) + + } /* namespace gl */ + } /* namespace mozilla */ +- |