From a5f1c53b3087ce75fa0622c3aab4eeeb2b410f22 Mon Sep 17 00:00:00 2001 From: cxl Date: Wed, 29 Oct 2014 15:15:26 +0000 Subject: [PATCH] CtrlLib: ArrayCtrl fixed DnD of last item git-svn-id: svn://ultimatepp.org/upp/trunk@7834 f0d560ea-af0d-0410-9eb7-867de7ffcac7 --- uppsrc/CtrlLib/ArrayCtrl.cpp | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/uppsrc/CtrlLib/ArrayCtrl.cpp b/uppsrc/CtrlLib/ArrayCtrl.cpp index 69a6e5670..78ed98bec 100644 --- a/uppsrc/CtrlLib/ArrayCtrl.cpp +++ b/uppsrc/CtrlLib/ArrayCtrl.cpp @@ -2807,13 +2807,17 @@ void ArrayCtrl::InsertDrop(int line, const Vector< Vector >& data, PasteC if(data.GetCount() == 0) return; if(d.GetAction() == DND_MOVE && self) { - for(int i = GetCount() - 1; i >= 0; i--) { - if(IsSel(i)) { - Remove(i); // Optimize! - if(i < line) - line--; + if(IsMultiSelect()) + for(int i = GetCount() - 1; i >= 0; i--) { + if(IsSel(i)) { + Remove(i); // Optimize! + if(i < line) + line--; + } } - } + else + if(IsCursor()) + Remove(GetCursor()); KillCursor(); d.SetAction(DND_COPY); }