]> git.sesse.net Git - kdenlive/commitdiff
Fix crash on folder edit
authorJean-Baptiste Mardelle <jb@kdenlive.org>
Fri, 10 Oct 2008 11:00:40 +0000 (11:00 +0000)
committerJean-Baptiste Mardelle <jb@kdenlive.org>
Fri, 10 Oct 2008 11:00:40 +0000 (11:00 +0000)
svn path=/branches/KDE4/; revision=2442

src/projectitem.cpp
src/projectlist.cpp
src/projectlistview.cpp

index e2daf636b2f4e39a8e5899c97033bc41d290ed71..a6442fabd417db33ccced353cdf03c7747523b15 100644 (file)
@@ -178,6 +178,7 @@ void ProjectItem::slotSetToolTip() {
 
 
 void ProjectItem::setProperties(const QMap < QString, QString > &attributes, const QMap < QString, QString > &metadata) {
+    if (m_clip == NULL) return;
     if (attributes.contains("duration")) {
         //if (m_clipType == AUDIO || m_clipType == VIDEO || m_clipType == AV)
         //m_clip->setProperty("duration", attributes["duration"]);
index 21c28ffe01a0cbad82708c8e7e29d463a44a3602..0bf61c3b305b554e3c12482ae93df77ac329676b 100644 (file)
@@ -130,8 +130,10 @@ ProjectList::~ProjectList() {
 
 void ProjectList::slotEditClip() {
     ProjectItem *item = static_cast <ProjectItem*>(listView->currentItem());
-    if (item && !item->isGroup()) emit clipSelected(item->referencedClip());
-    emit showClipProperties(item->referencedClip());
+    if (item && !item->isGroup()) {
+        emit clipSelected(item->referencedClip());
+        emit showClipProperties(item->referencedClip());
+    }
 }
 
 
@@ -159,7 +161,7 @@ void ProjectList::slotUpdateClipProperties(const QString &id, QMap <QString, QSt
 
 void ProjectList::slotUpdateClipProperties(ProjectItem *clip, QMap <QString, QString> properties) {
     if (!clip) return;
-    clip->setProperties(properties);
+    if (!clip->isGroup()) clip->setProperties(properties);
     if (properties.contains("description")) {
         CLIPTYPE type = clip->clipType();
         clip->setText(2, properties.value("description"));
@@ -183,7 +185,7 @@ void ProjectList::slotItemEdited(QTreeWidgetItem *item, int column) {
         QMap <QString, QString> props;
         props["description"] = item->text(2);
         slotUpdateClipProperties(clip, props);
-    } else if (column == 1 && clip->clipType() == FOLDER) {
+    } else if (column == 1 && clip->isGroup()) {
         m_doc->slotEditFolder(item->text(1), clip->groupName(), clip->clipId());
     }
 }
index faefd9b7bf2071a5db961d4d880f1ac9de8fc515..79459753a9ba034365d7f60cd65a6f182aadbf4f 100644 (file)
@@ -112,8 +112,9 @@ void ProjectListView::contextMenuEvent(QContextMenuEvent * event) {
 void ProjectListView::mouseDoubleClickEvent(QMouseEvent * event) {
     ProjectItem *item = static_cast <ProjectItem *>(itemAt(event->pos()));
     if (!item) emit addClip();
-    else if ((item->clipType() == FOLDER && columnAt(event->pos().x()) == 1) || columnAt(event->pos().x()) == 2) QTreeWidget::mouseDoubleClickEvent(event);
-    else emit showProperties(item->referencedClip());
+    else if (item->isGroup()) {
+        if ((columnAt(event->pos().x()) == 1) || columnAt(event->pos().x()) == 2) QTreeWidget::mouseDoubleClickEvent(event);
+    } else emit showProperties(item->referencedClip());
 }
 
 // virtual