diff options
author | Aqua-sama <aqua@iserlohn-fortress.net> | 2020-04-05 10:49:10 +0300 |
---|---|---|
committer | Aqua-sama <aqua@iserlohn-fortress.net> | 2020-04-17 18:27:20 +0300 |
commit | 78e4a0aa136e78bdb71c81f5931792b9c16d12e7 (patch) | |
tree | 7b70292ee30f4e351688f43d85c376652785291d /src/mainwindow/mainwindow.cpp | |
parent | Add args.wrap (diff) | |
download | smolbote-fix-segfault-at-quit.tar.xz |
MainWindow: disconnect signals during closeEventfix-segfault-at-quit
Diffstat (limited to 'src/mainwindow/mainwindow.cpp')
-rw-r--r-- | src/mainwindow/mainwindow.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/mainwindow/mainwindow.cpp b/src/mainwindow/mainwindow.cpp index e16f34f..c54c8e3 100644 --- a/src/mainwindow/mainwindow.cpp +++ b/src/mainwindow/mainwindow.cpp @@ -177,10 +177,14 @@ void MainWindow::setCurrentSubWindow(SubWindow *subwindow) setWindowTitle(QString("[%1] - %2").arg(subwindow->windowTitle(), defaultWindowTitle)); // connect signlas + disconnect(windowTitleConnection); disconnect(viewChangedConnection); disconnect(statusBarConnection); setView(subwindow->currentView()); + windowTitleConnection = connect(subwindow, &SubWindow::windowTitleChanged, this, [this](const QString &title) { + setWindowTitle(QString("[%1] - %2").arg(title, defaultWindowTitle)); + }); viewChangedConnection = connect(subwindow, &SubWindow::currentViewChanged, this, &MainWindow::setView); statusBarConnection = connect(subwindow, &SubWindow::showStatusMessage, statusBar(), &QStatusBar::showMessage); } @@ -201,5 +205,8 @@ void MainWindow::closeEvent(QCloseEvent *event) return; } } + disconnect(windowTitleConnection); + disconnect(viewChangedConnection); + disconnect(statusBarConnection); event->accept(); } |