diff --git a/libobs/obs-scene.c b/libobs/obs-scene.c index 96f995433..f40d9c53d 100644 --- a/libobs/obs-scene.c +++ b/libobs/obs-scene.c @@ -331,7 +331,6 @@ int obs_sceneitem_release(obs_sceneitem_t item) void obs_sceneitem_remove(obs_sceneitem_t item) { obs_scene_t scene; - bool was_removed; if (!item) return; @@ -341,15 +340,14 @@ void obs_sceneitem_remove(obs_sceneitem_t item) if (scene) pthread_mutex_lock(&scene->mutex); - was_removed = item->removed; - item->removed = true; - - if (was_removed) { + if (item->removed) { if (scene) pthread_mutex_unlock(&scene->mutex); return; } + item->removed = true; + signal_item_remove(item); detach_sceneitem(item);