diff --git a/Source/Dialogs/ListBoxObjectItem.cpp b/Source/Dialogs/ListBoxObjectItem.cpp index 8bd819ad5..11bf6346d 100644 --- a/Source/Dialogs/ListBoxObjectItem.cpp +++ b/Source/Dialogs/ListBoxObjectItem.cpp @@ -58,7 +58,8 @@ void ListBoxObjectItem::mouseDown(MouseEvent const& e) void ListBoxObjectItem::mouseUp(MouseEvent const& e) { - dismissMenu(false); + if (dragging) + dismissMenu(false); } void ListBoxObjectItem::mouseDrag(MouseEvent const& e) @@ -66,6 +67,8 @@ void ListBoxObjectItem::mouseDrag(MouseEvent const& e) if (e.getDistanceFromDragStart() < 5) return; + dragging = true; + auto* dragContainer = ZoomableDragAndDropContainer::findParentDragContainerFor(this); if (dragContainer->isDragAndDropActive()) diff --git a/Source/Dialogs/ListBoxObjectItem.h b/Source/Dialogs/ListBoxObjectItem.h index 7c15e6ad1..12868e03f 100644 --- a/Source/Dialogs/ListBoxObjectItem.h +++ b/Source/Dialogs/ListBoxObjectItem.h @@ -32,5 +32,7 @@ class ListBoxObjectItem : public juce::Component ImageWithOffset dragImage; bool mouseHover = false; + bool dragging = false; + std::function dismissMenu; }; \ No newline at end of file