Fix: Ensure MFC and Web remote desktop sessions are fully independent
This commit is contained in:
@@ -227,6 +227,14 @@ public:
|
||||
bool IsWebTriggered(uint64_t device_id);
|
||||
void ClearWebTriggered(uint64_t device_id);
|
||||
|
||||
// MFC trigger management - MFC dialogs should always be visible
|
||||
void SetMfcTriggered(uint64_t device_id);
|
||||
bool IsMfcTriggered(uint64_t device_id);
|
||||
void ClearMfcTriggered(uint64_t device_id);
|
||||
|
||||
// Check if a remote desktop session already exists for device
|
||||
bool HasActiveSession(uint64_t device_id);
|
||||
|
||||
// Config accessors
|
||||
void SetHideWebSessions(bool hide) { m_bHideWebSessions = hide; }
|
||||
bool GetHideWebSessions() const { return m_bHideWebSessions; }
|
||||
@@ -243,6 +251,10 @@ private:
|
||||
// Screen context registry: device_id -> ScreenManager's CONTEXT_OBJECT
|
||||
std::map<uint64_t, CONTEXT_OBJECT*> m_ScreenContexts;
|
||||
std::mutex m_ScreenContextsMutex;
|
||||
|
||||
// MFC triggered devices: dialogs created by MFC should always be visible
|
||||
std::set<uint64_t> m_MfcTriggeredDevices;
|
||||
std::mutex m_MfcTriggeredMutex;
|
||||
};
|
||||
|
||||
// Global accessor
|
||||
|
||||
Reference in New Issue
Block a user