From a84e98d2a8e5c40fdad482e8e4b318feb6f5116b Mon Sep 17 00:00:00 2001 From: Pppp1116 Date: Thu, 2 Apr 2026 22:29:45 +0100 Subject: seat/compositor: fix minor issues (#13958) --- src/managers/SeatManager.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'src/managers/SeatManager.cpp') 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 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) { -- cgit v1.2.3