From 20b4a1c008b7432d73bc28d918abdf3501179075 Mon Sep 17 00:00:00 2001 From: jp9000 Date: Sat, 27 Jun 2015 18:18:40 -0700 Subject: [PATCH] UI: Manually delete visibility item widgets --- obs/window-basic-filters.cpp | 14 +++++++------- obs/window-basic-main.cpp | 12 ++++++------ 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/obs/window-basic-filters.cpp b/obs/window-basic-filters.cpp index 2a865d997..8303b5e15 100644 --- a/obs/window-basic-filters.cpp +++ b/obs/window-basic-filters.cpp @@ -20,6 +20,7 @@ #include "display-helpers.hpp" #include "qt-wrappers.hpp" #include "visibility-item-widget.hpp" +#include "item-widget-helpers.hpp" #include "obs-app.hpp" #include @@ -105,9 +106,8 @@ OBSBasicFilters::OBSBasicFilters(QWidget *parent, OBSSource source_) OBSBasicFilters::~OBSBasicFilters() { - ui->asyncFilters->clear(); - ui->effectFilters->clear(); - QApplication::sendPostedEvents(this); + ClearListItems(ui->asyncFilters); + ClearListItems(ui->effectFilters); } void OBSBasicFilters::Init() @@ -195,7 +195,7 @@ void OBSBasicFilters::RemoveFilter(OBSSource filter) OBSSource curFilter = v.value(); if (filter == curFilter) { - delete item; + DeleteListItem(list, item); break; } } @@ -223,7 +223,7 @@ void OBSBasicFilters::ReorderFilter(QListWidget *list, if ((int)idx != i) { bool sel = (list->currentRow() == i); - listItem = list->takeItem(i); + listItem = TakeListItem(list, i); if (listItem) { list->insertItem((int)idx, listItem); SetupVisibilityItem(list, @@ -271,8 +271,8 @@ void OBSBasicFilters::UpdateFilters() if (!source) return; - ui->effectFilters->clear(); - ui->asyncFilters->clear(); + ClearListItems(ui->effectFilters); + ClearListItems(ui->asyncFilters); obs_source_enum_filters(source, [] (obs_source_t*, obs_source_t *filter, void *p) diff --git a/obs/window-basic-main.cpp b/obs/window-basic-main.cpp index 661c95b56..ff5063d8c 100644 --- a/obs/window-basic-main.cpp +++ b/obs/window-basic-main.cpp @@ -32,6 +32,7 @@ #include "obs-app.hpp" #include "platform.hpp" #include "visibility-item-widget.hpp" +#include "item-widget-helpers.hpp" #include "window-basic-settings.hpp" #include "window-namedialog.hpp" #include "window-basic-source-select.hpp" @@ -1009,7 +1010,7 @@ OBSSceneItem OBSBasic::GetCurrentSceneItem() void OBSBasic::UpdateSources(OBSScene scene) { - ui->sources->clear(); + ClearListItems(ui->sources); obs_scene_enum_items(scene, [] (obs_scene_t *scene, obs_sceneitem_t *item, void *p) @@ -1121,7 +1122,7 @@ void OBSBasic::RemoveScene(OBSSource source) if (sel != nullptr) { if (items.contains(sel)) - ui->sources->clear(); + ClearListItems(ui->sources); delete sel; } } @@ -1146,7 +1147,7 @@ void OBSBasic::RemoveSceneItem(OBSSceneItem item) QListWidgetItem *listItem = ui->sources->item(i); if (GetOBSRef(listItem) == item) { - delete listItem; + DeleteListItem(ui->sources, listItem); break; } } @@ -1465,7 +1466,7 @@ void OBSBasic::ReorderSceneItem(obs_sceneitem_t *item, size_t idx) if ((int)idx_inv != i) { bool sel = (ui->sources->currentRow() == i); - listItem = ui->sources->takeItem(i); + listItem = TakeListItem(ui->sources, i); if (listItem) { ui->sources->insertItem(idx_inv, listItem); @@ -1975,8 +1976,7 @@ void OBSBasic::closeEvent(QCloseEvent *event) while ((item = ui->scenes->takeItem(0))) delete item; - while ((item = ui->sources->takeItem(0))) - delete item; + ClearListItems(ui->sources); } void OBSBasic::changeEvent(QEvent *event) -- GitLab