Merge pull request #571 from UnknownShadow200/develop

Fix X11 drag-n-drop returning wrong filename, and crashing
This commit is contained in:
Jarl Gullberg 2017-07-12 15:28:34 +02:00 committed by GitHub
commit 31faf624da

View file

@ -344,8 +344,8 @@ namespace OpenTK.Platform.X11
string[] fileNames = new string[splitted.Length];
for (int i = 0; i < splitted.Length; i++)
{
// Delete start of name - file://
fileNames[i] = splitted[i].Substring(7);
// Delete starting file://, filename data is URI-encoded
fileNames[i] = Uri.UnescapeDataString(splitted[i].Substring(7));
}
return fileNames;
@ -886,9 +886,9 @@ namespace OpenTK.Platform.X11
else
{
formats = Marshal.AllocHGlobal(3 * IntPtr.Size);
Marshal.WriteIntPtr(formats, e.ClientMessageEvent.ptr3);
Marshal.WriteIntPtr(formats, IntPtr.Size * 2, e.ClientMessageEvent.ptr4);
Marshal.WriteIntPtr(formats, IntPtr.Size * 3, e.ClientMessageEvent.ptr5);
Marshal.WriteIntPtr(formats, IntPtr.Size * 0, e.ClientMessageEvent.ptr3);
Marshal.WriteIntPtr(formats, IntPtr.Size * 1, e.ClientMessageEvent.ptr4);
Marshal.WriteIntPtr(formats, IntPtr.Size * 2, e.ClientMessageEvent.ptr5);
formatCount = 3;
}