From: Sameeh Jubran <sam...@daynix.com>

The mouse pointer disappears once the Vdagent is not running, this
happens due to a bug in which the function <EnablePointer> always
returns true. However the client mouse pointer should be disabled
when vdagent is off and enabled when it is on and thus this function
should return the current state of Vdagent.

Signed-off-by: Sameeh Jubran <sam...@daynix.com>
Signed-off-by: Dmitry Fleytman <dmi...@daynix.com>
---
 qxldod/QxlDod.cpp | 11 +++++------
 qxldod/QxlDod.h   |  2 +-
 2 files changed, 6 insertions(+), 7 deletions(-)

diff --git a/qxldod/QxlDod.cpp b/qxldod/QxlDod.cpp
index 42c82e3..f6542c4 100755
--- a/qxldod/QxlDod.cpp
+++ b/qxldod/QxlDod.cpp
@@ -427,12 +427,11 @@ NTSTATUS QxlDod::QueryAdapterInfo(_In_ CONST 
DXGKARG_QUERYADAPTERINFO* pQueryAda
             pDriverCaps->WDDMVersion = DXGKDDI_WDDMv1_2;
             pDriverCaps->HighestAcceptableAddress.QuadPart = -1;
 
-            if (m_pHWDevice->EnablePointer()) {
-                pDriverCaps->MaxPointerWidth  = POINTER_SIZE;
-                pDriverCaps->MaxPointerHeight = POINTER_SIZE;
-                pDriverCaps->PointerCaps.Monochrome = 1;
-                pDriverCaps->PointerCaps.Color = 1;
-            }
+            pDriverCaps->MaxPointerWidth  = POINTER_SIZE;
+            pDriverCaps->MaxPointerHeight = POINTER_SIZE;
+            pDriverCaps->PointerCaps.Monochrome = 1;
+            pDriverCaps->PointerCaps.Color = 1;
+
             DbgPrint(TRACE_LEVEL_VERBOSE, ("<--- %s 1\n", __FUNCTION__));
             return STATUS_SUCCESS;
         }
diff --git a/qxldod/QxlDod.h b/qxldod/QxlDod.h
index 6c5d0f8..d3249eb 100755
--- a/qxldod/QxlDod.h
+++ b/qxldod/QxlDod.h
@@ -462,7 +462,7 @@ public:
     NTSTATUS SetPowerState(DEVICE_POWER_STATE DevicePowerState, 
DXGK_DISPLAY_INFORMATION* pDispInfo);
     NTSTATUS HWInit(PCM_RESOURCE_LIST pResList, DXGK_DISPLAY_INFORMATION* 
pDispInfo);
     NTSTATUS HWClose(void);
-    BOOLEAN EnablePointer(void) { return TRUE; }
+    BOOLEAN EnablePointer(void) { return m_VDAgentRunning; }
     NTSTATUS ExecutePresentDisplayOnly(_In_ BYTE*             DstAddr,
                     _In_ UINT              DstBitPerPixel,
                     _In_ BYTE*             SrcAddr,
-- 
1.8.3.1

_______________________________________________
Spice-devel mailing list
Spice-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/spice-devel

Reply via email to