[Spice-devel] [PATCH qxl-wddm-dod] Send HIDE command when pointer is not visible

Javier Celaya javier.celaya at flexvdi.com
Mon Nov 21 15:00:09 UTC 2016


El vie, 18-11-2016 a las 17:07 +0000, Frediano Ziglio escribió:
> From: Javier Celaya <javier.celaya at flexvdi.com>
> 
> This avoid having possibly 2 pointers (client and server) if Windows
> decide to render the mouse by itself.
> This happens for instance moving windows.

There are a couple typos here. I would write:
"This avoids having 2 pointers (client and server) if Windows decides
to render the mouse by itself. This happens, for instance, when moving
windows around."
Other than that, acked.


---
 qxldod/QxlDod.cpp | 7 +------
 1 file changed, 1 insertion(+), 6 deletions(-)

Javier, as we changed license since you create it could you please sign off
the patch?

I added some comments to this patch.

diff --git a/qxldod/QxlDod.cpp b/qxldod/QxlDod.cpp
index 724e89f..8f31714 100755
--- a/qxldod/QxlDod.cpp
+++ b/qxldod/QxlDod.cpp
@@ -434,11 +434,6 @@ NTSTATUS QxlDod::SetPointerPosition(_In_ CONST DXGKARG_SETPOINTERPOSITION* pSetP
     QXL_ASSERT(pSetPointerPosition != NULL);
     QXL_ASSERT(pSetPointerPosition->VidPnSourceId < MAX_VIEWS);
 
-    if (!(pSetPointerPosition->Flags.Visible))
-    {
-        DbgPrint(TRACE_LEVEL_INFORMATION, ("<--- %s Cursor is not visible\n", __FUNCTION__));
-        return STATUS_SUCCESS;
-    }
     return m_pHWDevice->SetPointerPosition(pSetPointerPosition);
 }
 
@@ -4507,7 +4502,7 @@ NTSTATUS QxlDevice::SetPointerPosition(_In_ CONST DXGKARG_SETPOINTERPOSITION* pS
                                  pSetPointerPosition->X,
                                  pSetPointerPosition->Y));
     QXLCursorCmd *cursor_cmd = CursorCmd();
-    if (pSetPointerPosition->X < 0) {
+    if (pSetPointerPosition->X < 0 || !pSetPointerPosition->Flags.Visible) {
         cursor_cmd->type = QXL_CURSOR_HIDE;
     } else {
         cursor_cmd->type = QXL_CURSOR_MOVE;




More information about the Spice-devel mailing list