Explorar o código

UI: Work around Qt dock restore crash

derrod %!s(int64=2) %!d(string=hai) anos
pai
achega
3dcf68f8ed
Modificáronse 3 ficheiros con 12 adicións e 4 borrados
  1. 3 1
      UI/auth-restream.cpp
  2. 6 2
      UI/auth-twitch.cpp
  3. 3 1
      UI/auth-youtube.cpp

+ 3 - 1
UI/auth-restream.cpp

@@ -200,7 +200,9 @@ void RestreamAuth::LoadUI()
 			main->Config(), service(), "DockState");
 		QByteArray dockState =
 			QByteArray::fromBase64(QByteArray(dockStateStr));
-		main->restoreState(dockState);
+
+		if (main->isVisible() || !main->isMaximized())
+			main->restoreState(dockState);
 	}
 
 	uiLoaded = true;

+ 6 - 2
UI/auth-twitch.cpp

@@ -276,7 +276,9 @@ void TwitchAuth::LoadUI()
 			main->Config(), service(), "DockState");
 		QByteArray dockState =
 			QByteArray::fromBase64(QByteArray(dockStateStr));
-		main->restoreState(dockState);
+
+		if (main->isVisible() || !main->isMaximized())
+			main->restoreState(dockState);
 	}
 
 	TryLoadSecondaryUIPanes();
@@ -405,7 +407,9 @@ void TwitchAuth::LoadSecondaryUIPanes()
 			main->Config(), service(), "DockState");
 		QByteArray dockState =
 			QByteArray::fromBase64(QByteArray(dockStateStr));
-		main->restoreState(dockState);
+
+		if (main->isVisible() || !main->isMaximized())
+			main->restoreState(dockState);
 	}
 }
 

+ 3 - 1
UI/auth-youtube.cpp

@@ -164,7 +164,9 @@ void YoutubeAuth::LoadUI()
 			main->Config(), service(), "DockState");
 		QByteArray dockState =
 			QByteArray::fromBase64(QByteArray(dockStateStr));
-		main->restoreState(dockState);
+
+		if (main->isVisible() || !main->isMaximized())
+			main->restoreState(dockState);
 	}
 #endif