diff options
| author | Vaxry <vaxry@vaxry.net> | 2024-03-05 20:42:22 +0000 |
|---|---|---|
| committer | Vaxry <vaxry@vaxry.net> | 2024-03-05 20:42:29 +0000 |
| commit | a4c1f4a03d7304f4b7935d4e163fd5df62a3121c (patch) | |
| tree | ec78c04c7858e6f38a0c292b4bf205cf08eca942 /src/desktop/Popup.cpp | |
| parent | 0ee69058c447b91bd142523676b13c5af8685ba8 (diff) | |
popup: send scale on map
fixes #4972
Diffstat (limited to 'src/desktop/Popup.cpp')
| -rw-r--r-- | src/desktop/Popup.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/desktop/Popup.cpp b/src/desktop/Popup.cpp index 92f0e312..29594e47 100644 --- a/src/desktop/Popup.cpp +++ b/src/desktop/Popup.cpp @@ -116,6 +116,7 @@ void CPopup::onMap() { m_pSubsurfaceHead = std::make_unique<CSubsurface>(this); unconstrain(); + sendScale(); } void CPopup::onUnmap() { @@ -234,3 +235,12 @@ void CPopup::recheckChildrenRecursive() { Vector2D CPopup::size() { return m_vLastSize; } + +void CPopup::sendScale() { + if (m_pWindowOwner) + g_pCompositor->setPreferredScaleForSurface(m_sWLSurface.wlr(), m_pWindowOwner->m_pWLSurface.m_fLastScale); + else if (m_pLayerOwner) + g_pCompositor->setPreferredScaleForSurface(m_sWLSurface.wlr(), m_pLayerOwner->surface.m_fLastScale); + else + UNREACHABLE(); +} |
