diff options
| author | vaxerski <43317083+vaxerski@users.noreply.github.com> | 2022-06-30 15:44:26 +0200 |
|---|---|---|
| committer | vaxerski <43317083+vaxerski@users.noreply.github.com> | 2022-06-30 15:44:26 +0200 |
| commit | 328b3fa4bc4f3776f2128f84709556569c4824d9 (patch) | |
| tree | e00603cdf3b868facaa06478b02030c540ba283c /src/events/Popups.cpp | |
| parent | d1564299d23b52e6297fa4542ce42e4a54c28cbc (diff) | |
mordernize pointers
Diffstat (limited to 'src/events/Popups.cpp')
| -rw-r--r-- | src/events/Popups.cpp | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/src/events/Popups.cpp b/src/events/Popups.cpp index 7e619632..cfb92f9b 100644 --- a/src/events/Popups.cpp +++ b/src/events/Popups.cpp @@ -76,8 +76,7 @@ void Events::listener_newPopup(void* owner, void* data) { const auto WLRPOPUP = (wlr_xdg_popup*)data; - g_pCompositor->m_lXDGPopups.push_back(SXDGPopup()); - const auto PNEWPOPUP = &g_pCompositor->m_lXDGPopups.back(); + const auto PNEWPOPUP = g_pCompositor->m_vXDGPopups.emplace_back(std::make_unique<SXDGPopup>()).get(); const auto PMONITOR = g_pCompositor->getMonitorFromID(layersurface->monitorID); @@ -97,8 +96,7 @@ void Events::listener_newPopupXDG(void* owner, void* data) { const auto WLRPOPUP = (wlr_xdg_popup*)data; - g_pCompositor->m_lXDGPopups.push_back(SXDGPopup()); - const auto PNEWPOPUP = &g_pCompositor->m_lXDGPopups.back(); + const auto PNEWPOPUP = g_pCompositor->m_vXDGPopups.emplace_back(std::make_unique<SXDGPopup>()).get(); const auto PMONITOR = g_pCompositor->getMonitorFromID(PWINDOW->m_iMonitorID); @@ -122,8 +120,7 @@ void Events::listener_newPopupFromPopupXDG(void* owner, void* data) { const auto WLRPOPUP = (wlr_xdg_popup*)data; - g_pCompositor->m_lXDGPopups.push_back(SXDGPopup()); - const auto PNEWPOPUP = &g_pCompositor->m_lXDGPopups.back(); + const auto PNEWPOPUP = g_pCompositor->m_vXDGPopups.emplace_back(std::make_unique<SXDGPopup>()).get(); PNEWPOPUP->popup = WLRPOPUP; PNEWPOPUP->parentPopup = PPOPUP; @@ -170,5 +167,5 @@ void Events::listener_destroyPopupXDG(void* owner, void* data) { PPOPUP->pSurfaceTree = nullptr; } - g_pCompositor->m_lXDGPopups.remove(*PPOPUP); + g_pCompositor->m_vXDGPopups.erase(std::remove_if(g_pCompositor->m_vXDGPopups.begin(), g_pCompositor->m_vXDGPopups.end(), [&](std::unique_ptr<SXDGPopup>& el) { return el.get() == PPOPUP; })); }
\ No newline at end of file |
