diff options
author | Thierry Bastian <thierry.bastian@nokia.com> | 2009-04-17 13:27:49 (GMT) |
---|---|---|
committer | Thierry Bastian <thierry.bastian@nokia.com> | 2009-04-17 13:31:52 (GMT) |
commit | cd5d8313583e002742b9b00988c2011e8eaa923c (patch) | |
tree | cb4eb59e5b9529a11b01de20177da389c25452c6 /src/gui/widgets/qtabbar.cpp | |
parent | 7c815bc2d4ea922d75f49f7dc29c81362ce5210e (diff) | |
download | Qt-cd5d8313583e002742b9b00988c2011e8eaa923c.zip Qt-cd5d8313583e002742b9b00988c2011e8eaa923c.tar.gz Qt-cd5d8313583e002742b9b00988c2011e8eaa923c.tar.bz2 |
Possible assert when hiding tabbed QDockWidget
The problem is in QTabBar which emits the currentChanged signal
before accessing its own internal data. As we react to that signal by
possibly removing/adding tabs, it can cause a assertion failure.
Task-number: 251184
Reviewed-by: ogoffart
Diffstat (limited to 'src/gui/widgets/qtabbar.cpp')
-rw-r--r-- | src/gui/widgets/qtabbar.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/gui/widgets/qtabbar.cpp b/src/gui/widgets/qtabbar.cpp index b6e6b6d..b562b1f 100644 --- a/src/gui/widgets/qtabbar.cpp +++ b/src/gui/widgets/qtabbar.cpp @@ -1167,13 +1167,13 @@ void QTabBar::setCurrentIndex(int index) d->currentIndex = index; update(); d->makeVisible(index); + d->tabList[index].lastTab = oldIndex; + d->layoutWidgets(oldIndex); + d->layoutWidgets(index); #ifdef QT3_SUPPORT emit selected(index); #endif emit currentChanged(index); - d->tabList[index].lastTab = oldIndex; - d->layoutWidgets(oldIndex); - d->layoutWidgets(index); } } |