]> git.sesse.net Git - kdenlive/blobdiff - src/monitor.cpp
Don't crash when wrong sdl driver was selected by user (needs MLT patch):
[kdenlive] / src / monitor.cpp
index bc3cd477fef30aeeda426a94079541251311f61d..d54900f34bdb721eb57f548cf80cefe962357c56 100644 (file)
@@ -130,6 +130,7 @@ Monitor::Monitor(QString name, MonitorManager *manager, QWidget *parent) :
     connect(render, SIGNAL(durationChanged(int)), this, SLOT(adjustRulerSize(int)));
     connect(render, SIGNAL(rendererPosition(int)), this, SLOT(seekCursor(int)));
     connect(render, SIGNAL(rendererStopped(int)), this, SLOT(rendererStopped(int)));
+    connect(render, SIGNAL(blockMonitors()), this, SIGNAL(blockMonitors()));
 
     //render->createVideoXWindow(m_ui.video_frame->winId(), -1);
 
@@ -694,7 +695,10 @@ void Monitor::slotSetXml(DocClipBase *clip, const int position)
     }
     if (clip != m_currentClip) {
         m_currentClip = clip;
-        render->setProducer(clip->producer(), position);
+        if (render->setProducer(clip->producer(), position) == -1) {
+            // MLT CONSUMER is broken
+            emit blockMonitors();
+        }
         m_position = position;
     } else if (position != -1) render->seek(GenTime(position, render->fps()));
 }