[wayland] Keep fullscreen state directly in ShellClient
So far we delegated to ShellSurfaceInterface, but it's possible that we call into isFullscreen when the ShellSurfaceInterface is already destroyed. Note: the functionality needs to be slightly reworked. The fullscreen state should change once we get a buffer for fullscreen, not when the client requests it. This is a general pattern which is wrong also for maximized, etc.
This commit is contained in:
parent
f3cfbacb1e
commit
b35c3e8501
2 changed files with 6 additions and 1 deletions
|
@ -328,7 +328,7 @@ bool ShellClient::isFullScreenable() const
|
||||||
|
|
||||||
bool ShellClient::isFullScreen() const
|
bool ShellClient::isFullScreen() const
|
||||||
{
|
{
|
||||||
return m_shellSurface->isFullscreen();
|
return m_fullScreen;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool ShellClient::isMaximizable() const
|
bool ShellClient::isMaximizable() const
|
||||||
|
@ -586,6 +586,10 @@ void ShellClient::clientFullScreenChanged(bool fullScreen)
|
||||||
requestGeometry(workspace()->clientArea(MaximizeArea, this));
|
requestGeometry(workspace()->clientArea(MaximizeArea, this));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (m_fullScreen != fullScreen) {
|
||||||
|
m_fullScreen = fullScreen;
|
||||||
|
emit fullScreenChanged();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void ShellClient::move(int x, int y, ForceGeometry_t force)
|
void ShellClient::move(int x, int y, ForceGeometry_t force)
|
||||||
|
|
|
@ -150,6 +150,7 @@ private:
|
||||||
NET::WindowType m_windowType = NET::Normal;
|
NET::WindowType m_windowType = NET::Normal;
|
||||||
QPointer<KWayland::Server::PlasmaShellSurfaceInterface> m_plasmaShellSurface;
|
QPointer<KWayland::Server::PlasmaShellSurfaceInterface> m_plasmaShellSurface;
|
||||||
QPointer<KWayland::Server::QtExtendedSurfaceInterface> m_qtExtendedSurface;
|
QPointer<KWayland::Server::QtExtendedSurfaceInterface> m_qtExtendedSurface;
|
||||||
|
bool m_fullScreen = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue