VirtualBox

Ticket #22096: svga_mouse_svn_3.patch

File svga_mouse_svn_3.patch, 1.9 KB (added by JHRobotics, 8 months ago)

Patch for 3rd bug (SVN)

  • src/VBox/Devices/Graphics/DevVGA-SVGA.cpp

     
    46064606     */
    46074607    if (   *pxLast == x
    46084608        && *pyLast == y
    4609         && (idScreen != SVGA_ID_INVALID || *pfLastVisible == fVisible))
     4609        && *pfLastVisible == fVisible)
    46104610        STAM_REL_COUNTER_INC(&pSVGAState->StatFifoCursorNoChange);
    46114611    else
    46124612    {
     
    46164616         * We handle global, not per-screen visibility information by sending
    46174617         * pfnVBVAMousePointerShape without shape data.
    46184618         */
     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        }
    46194625        *pxLast = x;
    46204626        *pyLast = y;
     4627        *pfLastVisible = fVisible;
     4628
    46214629        uint32_t fFlags = VBVA_CURSOR_VALID_DATA;
    46224630        if (idScreen != SVGA_ID_INVALID)
    46234631            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
    46284636            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
    46324638        STAM_REL_COUNTER_INC(&pSVGAState->StatFifoCursorPosition);
    46334639    }
    46344640

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette