From 0a5eeb542ba3444fff8a198b94a7c516eb2f278b Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Wed, 10 Apr 2013 10:41:29 +0200 Subject: [PATCH] Fix widgets flashing before start. Pass parent to status bar widgets. Change-Id: I5834ce5feececc33e850dafd55f3b29bd0df38c8 Reviewed-by: Eike Ziller --- src/plugins/coreplugin/statusbarmanager.cpp | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/plugins/coreplugin/statusbarmanager.cpp b/src/plugins/coreplugin/statusbarmanager.cpp index afa48619c0a..91caf5ab0e5 100644 --- a/src/plugins/coreplugin/statusbarmanager.cpp +++ b/src/plugins/coreplugin/statusbarmanager.cpp @@ -41,9 +41,9 @@ using namespace Core; using namespace Core::Internal; -static QWidget *createWidget() +static QWidget *createWidget(QWidget *parent = 0) { - QWidget *w = new QWidget(); + QWidget *w = new QWidget(parent); w->setLayout(new QHBoxLayout); w->setVisible(true); w->layout()->setMargin(0); @@ -54,14 +54,15 @@ StatusBarManager::StatusBarManager(MainWindow *mainWnd) : QObject(mainWnd), m_mainWnd(mainWnd) { + QStatusBar *bar = m_mainWnd->statusBar(); for (int i = 0; i <= StatusBarWidget::LastLeftAligned; ++i) { - QWidget *w = createWidget(); - m_mainWnd->statusBar()->insertPermanentWidget(i, w); + QWidget *w = createWidget(bar); + bar->insertPermanentWidget(i, w); m_statusBarWidgets.append(w); } m_mainWnd->statusBar()->insertPermanentWidget(StatusBarWidget::LastLeftAligned + 1, new QLabel(), 1); - QWidget *rightCornerWidget = createWidget(); + QWidget *rightCornerWidget = createWidget(bar); m_mainWnd->statusBar()->insertPermanentWidget(StatusBarWidget::LastLeftAligned + 2, rightCornerWidget); m_statusBarWidgets.append(rightCornerWidget);