Skip to content
This repository has been archived by the owner on Nov 1, 2024. It is now read-only.

(MacOS) Issue when DragEnter from Finder #160

Open
Tenjim opened this issue May 17, 2024 · 3 comments
Open

(MacOS) Issue when DragEnter from Finder #160

Tenjim opened this issue May 17, 2024 · 3 comments

Comments

@Tenjim
Copy link

Tenjim commented May 17, 2024

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)

@Tenjim
Copy link
Author

Tenjim commented Jun 4, 2024

It's came from this issue on Avalonia

@Tenjim Tenjim closed this as completed Jun 4, 2024
@maxkatz6 maxkatz6 reopened this Jun 20, 2024
@maxkatz6
Copy link
Member

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.

@ITDancer13
Copy link

I created PR #176 which fixes the issue.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

3 participants