summaryrefslogtreecommitdiff
path: root/muse2/muse/arranger/pcanvas.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'muse2/muse/arranger/pcanvas.cpp')
-rw-r--r--muse2/muse/arranger/pcanvas.cpp24
1 files changed, 14 insertions, 10 deletions
diff --git a/muse2/muse/arranger/pcanvas.cpp b/muse2/muse/arranger/pcanvas.cpp
index cf376042..56d68ceb 100644
--- a/muse2/muse/arranger/pcanvas.cpp
+++ b/muse2/muse/arranger/pcanvas.cpp
@@ -828,25 +828,29 @@ void PartCanvas::mousePress(QMouseEvent* event)
}
QPoint pt = event->pos();
CItem* item = items.find(pt);
- if (item == 0 && _tool!=AutomationTool)
- return;
+
switch (_tool) {
default:
- emit trackChanged(item->part()->track());
+ if (item)
+ emit trackChanged(item->part()->track());
+ else
+ emit trackChanged(NULL);
break;
case CutTool:
- splitItem(item, pt);
+ if (item) splitItem(item, pt);
break;
case GlueTool:
- glueItem(item);
+ if (item) glueItem(item);
break;
case MuteTool:
{
- NPart* np = (NPart*) item;
- Part* p = np->part();
- p->setMute(!p->mute());
- redraw();
- break;
+ if (item) {
+ NPart* np = (NPart*) item;
+ Part* p = np->part();
+ p->setMute(!p->mute());
+ redraw();
+ break;
+ }
}
case AutomationTool:
if (automation.controllerState != doNothing)