AvaloniaUI/Avalonia.Xaml.Behaviors

(MacOS) Issue when DragEnter from Finder

Tenjim opened this issue · 3 comments

Hi,

I have an issue when I begin an DragEnter event to init the drag and drop from behavior.
It's seems to came only when we drag a file from Finder. it's occur when we are getting custom data object type from clipboard. But it can't be replicated with vanilla Drag and drop from Avalonia. (ref : see ControlCatalog samples from Avalonia) because they are using DataFormat.File.
fyi : it's only on macOS not on windows.

I'm using 11.0.10 (I had already try on 11.0.10.9) version of Avalonia Behavior
And I'm on 11.0.10 Avalonia

This is the call stack about this issue :

System.Runtime.InteropServices.COMException (0x80004005): GetBytes failed
at Avalonia.Native.Interop.Impl.__MicroComIAvnClipboardProxy.GetBytes(String type)
at Avalonia.Native.ClipboardImpl.GetDataAsync(String format)
at Avalonia.Native.ClipboardDataObject.Get(String dataFormat)
at Avalonia.Xaml.Interactions.DragAndDrop.ContextDropBehavior.DragEnter(Object sender, DragEventArgs e)

It's came from this issue on Avalonia

I am going reopen this issue, as this library code should also be fixed by always checking if data format exists in the object:
https://github.com/AvaloniaUI/Avalonia.Xaml.Behaviors/blob/master/src/Avalonia.Xaml.Interactions.DragAndDrop/ContextDropBehavior.cs#L76C60-L76C70 and other places.