Преглед на файлове

UI: Disable hiding if settings open

Fixes a bug where you could minimize to tray if the settings window was
open.
jp9000 преди 9 години
родител
ревизия
406a8c89ca
променени са 2 файла, в които са добавени 8 реда и са изтрити 4 реда
  1. 3 3
      UI/window-basic-main.cpp
  2. 5 1
      UI/window-basic-main.hpp

+ 3 - 3
UI/window-basic-main.cpp

@@ -2701,9 +2701,11 @@ void OBSBasic::on_actionRemux_triggered()
 
 
 void OBSBasic::on_action_Settings_triggered()
 void OBSBasic::on_action_Settings_triggered()
 {
 {
+	disableHiding = true;
 	OBSBasicSettings settings(this);
 	OBSBasicSettings settings(this);
 	settings.exec();
 	settings.exec();
 	SystemTray(false);
 	SystemTray(false);
+	disableHiding = false;
 }
 }
 
 
 void OBSBasic::on_actionAdvAudioProperties_triggered()
 void OBSBasic::on_actionAdvAudioProperties_triggered()
@@ -3950,9 +3952,7 @@ void OBSBasic::on_recordButton_clicked()
 
 
 void OBSBasic::on_settingsButton_clicked()
 void OBSBasic::on_settingsButton_clicked()
 {
 {
-	OBSBasicSettings settings(this);
-	settings.exec();
-	SystemTray(false);
+	on_action_Settings_triggered();
 }
 }
 
 
 void OBSBasic::on_actionWebsite_triggered()
 void OBSBasic::on_actionWebsite_triggered()

+ 5 - 1
UI/window-basic-main.hpp

@@ -150,6 +150,7 @@ private:
 	QAction       *showHide;
 	QAction       *showHide;
 	QAction       *showPreview;
 	QAction       *showPreview;
 	QAction       *exit;
 	QAction       *exit;
+	bool          disableHiding = false;
 
 
 	void          DrawBackdrop(float cx, float cy);
 	void          DrawBackdrop(float cx, float cy);
 
 
@@ -362,7 +363,10 @@ private slots:
 
 
 	inline void ToggleShowHide()
 	inline void ToggleShowHide()
 	{
 	{
-		SetShowing(!isVisible());
+		bool showing = isVisible();
+		if (disableHiding && showing)
+			return;
+		SetShowing(!showing);
 	}
 	}
 
 
 private:
 private: