mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-08 19:04:45 +00:00
Bug 1504904 - Don't use GDK_IS_WAYLAND_DISPLAY() as it's missing on Gtk+ X11 only builds, r=jhorak
Differential Revision: https://phabricator.services.mozilla.com/D11610 --HG-- extra : moz-landing-system : lando
This commit is contained in:
parent
50fbf54ef3
commit
582b645d9b
@ -100,7 +100,7 @@ DeleteWaylandGLSurface(EGLSurface surface)
|
||||
{
|
||||
// We're running on Wayland which means our EGLSurface may
|
||||
// have attached Wayland backend data which must be released.
|
||||
if (GDK_IS_WAYLAND_DISPLAY(gdk_display_get_default())) {
|
||||
if (!GDK_IS_X11_DISPLAY(gdk_display_get_default())) {
|
||||
auto entry = sWaylandGLSurface.Lookup(surface);
|
||||
if (entry) {
|
||||
delete entry.Data();
|
||||
@ -970,7 +970,7 @@ FillContextAttribs(bool alpha, bool depth, bool stencil, bool bpp16,
|
||||
{
|
||||
out->AppendElement(LOCAL_EGL_SURFACE_TYPE);
|
||||
#if defined(MOZ_WAYLAND)
|
||||
if (GDK_IS_WAYLAND_DISPLAY(gdk_display_get_default())) {
|
||||
if (!GDK_IS_X11_DISPLAY(gdk_display_get_default())) {
|
||||
// Wayland on desktop does not support PBuffer or FBO.
|
||||
// We create a dummy wl_egl_window instead.
|
||||
out->AppendElement(LOCAL_EGL_WINDOW_BIT);
|
||||
@ -1101,7 +1101,7 @@ GLContextEGL::CreateEGLPBufferOffscreenContext(CreateContextFlags flags,
|
||||
mozilla::gfx::IntSize pbSize(size);
|
||||
EGLSurface surface = nullptr;
|
||||
#if defined(MOZ_WAYLAND)
|
||||
if (GDK_IS_WAYLAND_DISPLAY(gdk_display_get_default())) {
|
||||
if (!GDK_IS_X11_DISPLAY(gdk_display_get_default())) {
|
||||
surface = GLContextEGL::CreateWaylandBufferSurface(config, pbSize);
|
||||
} else
|
||||
#endif
|
||||
|
@ -774,7 +774,7 @@ GLLibraryEGL::CreateDisplay(bool forceAccel, const nsCOMPtr<nsIGfxInfo>& gfxInfo
|
||||
#ifdef MOZ_WAYLAND
|
||||
// Some drivers doesn't support EGL_DEFAULT_DISPLAY
|
||||
GdkDisplay *gdkDisplay = gdk_display_get_default();
|
||||
if (GDK_IS_WAYLAND_DISPLAY(gdkDisplay)) {
|
||||
if (!GDK_IS_X11_DISPLAY(gdkDisplay)) {
|
||||
static auto sGdkWaylandDisplayGetWlDisplay =
|
||||
(wl_display *(*)(GdkDisplay *))
|
||||
dlsym(RTLD_DEFAULT, "gdk_wayland_display_get_wl_display");
|
||||
|
@ -799,7 +799,7 @@ already_AddRefed<gfx::VsyncSource>
|
||||
gfxPlatformGtk::CreateHardwareVsyncSource()
|
||||
{
|
||||
#ifdef MOZ_WAYLAND
|
||||
if (GDK_IS_WAYLAND_DISPLAY(gdk_display_get_default())) {
|
||||
if (!GDK_IS_X11_DISPLAY(gdk_display_get_default())) {
|
||||
RefPtr<VsyncSource> vsyncSource = new GtkVsyncSource();
|
||||
VsyncSource::Display& display = vsyncSource->GetGlobalDisplay();
|
||||
static_cast<GtkVsyncSource::GLXDisplay&>(display).SetupWayland();
|
||||
|
@ -4034,7 +4034,7 @@ XREMain::XRE_mainStartup(bool* aExitFlag)
|
||||
SaveWordToEnv("DISPLAY", nsDependentCString(display_name));
|
||||
}
|
||||
#ifdef MOZ_WAYLAND
|
||||
else if (GDK_IS_WAYLAND_DISPLAY(mGdkDisplay)) {
|
||||
else if (!GDK_IS_X11_DISPLAY(mGdkDisplay)) {
|
||||
SaveWordToEnv("WAYLAND_DISPLAY", nsDependentCString(display_name));
|
||||
}
|
||||
#endif
|
||||
|
@ -155,7 +155,7 @@ MakeScreen(GdkScreen* aScreen, gint aMonitorNum)
|
||||
DesktopToLayoutDeviceScale contentsScale(1.0);
|
||||
#ifdef MOZ_WAYLAND
|
||||
GdkDisplay* gdkDisplay = gdk_display_get_default();
|
||||
if (GDK_IS_WAYLAND_DISPLAY(gdkDisplay)) {
|
||||
if (!GDK_IS_X11_DISPLAY(gdkDisplay)) {
|
||||
contentsScale.scale = gdkScaleFactor;
|
||||
}
|
||||
#endif
|
||||
|
@ -215,7 +215,7 @@ moz_container_init (MozContainer *container)
|
||||
container->parent_surface_committed = false;
|
||||
|
||||
GdkDisplay *gdk_display = gtk_widget_get_display(GTK_WIDGET(container));
|
||||
if (GDK_IS_WAYLAND_DISPLAY (gdk_display)) {
|
||||
if (!GDK_IS_X11_DISPLAY(gdk_display)) {
|
||||
// Available as of GTK 3.8+
|
||||
static auto sGdkWaylandDisplayGetWlDisplay =
|
||||
(wl_display *(*)(GdkDisplay *))
|
||||
|
@ -303,12 +303,3 @@ wl_egl_window_resize(struct wl_egl_window *egl_window,
|
||||
{
|
||||
}
|
||||
|
||||
MOZ_EXPORT GType
|
||||
gdk_wayland_display_get_type(void)
|
||||
{
|
||||
// This shouldn't be ever called.
|
||||
abort();
|
||||
|
||||
return GDK_TYPE_X11_DISPLAY;
|
||||
}
|
||||
|
||||
|
@ -833,7 +833,7 @@ nsWindow::GetDesktopToDeviceScale()
|
||||
{
|
||||
#ifdef MOZ_WAYLAND
|
||||
GdkDisplay* gdkDisplay = gdk_display_get_default();
|
||||
if (GDK_IS_WAYLAND_DISPLAY(gdkDisplay)) {
|
||||
if (!GDK_IS_X11_DISPLAY(gdkDisplay)) {
|
||||
return DesktopToLayoutDeviceScale(GdkScaleFactor());
|
||||
}
|
||||
#endif
|
||||
@ -853,7 +853,7 @@ nsWindow::GetDesktopToDeviceScaleByScreen()
|
||||
// so the GdkScaleFactor can return wrong value which can lead to wrong popup
|
||||
// placement.
|
||||
// We need to use parent's window scale factor for the new one.
|
||||
if (GDK_IS_WAYLAND_DISPLAY(gdkDisplay)) {
|
||||
if (!GDK_IS_X11_DISPLAY(gdkDisplay)) {
|
||||
nsView* view = nsView::GetViewFor(this);
|
||||
if (view) {
|
||||
nsView* parentView = view->GetParent();
|
||||
|
Loading…
Reference in New Issue
Block a user