From 66dbf8f2583a3b2d980e1ced6036d071fb721bd7 Mon Sep 17 00:00:00 2001 From: cg2121 Date: Mon, 13 Mar 2017 12:17:01 -0500 Subject: [PATCH] UI: Add workaround to fix deleting final scene bug --- UI/data/locale/en-US.ini | 4 ++++ UI/window-basic-main.cpp | 10 ++++++++++ 2 files changed, 14 insertions(+) diff --git a/UI/data/locale/en-US.ini b/UI/data/locale/en-US.ini index 1d3b3f9be..31addcbe0 100644 --- a/UI/data/locale/en-US.ini +++ b/UI/data/locale/en-US.ini @@ -688,3 +688,7 @@ SceneItemHide="Hide '%1'" OutputWarnings.NoTracksSelected="You must select at least one track" OutputWarnings.MultiTrackRecording="Warning: Certain formats (such as FLV) do not support multiple tracks per recording" OutputWarnings.MP4Recording="Warning: Recordings saved to MP4 will be unrecoverable if the file cannot be finalized (e.g. as a result of BSODs, power losses, etc.). If you want to record multiple audio tracks consider using MKV and remux the recording to mp4 after it is finished (File->Remux Recordings)" + +# deleting final scene +FinalScene.Title="Delete Scene" +FinalScene.Text="There needs to be at least one scene." diff --git a/UI/window-basic-main.cpp b/UI/window-basic-main.cpp index 8590dd75d..b8486c147 100644 --- a/UI/window-basic-main.cpp +++ b/UI/window-basic-main.cpp @@ -1928,6 +1928,7 @@ void OBSBasic::RemoveScene(OBSSource source) QListWidgetItem *sel = nullptr; int count = ui->scenes->count(); + for (int i = 0; i < count; i++) { auto item = ui->scenes->item(i); auto cur_scene = GetOBSRef(item); @@ -2139,6 +2140,15 @@ void OBSBasic::DeactivateAudioSource(OBSSource source) bool OBSBasic::QueryRemoveSource(obs_source_t *source) { + int count = ui->scenes->count(); + + if (count == 1) { + QMessageBox::information(this, + QTStr("FinalScene.Title"), + QTStr("FinalScene.Text")); + return false; + } + const char *name = obs_source_get_name(source); QString text = QTStr("ConfirmRemove.Text");