소스 검색

UI: Work around Qt dock restore crash

(cherry picked from commit 3dcf68f8ed500a23154f502a85caa109afd04d81)
derrod 2 년 전
부모
커밋
063cc0c865
3개의 변경된 파일12개의 추가작업 그리고 4개의 파일을 삭제
  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