summaryrefslogtreecommitdiff
path: root/src/desktop/LayerSurface.cpp
diff options
context:
space:
mode:
authorVaxry <vaxry@vaxry.net>2025-02-01 15:08:30 +0000
committerVaxry <vaxry@vaxry.net>2025-02-01 15:08:30 +0000
commitc6f672257bd2ae98f4fd7a6a273b2d1d3e944baa (patch)
tree3b331626749173588719ac4303dd347af0820e5e /src/desktop/LayerSurface.cpp
parent5b43c106bd1cde9ac0b5626130890cde4de0b245 (diff)
desktop: move popup and subsurface ctors to factories
makes sure m_pSelf is set before we do anything like possibly adding children fixes #9275 supersedes #9276
Diffstat (limited to 'src/desktop/LayerSurface.cpp')
-rw-r--r--src/desktop/LayerSurface.cpp7
1 files changed, 3 insertions, 4 deletions
diff --git a/src/desktop/LayerSurface.cpp b/src/desktop/LayerSurface.cpp
index 78dae0a9..f4ffaedf 100644
--- a/src/desktop/LayerSurface.cpp
+++ b/src/desktop/LayerSurface.cpp
@@ -31,10 +31,9 @@ PHLLS CLayerSurface::create(SP<CLayerShellResource> resource) {
pLS->szNamespace = resource->layerNamespace;
- pLS->layer = resource->current.layer;
- pLS->popupHead = makeUnique<CPopup>(pLS);
- pLS->popupHead->m_pSelf = pLS->popupHead;
- pLS->monitor = pMonitor;
+ pLS->layer = resource->current.layer;
+ pLS->popupHead = CPopup::create(pLS);
+ pLS->monitor = pMonitor;
pMonitor->m_aLayerSurfaceLayers[resource->current.layer].emplace_back(pLS);
pLS->forceBlur = g_pConfigManager->shouldBlurLS(pLS->szNamespace);