Skip to content

Commit 699e466

Browse files
committed
TO_TEST: Switch NativeClipboard.CurrentDataObject to IDataObjectProvider
1 parent 2cdca89 commit 699e466

File tree

1 file changed

+5
-3
lines changed

1 file changed

+5
-3
lines changed

Diff for: src/Files.App/Utils/Storage/Operations/FilesystemHelpers.cs

+5-3
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,11 @@
99
using System.Runtime.InteropServices;
1010
using System.Runtime.InteropServices.ComTypes;
1111
using Vanara.PInvoke;
12-
using Vanara.Windows.Shell;
1312
using Windows.ApplicationModel.DataTransfer;
1413
using Windows.Graphics.Imaging;
1514
using Windows.Storage;
1615
using Windows.Storage.Streams;
16+
using WinRT;
1717
using FileAttributes = System.IO.FileAttributes;
1818

1919
namespace Files.App.Utils.Storage
@@ -758,12 +758,14 @@ public static async Task<IEnumerable<IStorageItemWithPath>> GetDraggedStorageIte
758758
{
759759
if (hasVirtualItems && packageView.Contains("FileContents"))
760760
{
761-
var descriptor = NativeClipboard.CurrentDataObject.GetData<Shell32.FILEGROUPDESCRIPTOR>("FileGroupDescriptorW");
761+
var dataObjectProvider = packageView.As<Shell32.IDataObjectProvider>();
762+
var iddo = dataObjectProvider.GetDataObject();
763+
var descriptor = iddo.GetData<Shell32.FILEGROUPDESCRIPTOR>("FileGroupDescriptorW");
762764
for (var ii = 0; ii < descriptor.cItems; ii++)
763765
{
764766
if (descriptor.fgd[ii].dwFileAttributes.HasFlag(FileFlagsAndAttributes.FILE_ATTRIBUTE_DIRECTORY))
765767
itemsList.Add(new VirtualStorageFolder(descriptor.fgd[ii].cFileName).FromStorageItem());
766-
else if (NativeClipboard.CurrentDataObject.GetData("FileContents", DVASPECT.DVASPECT_CONTENT, ii) is IStream stream)
768+
else if (iddo.GetData("FileContents", DVASPECT.DVASPECT_CONTENT, ii) is IStream stream)
767769
{
768770
var streamContent = new ComStreamWrapper(stream);
769771
itemsList.Add(new VirtualStorageFile(streamContent, descriptor.fgd[ii].cFileName).FromStorageItem());

0 commit comments

Comments
 (0)