]> git.sesse.net Git - kdenlive/blobdiff - src/dvdwizardmenu.cpp
* Correctly convert titles in existing projects to the new kdenlivetitle producer
[kdenlive] / src / dvdwizardmenu.cpp
index ad921c157db1405431229d187bbe9d23c5f60c29..bb48547f7bbf5c8c1ab2026f35522847459bd8a3 100644 (file)
@@ -302,7 +302,7 @@ void DvdWizardMenu::checkBackgroundType(int ix)
     if (ix == 0) {
         m_view.background_color->setVisible(true);
         m_view.background_image->setVisible(false);
-        m_scene->removeItem(m_background);
+        if (m_background->scene() != 0) m_scene->removeItem(m_background);
     } else {
         m_view.background_color->setVisible(false);
         m_view.background_image->setVisible(true);
@@ -310,7 +310,7 @@ void DvdWizardMenu::checkBackgroundType(int ix)
             m_view.background_image->setFilter("*");
             m_scene->addItem(m_background);
         } else {
-            m_scene->removeItem(m_background);
+            if (m_background->scene() != 0) m_scene->removeItem(m_background);
             m_view.background_image->setFilter("video/mpeg");
         }
     }
@@ -325,12 +325,12 @@ void DvdWizardMenu::buildImage()
 {
     emit completeChanged();
     if (m_view.background_image->url().isEmpty()) {
-        m_scene->removeItem(m_background);
+        if (m_background->scene() != 0) m_scene->removeItem(m_background);
         return;
     }
     QPixmap pix;
     if (!pix.load(m_view.background_image->url().path())) {
-        m_scene->removeItem(m_background);
+        if (m_background->scene() != 0) m_scene->removeItem(m_background);
         return;
     }
     pix = pix.scaled(m_width, m_height);
@@ -341,7 +341,7 @@ void DvdWizardMenu::buildImage()
 void DvdWizardMenu::checkBackground()
 {
     if (m_view.background_list->currentIndex() != 1) {
-        m_scene->removeItem(m_background);
+        if (m_background->scene() != 0) m_scene->removeItem(m_background);
     } else {
         m_scene->addItem(m_background);
     }
@@ -393,9 +393,9 @@ void DvdWizardMenu::createButtonImages(const QString &img1, const QString &img2,
         QPainter p(&img);
         p.setRenderHints(QPainter::Antialiasing, false);
         p.setRenderHints(QPainter::TextAntialiasing, false);
-        m_scene->removeItem(m_safeRect);
-        m_scene->removeItem(m_color);
-        m_scene->removeItem(m_background);
+        if (m_safeRect->scene() != 0) m_scene->removeItem(m_safeRect);
+        if (m_color->scene() != 0) m_scene->removeItem(m_color);
+        if (m_background->scene() != 0) m_scene->removeItem(m_background);
         m_scene->render(&p, QRectF(0, 0, m_width, m_height));
         p.end();
         img.setNumColors(4);
@@ -563,10 +563,10 @@ void DvdWizardMenu::loadXml(QDomElement xml)
         m_view.background_color->setColor(xml.attribute("background_color"));
     } else if (xml.hasAttribute("background_image")) {
         m_view.background_list->setCurrentIndex(1);
-        m_view.background_image->setPath(xml.attribute("background_image"));
+        m_view.background_image->setUrl(KUrl(xml.attribute("background_image")));
     } else if (xml.hasAttribute("background_video")) {
         m_view.background_list->setCurrentIndex(2);
-        m_view.background_image->setPath(xml.attribute("background_video"));
+        m_view.background_image->setUrl(KUrl(xml.attribute("background_video")));
     }
 
     m_view.text_color->setColor(xml.attribute("text_color"));