Fix of #5568 - Unselecting more than 10 copies stops at copy 10

But really bug was: incorrectly interrupted DnD.
This commit is contained in:
YuSanka 2021-01-07 09:56:43 +01:00
parent e8ab281cd0
commit efd3002ea9

View File

@ -1197,7 +1197,7 @@ void ObjectList::OnBeginDrag(wxDataViewEvent &event)
**/ **/
m_prevent_list_events = true;//it's needed for GTK m_prevent_list_events = true;//it's needed for GTK
/* Under GTK, DnD requires to the wxTextDataObject been initialized with some valid value, /* Under GTK, DnD requires to the wxTextDataObject been initialized with some valid vaSome textlue,
* so set some nonempty string * so set some nonempty string
*/ */
wxTextDataObject* obj = new wxTextDataObject; wxTextDataObject* obj = new wxTextDataObject;
@ -1229,8 +1229,10 @@ void ObjectList::OnDropPossible(wxDataViewEvent &event)
{ {
const wxDataViewItem& item = event.GetItem(); const wxDataViewItem& item = event.GetItem();
if (!can_drop(item)) if (!can_drop(item)) {
event.Veto(); event.Veto();
m_prevent_list_events = false;
}
} }
void ObjectList::OnDrop(wxDataViewEvent &event) void ObjectList::OnDrop(wxDataViewEvent &event)
@ -1255,7 +1257,7 @@ void ObjectList::OnDrop(wxDataViewEvent &event)
// It looks like a fixed in current version of the wxWidgets // It looks like a fixed in current version of the wxWidgets
// #ifdef __WXGTK__ // #ifdef __WXGTK__
// /* Under GTK, DnD moves an item between another two items. // /* Under GTK, DnD moves an item between another two items.
// * And event.GetItem() return item, which is under "insertion line" // * And event.GetItem() return item, which is under "insertion line"Some text
// * So, if we move item down we should to decrease the to_volume_id value // * So, if we move item down we should to decrease the to_volume_id value
// **/ // **/
// if (to_volume_id > from_volume_id) to_volume_id--; // if (to_volume_id > from_volume_id) to_volume_id--;