qt: properly update "Show non-primary monitors" settings when they are closed

This commit is contained in:
Cacodemon345
2022-08-02 00:14:09 +06:00
parent 8b99f9f360
commit e2a03f436e
3 changed files with 6 additions and 3 deletions

View File

@@ -2058,7 +2058,7 @@ void MainWindow::on_actionMCA_devices_triggered()
void MainWindow::on_actionShow_non_primary_monitors_triggered() void MainWindow::on_actionShow_non_primary_monitors_triggered()
{ {
show_second_monitors ^= 1; show_second_monitors = (int)ui->actionShow_non_primary_monitors->isChecked();
blitDummied = true; blitDummied = true;

View File

@@ -148,6 +148,7 @@ private:
friend class SpecifyDimensions; friend class SpecifyDimensions;
friend class ProgSettings; friend class ProgSettings;
friend class RendererCommon; friend class RendererCommon;
friend class RendererStack; // For UI variable access by non-primary renderer windows.
}; };
#endif // QT_MAINWINDOW_HPP #endif // QT_MAINWINDOW_HPP

View File

@@ -32,6 +32,8 @@
#include "qt_mainwindow.hpp" #include "qt_mainwindow.hpp"
#include "qt_util.hpp" #include "qt_util.hpp"
#include "ui_qt_mainwindow.h"
#include "evdev_mouse.hpp" #include "evdev_mouse.hpp"
#include <atomic> #include <atomic>
@@ -459,9 +461,9 @@ RendererStack::blitCommon(int x, int y, int w, int h)
void RendererStack::closeEvent(QCloseEvent* event) void RendererStack::closeEvent(QCloseEvent* event)
{ {
if (cpu_thread_run == 0 || is_quit == 0) { if (cpu_thread_run == 1 || is_quit == 0) {
event->accept(); event->accept();
show_second_monitors = 0; // TODO: This isn't actually the right fix, so fix this properly. main_window->ui->actionShow_non_primary_monitors->setChecked(false);
return; return;
} }
event->ignore(); event->ignore();