diff options
| author | vaxerski <43317083+vaxerski@users.noreply.github.com> | 2022-08-03 16:19:00 +0200 |
|---|---|---|
| committer | vaxerski <43317083+vaxerski@users.noreply.github.com> | 2022-08-03 16:19:00 +0200 |
| commit | c3edb20e04c7cf9dbad02ddf5ac066f4a725ccaa (patch) | |
| tree | 3a2400b959fcdfd1b8056705e43a7974959c0deb /src | |
| parent | b9be405d326697df81f5bafd736b817b47aea3a1 (diff) | |
make monitor IDs permanent
Diffstat (limited to 'src')
| -rw-r--r-- | src/Compositor.cpp | 2 | ||||
| -rw-r--r-- | src/events/Monitors.cpp | 2 | ||||
| -rw-r--r-- | src/helpers/Monitor.cpp | 1 |
3 files changed, 3 insertions, 2 deletions
diff --git a/src/Compositor.cpp b/src/Compositor.cpp index d67226e2..e32d4caa 100644 --- a/src/Compositor.cpp +++ b/src/Compositor.cpp @@ -1281,7 +1281,7 @@ void CCompositor::moveWindowToWorkspace(CWindow* pWindow, const std::string& wor int CCompositor::getNextAvailableMonitorID() { int64_t topID = -1; - for (auto& m : m_vMonitors) { + for (auto& m : m_vRealMonitors) { if ((int64_t)m->ID > topID) topID = m->ID; } diff --git a/src/events/Monitors.cpp b/src/events/Monitors.cpp index 6bde6f34..ee831187 100644 --- a/src/events/Monitors.cpp +++ b/src/events/Monitors.cpp @@ -62,6 +62,8 @@ void Events::listener_newOutput(wl_listener* listener, void* data) { const auto PNEWMONITORWRAP = &g_pCompositor->m_vRealMonitors.emplace_back(std::make_shared<CMonitor>()); const auto PNEWMONITOR = PNEWMONITORWRAP->get(); + PNEWMONITOR->ID = g_pCompositor->getNextAvailableMonitorID(); + wlr_output_init_render(OUTPUT, g_pCompositor->m_sWLRAllocator, g_pCompositor->m_sWLRRenderer); PNEWMONITOR->output = OUTPUT; diff --git a/src/helpers/Monitor.cpp b/src/helpers/Monitor.cpp index e3b22e0d..dd2db9aa 100644 --- a/src/helpers/Monitor.cpp +++ b/src/helpers/Monitor.cpp @@ -27,7 +27,6 @@ void CMonitor::onConnect(bool noRule) { m_bEnabled = true; - ID = g_pCompositor->getNextAvailableMonitorID(); szName = output->name; wlr_output_set_scale(output, monitorRule.scale); |
