diff --git a/widget/gtk/WakeLockListener.cpp b/widget/gtk/WakeLockListener.cpp --- a/widget/gtk/WakeLockListener.cpp +++ b/widget/gtk/WakeLockListener.cpp @@ -662,16 +662,17 @@ return false; } UninhibitWaylandIdle(); - MozContainerSurfaceLock lock(focusedWindow->GetMozContainer()); - struct wl_surface* waylandSurface = lock.GetSurface(); - if (waylandSurface) { - mWaylandInhibitor = zwp_idle_inhibit_manager_v1_create_inhibitor( - waylandDisplay->GetIdleInhibitManager(), waylandSurface); - mState = Inhibited; + if (GdkWindow* window = focusedWindow->GetGdkWindow()) { + wl_surface* waylandSurface = gdk_wayland_window_get_wl_surface(window); + if (waylandSurface) { + mWaylandInhibitor = zwp_idle_inhibit_manager_v1_create_inhibitor( + waylandDisplay->GetIdleInhibitManager(), waylandSurface); + mState = Inhibited; + } } WAKE_LOCK_LOG("InhibitWaylandIdle() %s", !!mWaylandInhibitor ? "succeeded" : "failed"); return !!mWaylandInhibitor;