From 67e6bc65a9b52d9a19a374ecf0159e1f85585328 Mon Sep 17 00:00:00 2001 From: ed Date: Tue, 4 Jun 2019 19:02:08 +0100 Subject: [PATCH] Windows: Fixed a crash when calling DragAndDropContainer::performExternalDragDropOfFiles() --- .../juce_gui_basics/native/juce_win32_DragAndDrop.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/modules/juce_gui_basics/native/juce_win32_DragAndDrop.cpp b/modules/juce_gui_basics/native/juce_win32_DragAndDrop.cpp index 2ba60ff4fa..46d0778978 100644 --- a/modules/juce_gui_basics/native/juce_win32_DragAndDrop.cpp +++ b/modules/juce_gui_basics/native/juce_win32_DragAndDrop.cpp @@ -243,10 +243,10 @@ namespace DragAndDropHelpers struct DragAndDropJob : public ThreadPoolJob { - DragAndDropJob (FORMATETC f, STGMEDIUM m, DWORD d, std::function cb) + DragAndDropJob (FORMATETC f, STGMEDIUM m, DWORD d, std::function&& cb) : ThreadPoolJob ("DragAndDrop"), format (f), medium (m), whatToDo (d), - completionCallback (cb) + completionCallback (std::move (cb)) { } @@ -266,7 +266,7 @@ namespace DragAndDropHelpers OleUninitialize(); if (completionCallback != nullptr) - MessageManager::callAsync (completionCallback); + MessageManager::callAsync (std::move (completionCallback)); return jobHasFinished; } @@ -317,7 +317,7 @@ bool DragAndDropContainer::performExternalDragDropOfFiles (const StringArray& fi auto& pool = DragAndDropHelpers::ThreadPoolHolder::getInstance()->pool; pool.addJob (new DragAndDropHelpers::DragAndDropJob (format, medium, canMove ? (DROPEFFECT_COPY | DROPEFFECT_MOVE) : DROPEFFECT_COPY, - callback), + std::move (callback)), true); return true; @@ -345,7 +345,7 @@ bool DragAndDropContainer::performExternalDragDropOfText (const String& text, Co pool.addJob (new DragAndDropHelpers::DragAndDropJob (format, medium, DROPEFFECT_COPY | DROPEFFECT_MOVE, - callback), + std::move (callback)), true); return true;