Selaa lähdekoodia

UI: Disable hiding if settings open

Fixes a bug where you could minimize to tray if the settings window was
open.
jp9000 9 vuotta sitten
vanhempi
sitoutus
406a8c89ca
2 muutettua tiedostoa jossa 8 lisäystä ja 4 poistoa
  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()
 {
+	disableHiding = true;
 	OBSBasicSettings settings(this);
 	settings.exec();
 	SystemTray(false);
+	disableHiding = false;
 }
 
 void OBSBasic::on_actionAdvAudioProperties_triggered()
@@ -3950,9 +3952,7 @@ void OBSBasic::on_recordButton_clicked()
 
 void OBSBasic::on_settingsButton_clicked()
 {
-	OBSBasicSettings settings(this);
-	settings.exec();
-	SystemTray(false);
+	on_action_Settings_triggered();
 }
 
 void OBSBasic::on_actionWebsite_triggered()

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

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