diff options
| author | Vaxry <vaxry@vaxry.net> | 2025-02-01 15:08:30 +0000 |
|---|---|---|
| committer | Vaxry <vaxry@vaxry.net> | 2025-02-01 15:08:30 +0000 |
| commit | c6f672257bd2ae98f4fd7a6a273b2d1d3e944baa (patch) | |
| tree | 3b331626749173588719ac4303dd347af0820e5e /src/desktop/LayerSurface.cpp | |
| parent | 5b43c106bd1cde9ac0b5626130890cde4de0b245 (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.cpp | 7 |
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); |
