[RFC PATCH qxl-wddm-dod 21/28] Fixing mouse pointer issue when Vdagent is off

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: Sameeh Jubran <sameeh@xxxxxxxxxx>

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 <sameeh@xxxxxxxxxx>
Signed-off-by: Dmitry Fleytman <dmitry@xxxxxxxxxx>
---
 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@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/spice-devel




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]     [Monitors]