Go to file
Tor Arne Vestbø 3edce263fb Prevent 'recursive' update events when calling QToolButton::setMenu()
Commit bb3d2ca9f1 (QToolButton: properly reset the size hint when a
menu is set on it) didn't take the case of re-setting the same menu
into account, and the result was that we would unconditionally cause
an update, resulting in the following backtrace again and again, as
each posted update event was processed by the event loop:

    frame #0: QToolButton::setMenu(this=0x7af59500, menu=0x00000000)
    frame #1: QToolBarLayout::setUsePopupMenu(this=0x7ae65a30, set=false)
    frame #2: QToolBarLayout::checkUsePopupMenu(this=0x7ae65a30)
    frame #3: QToolBarAreaLayoutLine::fitLayout(this=0x78e5f870)
    frame #4: QToolBarAreaLayoutInfo::fitLayout(this=0x790be278)
    ...

Besides consuming needless CPU time this also uncovered a case on iOS
where Qt would starve native events and animations from being processed,
preventing eg. rotation animations from running.

Change-Id: Ib6bd4ba21d8e84ca73fb0a75b598016dbd9ae0fd
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
2014-10-15 13:34:30 +02:00
bin syncqt: Fix regexp capturing class names of partial specialisation 2014-07-08 16:12:44 +02:00
config.tests Update license headers and add new license files 2014-09-24 12:26:19 +02:00
dist QSql changes for Qt 5.4.0 changelog 2014-09-30 09:54:47 +02:00
doc Change documentation links to point to qt.io. 2014-10-08 11:12:11 +02:00
examples Improve threadedqopenglwidget example. 2014-10-10 13:17:13 +02:00
lib Initial import from the monolithic Qt. 2011-04-27 12:05:43 +02:00
mkspecs Remove duplicate of clang + libc++ mkspec 2014-10-10 18:21:09 +02:00
qmake Removing a few unneeded "? true : false" 2014-10-09 09:43:26 +02:00
src Prevent 'recursive' update events when calling QToolButton::setMenu() 2014-10-15 13:34:30 +02:00
tests Make QStringRef::right() consistent with QString::right() 2014-10-14 11:32:55 +02:00
tools Android: Don't include Apache code under LGPLv2 license 2014-10-02 05:59:17 +02:00
util Update license headers and add new license files 2014-09-24 12:26:19 +02:00
.gitattributes Update the git-archive export options 2012-09-07 15:39:31 +02:00
.gitignore Remove qtdemo from gitignore 2014-09-17 12:38:55 +02:00
.qmake.conf Enable -Werror for all of qtbase 2013-09-04 01:50:10 +02:00
.tag Update the git-archive export options 2012-09-07 15:39:31 +02:00
configure Use :- instead of - for empty environment variables 2014-10-10 23:34:27 +02:00
configure.bat Update license headers and add new license files 2014-09-24 12:26:19 +02:00
header.BSD Update copyright year in Digia's license headers 2013-01-18 09:07:35 +01:00
header.FDL Update copyright year in Digia's license headers 2013-01-18 09:07:35 +01:00
header.LGPL Update copyright year in Digia's license headers 2013-01-18 09:07:35 +01:00
header.LGPL3 Android: Don't include Apache code under LGPLv2 license 2014-10-02 05:59:17 +02:00
header.LGPL21 Added header.LGPL21 2014-08-23 07:17:35 +02:00
header.LGPL-ONLY Update copyright year in Digia's license headers 2013-01-18 09:07:35 +01:00
INSTALL Doc: Update links in INSTALL file 2014-01-16 20:37:25 +01:00
LGPL_EXCEPTION.txt Change copyrights from Nokia to Digia 2012-09-22 19:20:11 +02:00
LICENSE.FDL Initial import from the monolithic Qt. 2011-04-27 12:05:43 +02:00
LICENSE.LGPLv3 Update license headers and add new license files 2014-09-24 12:26:19 +02:00
LICENSE.LGPLv21 Update license headers and add new license files 2014-09-24 12:26:19 +02:00
LICENSE.PREVIEW.COMMERCIAL Update LICENSE.PREVIEW.COMMERCIAL license 2013-06-03 20:04:26 +02:00
qtbase.pro untangle use of system vs. shell path(-list) semantics 2014-04-30 16:56:54 +02:00
sync.profile ANGLE: upgrade to 2.1~07d49ef5350a 2014-08-05 16:43:22 +02:00