From 69108c8a2892cf87a3d425b5e82e0eadbb5f7fa9 Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Sat, 1 Jun 2013 14:20:24 +0300 Subject: clear drag selection if selected item removed. --- src/dragdrop.h | 8 ++++++++ src/item.cpp | 1 + 2 files changed, 9 insertions(+) (limited to 'src') diff --git a/src/dragdrop.h b/src/dragdrop.h index 5630f9248..a2c94facf 100644 --- a/src/dragdrop.h +++ b/src/dragdrop.h @@ -80,6 +80,14 @@ class DragDrop Item *getSelected() { return mSelItem; } + void clearItem(const Item *const item) + { + if (mItem == item) + clear(); + if (mSelItem == item) + mSelItem = nullptr; + } + private: Item *mItem; Item *mSelItem; diff --git a/src/item.cpp b/src/item.cpp index 90ca9ea35..f686f5cf6 100644 --- a/src/item.cpp +++ b/src/item.cpp @@ -68,6 +68,7 @@ Item::~Item() mDrawImage->decRef(); mDrawImage = nullptr; } + dragDrop.clearItem(this); } void Item::setId(const int id, const unsigned char color) -- cgit v1.2.3-70-g09d2