summaryrefslogtreecommitdiff
path: root/muse2/muse/arranger/pcanvas.cpp
diff options
context:
space:
mode:
authorFlorian Jung <flo@windfisch.org>2011-06-06 18:01:05 +0000
committerFlorian Jung <flo@windfisch.org>2011-06-06 18:01:05 +0000
commit637498c87bf1ac780d8527d0596936fcdd2c6dfc (patch)
tree5257fadc43d8d8eb44b763b720b5ae373e070d79 /muse2/muse/arranger/pcanvas.cpp
parent2359a1c010c298eb66b5b03e0e23f55b4fd9ff4b (diff)
hopefully fixed the "clones aren't treated as clones" bug
fixed stupid behaviour of shrink and expand part
Diffstat (limited to 'muse2/muse/arranger/pcanvas.cpp')
-rw-r--r--muse2/muse/arranger/pcanvas.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/muse2/muse/arranger/pcanvas.cpp b/muse2/muse/arranger/pcanvas.cpp
index e17d08e1..f7a2abde 100644
--- a/muse2/muse/arranger/pcanvas.cpp
+++ b/muse2/muse/arranger/pcanvas.cpp
@@ -349,14 +349,15 @@ UndoOp PartCanvas::moveItem(CItem* item, const QPoint& newpos, DragType t)
// This increments aref count if cloned, and chains clones.
// It also gives the new part a new serial number.
dpart = dtrack->newPart(spart, clone);
- dpart->events()->incARef(-1); // the later song->applyOperationGroup() will increment it
- // so we must decrement it first :/
dpart->setTick(dtick);
if(t == MOVE_MOVE)
item->setPart(dpart);
if (t == MOVE_COPY && !clone) {
+ dpart->events()->incARef(-1); // the later song->applyOperationGroup() will increment it
+ // so we must decrement it first :/
+
//
// Copy Events
//
@@ -368,6 +369,8 @@ UndoOp PartCanvas::moveItem(CItem* item, const QPoint& newpos, DragType t)
de->add(ev);
}
}
+
+
if (t == MOVE_COPY || t == MOVE_CLONE) {
// These will not increment ref count, and will not chain clones...
// TODO: is this still correct (by flo93)?