summaryrefslogtreecommitdiff
path: root/src/managers
diff options
context:
space:
mode:
authorPppp1116 <pcaiadoguerreiro@gmail.com>2026-04-02 22:29:45 +0100
committerGitHub <noreply@github.com>2026-04-02 22:29:45 +0100
commita84e98d2a8e5c40fdad482e8e4b318feb6f5116b (patch)
tree41b7091618f601a9fa47a6f4b6f064ded20db07a /src/managers
parentb2a29e1bf2792099dd0208d23cdf127feefbb89d (diff)
seat/compositor: fix minor issues (#13958)
Diffstat (limited to 'src/managers')
-rw-r--r--src/managers/SeatManager.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/managers/SeatManager.cpp b/src/managers/SeatManager.cpp
index a107dced..5c48eed5 100644
--- a/src/managers/SeatManager.cpp
+++ b/src/managers/SeatManager.cpp
@@ -211,10 +211,12 @@ void CSeatManager::sendKeyboardMods(uint32_t depressed, uint32_t latched, uint32
}
void CSeatManager::setPointerFocus(SP<CWLSurfaceResource> surf, const Vector2D& local) {
+ const bool dndActive = PROTO::data && PROTO::data->dndActive();
+
if (m_state.pointerFocus == surf)
return;
- if (PROTO::data->dndActive() && surf) {
+ if (dndActive && surf) {
if (m_state.dndPointerFocus == surf)
return;
Log::logger->log(Log::DEBUG, "[seatmgr] Refusing pointer focus during an active dnd, but setting dndPointerFocus");
@@ -304,7 +306,7 @@ void CSeatManager::sendPointerMotion(uint32_t timeMs, const Vector2D& local) {
}
void CSeatManager::sendPointerButton(uint32_t timeMs, uint32_t key, wl_pointer_button_state state_) {
- if (!m_state.pointerFocusResource || PROTO::data->dndActive())
+ if (!m_state.pointerFocusResource || (PROTO::data && PROTO::data->dndActive()))
return;
for (auto const& s : m_seatResources) {