summaryrefslogtreecommitdiffstats
path: root/src/gui/painting/qunifiedtoolbarsurface_mac.cpp
diff options
context:
space:
mode:
authorFabien Freling <fabien.freling@nokia.com>2011-04-12 16:23:57 +0200
committerFabien Freling <fabien.freling@nokia.com>2011-05-10 11:44:34 +0200
commite27baeff28d6792178a967618ca12ee7bfc91735 (patch)
treed6d6a5450c1a63c3829868e35f441313032d236b /src/gui/painting/qunifiedtoolbarsurface_mac.cpp
parente7de0c2e1201724697764236ee8290a18ce148db (diff)
Fix a race condition when the main window is being destructed.
During the destructor of QWidget, we delete the layout. If the layout is not set to 0 afterwards, a check on the layout might turn true, but any access will end with a segfault. Reviewed-by: João Abecasis (cherry picked from commit abc5a632942c23496d75c49b3b0b4a674cdafdf8)
Diffstat (limited to 'src/gui/painting/qunifiedtoolbarsurface_mac.cpp')
-rw-r--r--src/gui/painting/qunifiedtoolbarsurface_mac.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/gui/painting/qunifiedtoolbarsurface_mac.cpp b/src/gui/painting/qunifiedtoolbarsurface_mac.cpp
index 3876c3d1a2..2fda6b9555 100644
--- a/src/gui/painting/qunifiedtoolbarsurface_mac.cpp
+++ b/src/gui/painting/qunifiedtoolbarsurface_mac.cpp
@@ -152,7 +152,8 @@ void QUnifiedToolbarSurface::beginPaint(const QRegion &rgn)
void QUnifiedToolbarSurface::updateToolbarOffset(QWidget *widget)
{
QMainWindowLayout *mlayout = qobject_cast<QMainWindowLayout*> (widget->window()->layout());
- mlayout->updateUnifiedToolbarOffset();
+ if (mlayout)
+ mlayout->updateUnifiedToolbarOffset();
}
void QUnifiedToolbarSurface::flush(QWidget *widget, const QRegion &region, const QPoint &offset)