diff options
author | Bent Bisballe Nyeng <deva@aasimon.org> | 2013-01-11 21:57:38 +0100 |
---|---|---|
committer | Bent Bisballe Nyeng <deva@aasimon.org> | 2013-01-11 21:57:38 +0100 |
commit | d42038cc4c65c1ab1a71b2c7d71f949d22d3346b (patch) | |
tree | b4e09dba2e88ee0bd1452292956e98189e34a559 /src | |
parent | adab7fc5a061624ad931fee4f95de09f78ace91d (diff) |
Fix move on node to self and node to non-existing.
Diffstat (limited to 'src')
-rw-r--r-- | src/taskmanager.cc | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/taskmanager.cc b/src/taskmanager.cc index 7857d12..5f8e2d7 100644 --- a/src/taskmanager.cc +++ b/src/taskmanager.cc @@ -110,7 +110,13 @@ TaskIdListPair TaskManager::moveTask(taskid_t id, taskid_t to) if(isProtected(id)) return TaskIdListPair(); + if(id == to) throw std::exception(); // Node and new parent are the same node. + task_t t = tree.data(id); + + // Make sure the new parent exists. This will throw an exception if it doesn't + task_t t_ = tree.data(to); + t.parentid = to; TaskIdList tilremove = tree.remove(id); |