X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=pv%2Fmainwindow.cpp;h=2e08d6a471476d9785702c794816b908a89983b3;hb=13e475e412663ee904b94a6510b5628bdb8b84fa;hp=2f9ab323008948395f3496e5e14bf39bb0a23736;hpb=ddaded8bccdb05d700b4242b7b3ef59a55b39ac0;p=pulseview.git diff --git a/pv/mainwindow.cpp b/pv/mainwindow.cpp index 2f9ab323..2e08d6a4 100644 --- a/pv/mainwindow.cpp +++ b/pv/mainwindow.cpp @@ -138,7 +138,7 @@ shared_ptr MainWindow::get_active_view() const // ...otherwise find the dock widget the widget with focus is contained in QObject *w = QApplication::focusWidget(); - QDockWidget *dock = 0; + QDockWidget *dock = nullptr; while (w) { dock = qobject_cast(w); @@ -168,6 +168,8 @@ shared_ptr MainWindow::add_view(const QString &title, assert(main_window); + shared_ptr main_bar = session.main_bar(); + QDockWidget* dock = new QDockWidget(title, main_window); dock->setObjectName(title); main_window->addDockWidget(Qt::TopDockWidgetArea, dock); @@ -177,7 +179,9 @@ shared_ptr MainWindow::add_view(const QString &title, dock_main->setWindowFlags(Qt::Widget); // Remove Qt::Window flag if (type == views::ViewTypeTrace) - v = make_shared(session, dock_main); + // This view will be the main view if there's no main bar yet + v = make_shared(session, + (main_bar ? false : true), dock_main); if (!v) return nullptr; @@ -209,7 +213,6 @@ shared_ptr MainWindow::add_view(const QString &title, tv->enable_sticky_scrolling(true); tv->enable_coloured_bg(settings.value(GlobalSettings::Key_View_ColouredBG).toBool()); - shared_ptr main_bar = session.main_bar(); if (!main_bar) { /* Initial view, create the main bar */ main_bar = make_shared(session, this, tv); @@ -255,7 +258,7 @@ void MainWindow::remove_view(shared_ptr view) // call deleteLater() on it, which causes a double free // since the shared_ptr in view_docks_ doesn't know // that Qt keeps a pointer to the view around - view->setParent(0); + view->setParent(nullptr); // Delete the view's dock widget and all widgets inside it entry.first->deleteLater(); @@ -670,7 +673,7 @@ void MainWindow::on_view_close_clicked() { // Find the dock widget that contains the close button that was clicked QObject *w = QObject::sender(); - QDockWidget *dock = 0; + QDockWidget *dock = nullptr; while (w) { dock = qobject_cast(w);