diff options
author | Friedemann Kleint <Friedemann.Kleint@digia.com> | 2014-07-15 10:32:07 +0200 |
---|---|---|
committer | Friedemann Kleint <Friedemann.Kleint@digia.com> | 2014-07-15 11:24:38 +0200 |
commit | cdba2439f91c1d3757e5d36f7759ac73a2e8ac2d (patch) | |
tree | 8df9dc64fc75fd3e839439457eae26f60316f84f /src/widgets/widgets | |
parent | e0dc27d791cd2106f661bd3d949281aaf1239990 (diff) |
QSplitter: Exclude top level widgets from child event handling.
Prevent the splitter from adding them to the layout or showing
them.
Task-number: QTBUG-40132
Change-Id: Ife2be0bbd7e489570ef41f6f72a034b356c65f18
Reviewed-by: J-P Nurmi <jpnurmi@digia.com>
Diffstat (limited to 'src/widgets/widgets')
-rw-r--r-- | src/widgets/widgets/qsplitter.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/widgets/widgets/qsplitter.cpp b/src/widgets/widgets/qsplitter.cpp index f58881af0d..1f29af319a 100644 --- a/src/widgets/widgets/qsplitter.cpp +++ b/src/widgets/widgets/qsplitter.cpp @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). +** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies). ** Contact: http://www.qt-project.org/legal ** ** This file is part of the QtWidgets module of the Qt Toolkit. @@ -1224,7 +1224,9 @@ void QSplitter::childEvent(QChildEvent *c) return; } QWidget *w = static_cast<QWidget*>(c->child()); - if (c->added() && !d->blockChildAdd && !w->isWindow() && !d->findWidget(w)) { + if (w->isWindow()) + return; + if (c->added() && !d->blockChildAdd && !d->findWidget(w)) { d->insertWidget_helper(d->list.count(), w, false); } else if (c->polished() && !d->blockChildAdd) { if (isVisible() && !(w->isHidden() && w->testAttribute(Qt::WA_WState_ExplicitShowHide))) |