]> git.sesse.net Git - kdenlive/commitdiff
Fix monitor scene not showing up when switching between effects in effect stack
authorTill Theato <root@ttill.de>
Sat, 28 Aug 2010 19:24:08 +0000 (19:24 +0000)
committerTill Theato <root@ttill.de>
Sat, 28 Aug 2010 19:24:08 +0000 (19:24 +0000)
svn path=/trunk/kdenlive/; revision=4774

src/effectstackedit.cpp
src/effectstackview.cpp
src/geometrywidget.cpp

index d5270cabe682d5ecfdf2bd0f28afe797d1670bf4..621275c837b60fe961b217adf653f6094ae82241 100644 (file)
@@ -260,6 +260,8 @@ void EffectStackEdit::transferParamDesc(const QDomElement d, int pos, int in, in
         } else if (type == "geometry") {
             if (KdenliveSettings::on_monitor_effects()) {
                 GeometryWidget *geometry = new GeometryWidget(m_monitor, m_timecode, pos, isEffect, this);
+                // connect this before setupParam to make sure the monitor scene shows up at startup
+                connect(geometry, SIGNAL(checkMonitorPosition(int)), this, SIGNAL(checkMonitorPosition(int)));
                 if (minFrame == maxFrame)
                     geometry->setupParam(pa, m_in, m_out);
                 else
@@ -267,7 +269,6 @@ void EffectStackEdit::transferParamDesc(const QDomElement d, int pos, int in, in
                 m_vbox->addWidget(geometry);
                 m_valueItems[paramName+"geometry"] = geometry;
                 connect(geometry, SIGNAL(parameterChanged()), this, SLOT(collectAllParameters()));
-                connect(geometry, SIGNAL(checkMonitorPosition(int)), this, SIGNAL(checkMonitorPosition(int)));
                 connect(geometry, SIGNAL(seekToPos(int)), this, SIGNAL(seekTimeline(int)));
                 connect(this, SIGNAL(syncEffectsPos(int)), geometry, SLOT(slotSyncPosition(int)));
             } else {
index 257a54682c66dc9e88672f1353354b8a786bb927..ae90b7978cc75ad39fee3e0fed3eb276f5ddcbbe 100644 (file)
@@ -444,7 +444,7 @@ void EffectStackView::slotCheckMonitorPosition(int renderPos)
 
 void EffectStackView::slotRenderPos(int pos)
 {
-    if (m_clipref && m_effectedit)
+    if (m_clipref && m_effectedit && !m_trackMode)
         m_effectedit->slotSyncEffectsPos(pos - m_clipref->startPos().frames(KdenliveSettings::project_fps()));
 }
 
index fab0aeea1caf41e06c0af56275f88353a4346059..c10389dc5ddb4457e26d9651e168ba05088f80d7 100644 (file)
@@ -220,7 +220,6 @@ void GeometryWidget::setupParam(const QDomElement elem, int minframe, int maxfra
     m_scene->addItem(m_rect);
 
     slotPositionChanged(0, false);
-    slotUpdateProperties();
     slotCheckMonitorPosition(m_monitor->render->seekFramePosition());
 }