diff --git a/aegisub/frame_main.cpp b/aegisub/frame_main.cpp index 86b2a76fc..b0d6fed12 100644 --- a/aegisub/frame_main.cpp +++ b/aegisub/frame_main.cpp @@ -691,22 +691,21 @@ void FrameMain::SetDisplayMode(int _showVid,int _showAudio) { if (!IsShownOnScreen() && !firstRun) return; firstRun = false; + // Automatic + if (_showVid == -1) _showVid = (VideoContext::Get()->IsLoaded() && !detachedVideo) ? 1 : 0; + else if (_showVid == -2) _showVid = showVideo?1:0; + if (_showAudio == -1) _showAudio = audioBox->loaded ? 1 : 0; + else if (_showAudio == -2) _showAudio = showAudio?1:0; + + // See if anything changed + if (_showVid == (showVideo?1:0) && _showAudio == (showAudio?1:0)) return; + showAudio = _showAudio == 1; + showVideo = _showVid == 1; + // Stop Freeze(); VideoContext::Get()->Stop(); - // Automatic - if (_showVid == -1) _showVid = (VideoContext::Get()->IsLoaded() && !detachedVideo) ? 1 : 0; - if (_showAudio == -1) _showAudio = audioBox->loaded ? 1 : 0; - - // See if anything changed - if (_showVid == (showVideo?1:0) && _showAudio == (showAudio?1:0)) { - Thaw(); - return; - } - showAudio = _showAudio == 1; - showVideo = _showVid == 1; - // Set display TopSizer->Show(videoBox,showVideo,true); ToolSizer->Show(audioBox,showAudio,true); diff --git a/aegisub/frame_main_events.cpp b/aegisub/frame_main_events.cpp index 0a53d98c5..a00e85d6f 100644 --- a/aegisub/frame_main_events.cpp +++ b/aegisub/frame_main_events.cpp @@ -1155,7 +1155,7 @@ void FrameMain::OnReplace(wxCommandEvent &event) { void FrameMain::OnSetARDefault (wxCommandEvent &event) { VideoContext::Get()->Stop(); VideoContext::Get()->SetAspectRatio(0); - SetDisplayMode(-1,-1); + SetDisplayMode(-1,-2); } @@ -1164,7 +1164,7 @@ void FrameMain::OnSetARDefault (wxCommandEvent &event) { void FrameMain::OnSetARFull (wxCommandEvent &event) { VideoContext::Get()->Stop(); VideoContext::Get()->SetAspectRatio(1); - SetDisplayMode(-1,-1); + SetDisplayMode(-1,-2); } @@ -1173,7 +1173,7 @@ void FrameMain::OnSetARFull (wxCommandEvent &event) { void FrameMain::OnSetARWide (wxCommandEvent &event) { VideoContext::Get()->Stop(); VideoContext::Get()->SetAspectRatio(2); - SetDisplayMode(-1,-1); + SetDisplayMode(-1,-2); } @@ -1182,7 +1182,7 @@ void FrameMain::OnSetARWide (wxCommandEvent &event) { void FrameMain::OnSetAR235 (wxCommandEvent &event) { VideoContext::Get()->Stop(); VideoContext::Get()->SetAspectRatio(3); - SetDisplayMode(-1,-1); + SetDisplayMode(-1,-2); }