From d75066df5fb1b7bfa172302aa2e0e1f088d8ff59 Mon Sep 17 00:00:00 2001 From: WarmUpTill Date: Fri, 23 Aug 2024 20:18:15 +0200 Subject: [PATCH] Fix crash when adding new entries to the legacy tabs --- lib/legacy/scene-trigger.cpp | 2 +- lib/legacy/switch-audio.cpp | 2 +- lib/legacy/switch-executable.cpp | 2 +- lib/legacy/switch-file.cpp | 2 +- lib/legacy/switch-media.cpp | 2 +- lib/legacy/switch-pause.cpp | 2 +- lib/legacy/switch-random.cpp | 2 +- lib/legacy/switch-screen-region.cpp | 2 +- lib/legacy/switch-sequence.cpp | 2 +- lib/legacy/switch-time.cpp | 2 +- lib/legacy/switch-video.cpp | 2 +- lib/legacy/switch-window.cpp | 2 +- lib/utils/utility.cpp | 8 ++++---- lib/utils/utility.hpp | 2 +- 14 files changed, 17 insertions(+), 17 deletions(-) diff --git a/lib/legacy/scene-trigger.cpp b/lib/legacy/scene-trigger.cpp index 50a998ab..738699e9 100644 --- a/lib/legacy/scene-trigger.cpp +++ b/lib/legacy/scene-trigger.cpp @@ -22,7 +22,7 @@ void AdvSceneSwitcher::on_triggerAdd_clicked() listAddClicked(ui->sceneTriggers, new SceneTriggerWidget(this, &switcher->sceneTriggers.back()), - addPulse); + &addPulse); ui->triggerHelp->setVisible(false); } diff --git a/lib/legacy/switch-audio.cpp b/lib/legacy/switch-audio.cpp index aca24b86..80ace2cc 100644 --- a/lib/legacy/switch-audio.cpp +++ b/lib/legacy/switch-audio.cpp @@ -22,7 +22,7 @@ void AdvSceneSwitcher::on_audioAdd_clicked() AudioSwitchWidget *sw = new AudioSwitchWidget(this, &switcher->audioSwitches.back()); - listAddClicked(ui->audioSwitches, sw, addPulse); + listAddClicked(ui->audioSwitches, sw, &addPulse); ui->audioHelp->setVisible(false); } diff --git a/lib/legacy/switch-executable.cpp b/lib/legacy/switch-executable.cpp index 96e06e7b..8125e930 100644 --- a/lib/legacy/switch-executable.cpp +++ b/lib/legacy/switch-executable.cpp @@ -19,7 +19,7 @@ void AdvSceneSwitcher::on_executableAdd_clicked() listAddClicked(ui->executables, new ExecutableSwitchWidget( this, &switcher->executableSwitches.back()), - addPulse); + &addPulse); ui->exeHelp->setVisible(false); } diff --git a/lib/legacy/switch-file.cpp b/lib/legacy/switch-file.cpp index 5d069bf3..0feed74d 100644 --- a/lib/legacy/switch-file.cpp +++ b/lib/legacy/switch-file.cpp @@ -291,7 +291,7 @@ void AdvSceneSwitcher::on_fileAdd_clicked() listAddClicked(ui->fileSwitches, new FileSwitchWidget(this, &switcher->fileSwitches.back()), - addPulse); + &addPulse); ui->fileHelp->setVisible(false); } diff --git a/lib/legacy/switch-media.cpp b/lib/legacy/switch-media.cpp index 956fa0dc..4f12207b 100644 --- a/lib/legacy/switch-media.cpp +++ b/lib/legacy/switch-media.cpp @@ -22,7 +22,7 @@ void AdvSceneSwitcher::on_mediaAdd_clicked() listAddClicked(ui->mediaSwitches, new MediaSwitchWidget(this, &switcher->mediaSwitches.back()), - addPulse); + &addPulse); ui->mediaHelp->setVisible(false); } diff --git a/lib/legacy/switch-pause.cpp b/lib/legacy/switch-pause.cpp index a10d360d..9c28395b 100644 --- a/lib/legacy/switch-pause.cpp +++ b/lib/legacy/switch-pause.cpp @@ -20,7 +20,7 @@ void AdvSceneSwitcher::on_pauseAdd_clicked() listAddClicked(ui->pauseEntries, new PauseEntryWidget(this, &switcher->pauseEntries.back()), - addPulse); + &addPulse); ui->pauseHelp->setVisible(false); } diff --git a/lib/legacy/switch-random.cpp b/lib/legacy/switch-random.cpp index ecb8ab17..8718a7f3 100644 --- a/lib/legacy/switch-random.cpp +++ b/lib/legacy/switch-random.cpp @@ -19,7 +19,7 @@ void AdvSceneSwitcher::on_randomAdd_clicked() listAddClicked(ui->randomSwitches, new RandomSwitchWidget(this, &switcher->randomSwitches.back()), - addPulse); + &addPulse); ui->randomHelp->setVisible(false); } diff --git a/lib/legacy/switch-screen-region.cpp b/lib/legacy/switch-screen-region.cpp index 9ca70820..73fd15a0 100644 --- a/lib/legacy/switch-screen-region.cpp +++ b/lib/legacy/switch-screen-region.cpp @@ -79,7 +79,7 @@ void AdvSceneSwitcher::on_screenRegionAdd_clicked() listAddClicked(ui->screenRegionSwitches, new ScreenRegionWidget( this, &switcher->screenRegionSwitches.back()), - addPulse); + &addPulse); ui->regionHelp->setVisible(false); } diff --git a/lib/legacy/switch-sequence.cpp b/lib/legacy/switch-sequence.cpp index c0bdb1d4..73ecf311 100644 --- a/lib/legacy/switch-sequence.cpp +++ b/lib/legacy/switch-sequence.cpp @@ -26,7 +26,7 @@ void AdvSceneSwitcher::on_sceneSequenceAdd_clicked() listAddClicked(ui->sceneSequenceSwitches, new SequenceWidget( this, &switcher->sceneSequenceSwitches.back()), - addPulse); + &addPulse); ui->sequenceHelp->setVisible(false); } diff --git a/lib/legacy/switch-time.cpp b/lib/legacy/switch-time.cpp index 9b9d11b8..4d2115b2 100644 --- a/lib/legacy/switch-time.cpp +++ b/lib/legacy/switch-time.cpp @@ -17,7 +17,7 @@ void AdvSceneSwitcher::on_timeAdd_clicked() listAddClicked(ui->timeSwitches, new TimeSwitchWidget(this, &switcher->timeSwitches.back()), - addPulse); + &addPulse); ui->timeHelp->setVisible(false); } diff --git a/lib/legacy/switch-video.cpp b/lib/legacy/switch-video.cpp index 453aca44..76e09500 100644 --- a/lib/legacy/switch-video.cpp +++ b/lib/legacy/switch-video.cpp @@ -24,7 +24,7 @@ void AdvSceneSwitcher::on_videoAdd_clicked() VideoSwitchWidget *sw = new VideoSwitchWidget(this, &switcher->videoSwitches.back()); - listAddClicked(ui->videoSwitches, sw, addPulse); + listAddClicked(ui->videoSwitches, sw, &addPulse); ui->videoHelp->setVisible(false); } diff --git a/lib/legacy/switch-window.cpp b/lib/legacy/switch-window.cpp index e6406de1..e0fd821f 100644 --- a/lib/legacy/switch-window.cpp +++ b/lib/legacy/switch-window.cpp @@ -21,7 +21,7 @@ void AdvSceneSwitcher::on_windowAdd_clicked() listAddClicked(ui->windowSwitches, new WindowSwitchWidget(this, &switcher->windowSwitches.back()), - addPulse); + &addPulse); ui->windowHelp->setVisible(false); } diff --git a/lib/utils/utility.cpp b/lib/utils/utility.cpp index 82e7dd7e..c4ada7c0 100644 --- a/lib/utils/utility.cpp +++ b/lib/utils/utility.cpp @@ -76,15 +76,15 @@ std::string ToString(double value) } void listAddClicked(QListWidget *list, QWidget *newWidget, - QObject *addHighlight) + QObject **addHighlight) { if (!list || !newWidget) { return; } - if (addHighlight) { - addHighlight->deleteLater(); - addHighlight = nullptr; + if (addHighlight && *addHighlight) { + (*addHighlight)->deleteLater(); + *addHighlight = nullptr; } QListWidgetItem *item; diff --git a/lib/utils/utility.hpp b/lib/utils/utility.hpp index 53ad44ce..2ccfae9b 100644 --- a/lib/utils/utility.hpp +++ b/lib/utils/utility.hpp @@ -23,7 +23,7 @@ std::string ToString(double value); /* Legacy helpers */ void listAddClicked(QListWidget *list, QWidget *newWidget, - QObject *addHighlight = nullptr); + QObject **addHighlight = nullptr); bool listMoveUp(QListWidget *list); bool listMoveDown(QListWidget *list);