ensure effects are in the main thread
This commit is contained in:
+3
-1
@@ -140,18 +140,20 @@ void LoadThread::load_effect(QXmlStreamReader& stream, Clip* c) {
|
|||||||
EffectPtr ve(new VoidEffect(c, effect_name));
|
EffectPtr ve(new VoidEffect(c, effect_name));
|
||||||
ve->SetEnabled(effect_enabled);
|
ve->SetEnabled(effect_enabled);
|
||||||
ve->load(stream);
|
ve->load(stream);
|
||||||
|
ve->moveToThread(QApplication::instance()->thread());
|
||||||
c->effects.append(ve);
|
c->effects.append(ve);
|
||||||
} else {
|
} else {
|
||||||
EffectPtr e(Effect::Create(c, meta));
|
EffectPtr e(Effect::Create(c, meta));
|
||||||
e->SetEnabled(effect_enabled);
|
e->SetEnabled(effect_enabled);
|
||||||
e->load(stream);
|
e->load(stream);
|
||||||
|
e->moveToThread(QApplication::instance()->thread());
|
||||||
c->effects.append(e);
|
c->effects.append(e);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
TransitionPtr t = Transition::Create(c, nullptr, meta);
|
TransitionPtr t = Transition::Create(c, nullptr, meta);
|
||||||
if (effect_length > -1) t->set_length(effect_length);
|
if (effect_length > -1) t->set_length(effect_length);
|
||||||
t->SetEnabled(effect_enabled);
|
t->SetEnabled(effect_enabled);
|
||||||
|
t->moveToThread(QApplication::instance()->thread());
|
||||||
t->load(stream);
|
t->load(stream);
|
||||||
|
|
||||||
if (type == kTransitionOpening) {
|
if (type == kTransitionOpening) {
|
||||||
|
|||||||
Reference in New Issue
Block a user