Ticket #22096: svga_mouse_svn_3.patch
File svga_mouse_svn_3.patch, 1.9 KB (added by , 8 months ago) |
---|
-
src/VBox/Devices/Graphics/DevVGA-SVGA.cpp
4606 4606 */ 4607 4607 if ( *pxLast == x 4608 4608 && *pyLast == y 4609 && (idScreen != SVGA_ID_INVALID || *pfLastVisible == fVisible))4609 && *pfLastVisible == fVisible) 4610 4610 STAM_REL_COUNTER_INC(&pSVGAState->StatFifoCursorNoChange); 4611 4611 else 4612 4612 { … … 4616 4616 * We handle global, not per-screen visibility information by sending 4617 4617 * pfnVBVAMousePointerShape without shape data. 4618 4618 */ 4619 if (fVisible != *pfLastVisible) 4620 { 4621 LogRel2(("vmsvgaR3FifoUpdateCursor: fVisible %d fLastVisible %d (%d,%d)\n", 4622 fVisible, *pfLastVisible, x, y)); 4623 STAM_REL_COUNTER_INC(&pSVGAState->StatFifoCursorVisiblity); 4624 } 4619 4625 *pxLast = x; 4620 4626 *pyLast = y; 4627 *pfLastVisible = fVisible; 4628 4621 4629 uint32_t fFlags = VBVA_CURSOR_VALID_DATA; 4622 4630 if (idScreen != SVGA_ID_INVALID) 4623 4631 fFlags |= VBVA_CURSOR_SCREEN_RELATIVE; 4624 else if (*pfLastVisible != fVisible) 4625 {4626 LogRel2(("vmsvgaR3FifoUpdateCursor: fVisible %d fLastVisible %d (%d,%d)\n", fVisible, *pfLastVisible, x, y));4627 *pfLastVisible = fVisible;4632 4633 if (fVisible) 4634 pThisCC->pDrv->pfnVBVAReportCursorPosition(pThisCC->pDrv, fFlags, idScreen, x, y); 4635 else 4628 4636 pThisCC->pDrv->pfnVBVAMousePointerShape(pThisCC->pDrv, RT_BOOL(fVisible), false, 0, 0, 0, 0, NULL); 4629 STAM_REL_COUNTER_INC(&pSVGAState->StatFifoCursorVisiblity); 4630 } 4631 pThisCC->pDrv->pfnVBVAReportCursorPosition(pThisCC->pDrv, fFlags, idScreen, x, y); 4637 4632 4638 STAM_REL_COUNTER_INC(&pSVGAState->StatFifoCursorPosition); 4633 4639 } 4634 4640