QDomDocument doc;
// delete effects from the last one to the first, otherwise each deletion would trigger an update
// in other effects's kdenlive_ix index.
QDomDocument doc;
// delete effects from the last one to the first, otherwise each deletion would trigger an update
// in other effects's kdenlive_ix index.
QMutexLocker lock(&m_mutex);
QVBoxLayout *vbox = static_cast<QVBoxLayout *>(widgetFrame->layout());
if (vbox == NULL) return;
QMutexLocker lock(&m_mutex);
QVBoxLayout *vbox = static_cast<QVBoxLayout *>(widgetFrame->layout());
if (vbox == NULL) return;
vbox->removeWidget(m_subWidgets.at(i));
layout->insertWidget(ix, m_subWidgets.at(i));
m_subWidgets.at(i)->decoframe->setObjectName("decoframe");
vbox->removeWidget(m_subWidgets.at(i));
layout->insertWidget(ix, m_subWidgets.at(i));
m_subWidgets.at(i)->decoframe->setObjectName("decoframe");