diff options
author | Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> | 2013-11-08 13:03:22 +0100 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-11-08 14:18:14 +0100 |
commit | 2d1bb6d61d5c26a11b65eda5f9625894b794391f (patch) | |
tree | b46030854ffd1c1c1d3c2c934ea40180bcae8917 /src/widgets | |
parent | c934ea341e0749aef9c927ca3def68976bdc976f (diff) |
Prevent a crash in QLayout::replaceWidget
Item might be null.
Change-Id: Ia432a35cb1a6bb02ee056ff8ad44a9f35bdbc146
Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
Diffstat (limited to 'src/widgets')
-rw-r--r-- | src/widgets/kernel/qlayout.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/widgets/kernel/qlayout.cpp b/src/widgets/kernel/qlayout.cpp index cd2891d829..f17a6caa3c 100644 --- a/src/widgets/kernel/qlayout.cpp +++ b/src/widgets/kernel/qlayout.cpp @@ -1133,11 +1133,15 @@ QLayoutItem* QLayout::replaceWidget(QWidget *from, QWidget *to, bool recursive) QLayoutItem *item = 0; for (int u = 0; u < count(); ++u) { item = itemAt(u); + if (!item) + continue; + if (item->widget() == from) { index = u; break; } - if (item && item->layout() && recursive) { + + if (item->layout() && recursive) { QLayoutItem *r = item->layout()->replaceWidget(from, to, true); if (r) return r; |