Browse Source

For drag-and-drop on win32, prioritised file-drag mode over text-drag mode if both are available

tags/2021-05-28
jules 9 years ago
parent
commit
9e6988acaa
1 changed files with 12 additions and 13 deletions
  1. +12
    -13
      modules/juce_gui_basics/native/juce_win32_Windowing.cpp

+ 12
- 13
modules/juce_gui_basics/native/juce_win32_Windowing.cpp View File

@@ -1117,14 +1117,6 @@ public:
ownerInfo->dragInfo.clear();
DroppedData textData (dataObject, CF_UNICODETEXT);
if (SUCCEEDED (textData.error))
{
ownerInfo->dragInfo.text = String (CharPointer_UTF16 ((const WCHAR*) textData.data),
CharPointer_UTF16 ((const WCHAR*) addBytesToPointer (textData.data, textData.dataSize)));
}
else
{
DroppedData fileData (dataObject, CF_HDROP);
@@ -1137,14 +1129,21 @@ public:
ownerInfo->parseFileList (static_cast<const WCHAR*> (names), fileData.dataSize);
else
ownerInfo->parseFileList (static_cast<const char*> (names), fileData.dataSize);
}
else
{
return fileData.error;
return S_OK;
}
}
return S_OK;
DroppedData textData (dataObject, CF_UNICODETEXT);
if (SUCCEEDED (textData.error))
{
ownerInfo->dragInfo.text = String (CharPointer_UTF16 ((const WCHAR*) textData.data),
CharPointer_UTF16 ((const WCHAR*) addBytesToPointer (textData.data, textData.dataSize)));
return S_OK;
}
return textData.error;
}
JUCE_DECLARE_NON_COPYABLE (JuceDropTarget)


Loading…
Cancel
Save