7bd08f4bfd
The logic for activating a delayed popup menu on QToolButton is a bit cumbersome: when the button is pressed, a timer is started. This timer however doesn't get reset if the button is released before the timer expires. Instead, the function triggered by the timer checks if the button is pressed at that time. If so, the popup menu is shown. This logic allows the user to press-release a QToolButton many times and suddenly get a popup menu appear way before the expected timeout for the popup expired. That's because the first press started the timer, and then the button happened to be down when the timer expired. Instead, always *re*start the timer on a button press, and cancel the timer when the button is released. Change-Id: I3e0849264fdb6f670d018ebb5012eb15fa699cfb Task-number: QTBUG-48906 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com> Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com> Reviewed-by: Marc Mutz <marc.mutz@kdab.com> |
||
---|---|---|
bin | ||
config.tests | ||
dist | ||
doc | ||
examples | ||
lib | ||
mkspecs | ||
qmake | ||
src | ||
tests | ||
tools | ||
util | ||
.gitattributes | ||
.gitignore | ||
.qmake.conf | ||
.tag | ||
configure | ||
configure.bat | ||
header.BSD | ||
header.COMM | ||
header.FDL | ||
header.LGPL3 | ||
header.LGPL3-COMM | ||
header.LGPL21 | ||
header.LGPL-ONLY | ||
INSTALL | ||
LGPL_EXCEPTION.txt | ||
LICENSE.FDL | ||
LICENSE.GPLv3 | ||
LICENSE.LGPLv3 | ||
LICENSE.LGPLv21 | ||
LICENSE.PREVIEW.COMMERCIAL | ||
qtbase.pro | ||
sync.profile |