Skip to content

Commit ab1e565

Browse files
committed
Fix sources menu
1 parent e0d3888 commit ab1e565

File tree

2 files changed

+6
-3
lines changed

2 files changed

+6
-3
lines changed

source-tree.cpp

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -228,12 +228,17 @@ void SourceTreeItem::Clear()
228228
sceneitem = nullptr;
229229
}
230230

231+
extern std::list<CanvasDock *> canvas_docks;
232+
231233
void SourceTreeItem::removeItem(void *data, calldata_t *cd)
232234
{
233235
SourceTreeItem *this_ = reinterpret_cast<SourceTreeItem *>(data);
234236
obs_sceneitem_t *curItem = (obs_sceneitem_t *)calldata_ptr(cd, "item");
235237
obs_scene_t *curScene = (obs_scene_t *)calldata_ptr(cd, "scene");
236238

239+
if (std::find(canvas_docks.begin(), canvas_docks.end(), this_->tree->canvasDock) == canvas_docks.end())
240+
return;
241+
237242
if (curItem == this_->sceneitem) {
238243
QMetaObject::invokeMethod(this_->tree, "Remove", Qt::QueuedConnection, Q_ARG(OBSSceneItem, curItem),
239244
Q_ARG(OBSScene, curScene));
@@ -518,8 +523,6 @@ void SourceTreeItem::Renamed(const QString &name)
518523
label->setText(name);
519524
}
520525

521-
extern std::list<CanvasDock *> canvas_docks;
522-
523526
void SourceTreeItem::Update(bool force)
524527
{
525528
if (std::find(canvas_docks.begin(), canvas_docks.end(), tree->canvasDock) == canvas_docks.end())

vertical-canvas.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4640,10 +4640,10 @@ bool CanvasDock::add_sources_of_type_to_menu(void *param, obs_source_t *source)
46404640
{
46414641
QMenu *menu = static_cast<QMenu *>(param);
46424642
auto parent = qobject_cast<QMenu *>(menu->parent());
4643+
auto a = parent && !parent->menuAction()->data().isNull() ? parent->menuAction() : menu->menuAction();
46434644
while (parent && qobject_cast<QMenu *>(parent->parent()))
46444645
parent = qobject_cast<QMenu *>(parent->parent());
46454646
CanvasDock *cd = static_cast<CanvasDock *>(parent ? parent->parent() : menu->parent());
4646-
auto a = parent ? parent->menuAction() : menu->menuAction();
46474647
auto t = a->data().toString();
46484648
auto idUtf8 = t.toUtf8();
46494649
const char *id = idUtf8.constData();

0 commit comments

Comments
 (0)