Details
-
Bug
-
Resolution: Done
-
P1: Critical
-
5.15.5, 6.0.2, 6.2.0 Beta3
-
macOS 10.15, XCode 12
-
-
ae8e96d4c2fc430ed6f71e422ef4aff2c7f15186 (qt/qtbase/dev) 37b4c2c2c7da0aa8fe67676e49fb92a34e725e92 (qt/qtbase/6.2) 805215bf590ea37c4cb2466a8af7d3391ca94e2d (qt/tqtc-qtbase/5.15)
Description
When there is a QWidget inside "window" QWidget with zero margins (so internal QWidget covers entire client area of "window" QWidget), setCursor to the internal QWidget has no effect when moving the cursor from outside to inside of the window.
See Qtbug96003-setCursorProblem.mov
Simplest reproducible sample code is as below
ui->setupUi(this);
ui->centralwidget->setCursor(Qt::PointingHandCursor);
How to reproduce
1. Use the attached sample project Qtbug96003.zip
2. Slide the cursor slowly from outside to inside of the window
What is known
- Regression bug between Qt5.9(correct) and Qt5.10(wrong)
- Doesn't happen on Windows
- Moving cursor quickly does not show this phenomena
- If there is no "internal" QWidget, (i.e. this->setCursor(Qt::PointingHandCursor) in above sample) , then everything works fine.
Attachments
Issue Links
- mentioned in
-
Page Loading...
For Gerrit Dashboard: QTBUG-96003 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
367995,6 | macOS: Don't rely on invalidateCursorRectsForView when mouse is over view | dev | qt/qtbase | Status: MERGED | +2 | 0 |
368876,2 | macOS: Don't rely on invalidateCursorRectsForView when mouse is over view | 6.2 | qt/qtbase | Status: MERGED | +2 | 0 |
368877,2 | macOS: Don't rely on invalidateCursorRectsForView when mouse is over view | tqtc/lts-5.15 | qt/tqtc-qtbase | Status: MERGED | +2 | 0 |