summaryrefslogtreecommitdiff
path: root/src/desktop
diff options
context:
space:
mode:
authorVaxry <43317083+vaxerski@users.noreply.github.com>2024-10-19 23:03:29 +0100
committerGitHub <noreply@github.com>2024-10-19 23:03:29 +0100
commitf044e4c9514ec89c4c1fc8a523ca90b8cb907fb7 (patch)
tree5fa2ba17c08d522b7bb3f6564761b4aaedc532d0 /src/desktop
parentce3ba798df6bca5be1da4396644a9ef08a2acab4 (diff)
internal: Move CMonitor to SP (#8178)
* move monitors to sp * XD
Diffstat (limited to 'src/desktop')
-rw-r--r--src/desktop/DesktopTypes.hpp6
-rw-r--r--src/desktop/LayerSurface.cpp6
-rw-r--r--src/desktop/Window.cpp2
-rw-r--r--src/desktop/Window.hpp2
4 files changed, 11 insertions, 5 deletions
diff --git a/src/desktop/DesktopTypes.hpp b/src/desktop/DesktopTypes.hpp
index 4e40c4e0..7f812cc1 100644
--- a/src/desktop/DesktopTypes.hpp
+++ b/src/desktop/DesktopTypes.hpp
@@ -3,6 +3,7 @@
class CWorkspace;
class CWindow;
class CLayerSurface;
+class CMonitor;
/* Shared pointer to a workspace */
typedef SP<CWorkspace> PHLWORKSPACE;
@@ -18,3 +19,8 @@ typedef WP<CWindow> PHLWINDOWREF;
typedef SP<CLayerSurface> PHLLS;
/* Weak pointer to a layer surface */
typedef WP<CLayerSurface> PHLLSREF;
+
+/* Shared pointer to a monitor */
+typedef SP<CMonitor> PHLMONITOR;
+/* Weak pointer to a monitor */
+typedef WP<CMonitor> PHLMONITORREF;
diff --git a/src/desktop/LayerSurface.cpp b/src/desktop/LayerSurface.cpp
index 0e7e71b6..6c024ee0 100644
--- a/src/desktop/LayerSurface.cpp
+++ b/src/desktop/LayerSurface.cpp
@@ -6,9 +6,9 @@
#include "../managers/SeatManager.hpp"
PHLLS CLayerSurface::create(SP<CLayerShellResource> resource) {
- PHLLS pLS = SP<CLayerSurface>(new CLayerSurface(resource));
+ PHLLS pLS = SP<CLayerSurface>(new CLayerSurface(resource));
- CMonitor* pMonitor = resource->monitor.empty() ? g_pCompositor->getMonitorFromCursor() : g_pCompositor->getMonitorFromName(resource->monitor);
+ auto pMonitor = resource->monitor.empty() ? g_pCompositor->getMonitorFromCursor() : g_pCompositor->getMonitorFromName(resource->monitor);
pLS->surface->assign(resource->surface.lock(), pLS);
@@ -18,7 +18,7 @@ PHLLS CLayerSurface::create(SP<CLayerShellResource> resource) {
}
if (pMonitor->pMirrorOf)
- pMonitor = g_pCompositor->m_vMonitors.front().get();
+ pMonitor = g_pCompositor->m_vMonitors.front();
pLS->self = pLS;
diff --git a/src/desktop/Window.cpp b/src/desktop/Window.cpp
index a393f361..1297bb83 100644
--- a/src/desktop/Window.cpp
+++ b/src/desktop/Window.cpp
@@ -1188,7 +1188,7 @@ void CWindow::setSuspended(bool suspend) {
m_bSuspended = suspend;
}
-bool CWindow::visibleOnMonitor(CMonitor* pMonitor) {
+bool CWindow::visibleOnMonitor(PHLMONITOR pMonitor) {
CBox wbox = {m_vRealPosition.value(), m_vRealSize.value()};
return !wbox.intersection({pMonitor->vecPosition, pMonitor->vecSize}).empty();
diff --git a/src/desktop/Window.hpp b/src/desktop/Window.hpp
index 9baf57c4..b2a8e763 100644
--- a/src/desktop/Window.hpp
+++ b/src/desktop/Window.hpp
@@ -424,7 +424,7 @@ class CWindow {
float rounding();
bool canBeTorn();
void setSuspended(bool suspend);
- bool visibleOnMonitor(CMonitor* pMonitor);
+ bool visibleOnMonitor(PHLMONITOR pMonitor);
WORKSPACEID workspaceID();
bool onSpecialWorkspace();
void activate(bool force = false);