diff --git a/UI/window-basic-main.cpp b/UI/window-basic-main.cpp index d969106d3..44327a4c3 100644 --- a/UI/window-basic-main.cpp +++ b/UI/window-basic-main.cpp @@ -1647,15 +1647,21 @@ void OBSBasic::OBSInit() ui->viewMenu->addSeparator(); - QMenu *multiviewProjectorMenu = new QMenu(QTStr("MultiviewProjector")); - AddProjectorMenuMonitors(multiviewProjectorMenu, this, - SLOT(OpenMultiviewProjector())); + multiviewProjectorMenu = new QMenu(QTStr("MultiviewProjector")); ui->viewMenu->addMenu(multiviewProjectorMenu); - + connect(ui->viewMenu->menuAction(), &QAction::hovered, this, + &OBSBasic::UpdateMultiviewProjectorMenu); ui->viewMenu->addAction(QTStr("MultiviewWindowed"), this, SLOT(OpenMultiviewWindow())); } +void OBSBasic::UpdateMultiviewProjectorMenu() +{ + multiviewProjectorMenu->clear(); + AddProjectorMenuMonitors(multiviewProjectorMenu, this, + SLOT(OpenMultiviewProjector())); +} + void OBSBasic::InitHotkeys() { ProfileScope("OBSBasic::InitHotkeys"); diff --git a/UI/window-basic-main.hpp b/UI/window-basic-main.hpp index 30a1e983c..5e7cadab8 100644 --- a/UI/window-basic-main.hpp +++ b/UI/window-basic-main.hpp @@ -186,6 +186,9 @@ private: QPointer exit; QPointer trayMenu; + QPointer multiviewProjectorMenu; + void UpdateMultiviewProjectorMenu(); + void DrawBackdrop(float cx, float cy); void SetupEncoders();