VirtualBox

Ignore:
Timestamp:
Apr 4, 2019 1:28:24 PM (6 years ago)
Author:
vboxsync
Message:

FE/Qt: bugref:9376: Check for mouse cursor visibility flag, not just cached pointer shape, or stale shape can be applied to framebuffer cursor; Erase framebuffer cursor on position change event if it happens to be hidden by any reason.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Frontends/VirtualBox/src/runtime/UIFrameBuffer.cpp

    r77937 r78016  
    13041304     * framebuffer cursor if mouse integration is supported and enabled. */
    13051305    if (   m_pMachineView
     1306        && !m_pMachineView->uisession()->isHidingHostPointer()
    13061307        && m_pMachineView->uisession()->isValidPointerShapePresent()
    13071308        && m_pMachineView->uisession()->isValidCursorPositionPresent()
     
    13391340        /* Remember current cursor rectangle: */
    13401341        m_cursorRectangle = cursorRectangle;
     1342    }
     1343    /* Don't forget to clear the rectangle in opposite case: */
     1344    else if (   m_pMachineView
     1345             && m_cursorRectangle.isValid())
     1346    {
     1347        /* Call for a viewport update: */
     1348        m_pMachineView->viewport()->update(m_cursorRectangle);
     1349        /* And erase the rectangle after all: */
     1350        m_cursorRectangle = QRect();
    13411351    }
    13421352}
     
    14711481     * Also, please take into account, we are not currently painting
    14721482     * framebuffer cursor if mouse integration is supported and enabled. */
    1473     if (   m_pMachineView->uisession()->isValidPointerShapePresent()
     1483    if (   !m_pMachineView->uisession()->isHidingHostPointer()
     1484        && m_pMachineView->uisession()->isValidPointerShapePresent()
    14741485        && m_pMachineView->uisession()->isValidCursorPositionPresent()
    14751486        && (   !m_pMachineView->uisession()->isMouseIntegrated()
     
    15791590     * Also, please take into account, we are not currently painting
    15801591     * framebuffer cursor if mouse integration is supported and enabled. */
    1581     if (   m_pMachineView->uisession()->isValidPointerShapePresent()
     1592    if (   !m_pMachineView->uisession()->isHidingHostPointer()
     1593        && m_pMachineView->uisession()->isValidPointerShapePresent()
    15821594        && m_pMachineView->uisession()->isValidCursorPositionPresent()
    15831595        && (   !m_pMachineView->uisession()->isMouseIntegrated()
Note: See TracChangeset for help on using the changeset viewer.

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