1
0
Fork 0
mirror of https://github.com/juce-framework/JUCE.git synced 2026-01-20 01:14:20 +00:00
JUCE/modules/juce_gui_basics/native
reuk 146c8573ca
X11: Fix drag-n-drop bug in the XWindowSystem class
This resolves a regression which was introduced in
74ca3b44c4.

Prior to that commit, drag and drop on Linux/X11 worked as expected.
DragAndDropContainer::performExternalDragDropOfFiles allowed dropping
files onto other applications.

After the faulty commit, this function may cause the window manager to
enter a bad state in which the drag operation never finishes, making it
impossible to switch between windows or close windows.

I think the issue happens because the DnD source may receive (spurious?)
XdndLeave messages during the drag, which cause the peer's entry in the
dragAndDropStateMap to be removed. Before the faulty commit, each peer
had its own drag and drop state object, which was not destroyed in this
way.

This change will keep the peer's drag state object alive, even when an
XdndLeave message is received. The entry will still be removed when the
peer's window is destroyed.
2021-04-14 12:36:48 +01:00
..
java/app/com/rmsl/juce Updated all license headers 2020-06-29 08:30:22 +01:00
javaopt/app/com/rmsl/juce Updated all license headers 2020-06-29 08:30:22 +01:00
x11 X11: Fix drag-n-drop bug in the XWindowSystem class 2021-04-14 12:36:48 +01:00
juce_android_ContentSharer.cpp Updated all license headers 2020-06-29 08:30:22 +01:00
juce_android_FileChooser.cpp FileChooser: Avoid throwing bad_weak_ptr 2021-03-03 19:21:43 +00:00
juce_android_Windowing.cpp Removed Displays const_casts from ComponentPeer implementations 2021-02-08 14:38:09 +00:00
juce_common_MimeTypes.cpp Updated all license headers 2020-06-29 08:30:22 +01:00
juce_ios_ContentSharer.cpp Use RAII for CFTypes 2021-03-25 15:48:35 +00:00
juce_ios_FileChooser.mm Use RAII for CFTypes 2021-03-25 15:48:35 +00:00
juce_ios_UIViewComponentPeer.mm UIViewComponentPeer: Fix issue where heavyweight windows could "drift" when resized slowly 2021-03-25 11:51:28 +00:00
juce_ios_Windowing.mm iOS: Avoid unnecessary numeric conversion 2021-03-15 19:23:01 +00:00
juce_linux_FileChooser.cpp FileChooser: Avoid throwing bad_weak_ptr 2021-03-03 19:21:43 +00:00
juce_linux_Windowing.cpp VST3: Fix issue where Ardour would repeatedly try to resize editors 2021-03-11 16:51:35 +00:00
juce_mac_FileChooser.mm FileChooser: Avoid throwing bad_weak_ptr 2021-03-03 19:21:43 +00:00
juce_mac_MainMenu.mm Narrowed the scoped of some undeclared Objective-C selector warnings 2020-12-10 12:48:42 +00:00
juce_mac_MouseCursor.mm Updated all license headers 2020-06-29 08:30:22 +01:00
juce_mac_NSViewComponentPeer.mm Use RAII for CFTypes 2021-03-25 15:48:35 +00:00
juce_mac_Windowing.mm macOS: Removed static display change callback 2021-03-29 09:20:16 +01:00
juce_MultiTouchMapper.h Updated all license headers 2020-06-29 08:30:22 +01:00
juce_win32_DragAndDrop.cpp Updated all license headers 2020-06-29 08:30:22 +01:00
juce_win32_FileChooser.cpp MessageMananger: Made dispatchNextMessageOnSystemQueue() accessible by internal code 2021-04-13 16:25:04 +01:00
juce_win32_ScopedThreadDPIAwarenessSetter.h Windows: Added ScopedThreadDPIAwarenessSetter for correctly setting and resetting thread DPI-awareness for methods which interact with an HWND and removed some DPI workarounds 2021-03-02 15:56:10 +00:00
juce_win32_Windowing.cpp Windows: Fixed a build error and some unreachable code warnings when JUCE_WIN_PER_MONITOR_DPI_AWARE=0 2021-03-05 18:40:03 +00:00