diff options
author | Zoltan Varga <vargaz@gmail.com> | 2015-01-15 07:57:05 +0300 |
---|---|---|
committer | Zoltan Varga <vargaz@gmail.com> | 2015-01-15 07:57:05 +0300 |
commit | 31ca4c480c7cf3f94029222335d84e4fde6dfbc5 (patch) | |
tree | d26f4315fb892039079b309f2abad0ead47c42ac /mcs/class/Managed.Windows.Forms/System.Windows.Forms | |
parent | 18561ff0412ad76963e8a50b290f49f54e3651cf (diff) | |
parent | 9c05594fc5a5edc78e4aac893b11acb5b84191e1 (diff) |
Merge pull request #1506 from akoeplinger/fix-paste-test
[MWF] Fix unicode string handling from clipboard paste in X11
Diffstat (limited to 'mcs/class/Managed.Windows.Forms/System.Windows.Forms')
-rw-r--r-- | mcs/class/Managed.Windows.Forms/System.Windows.Forms/XplatUIX11.cs | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/mcs/class/Managed.Windows.Forms/System.Windows.Forms/XplatUIX11.cs b/mcs/class/Managed.Windows.Forms/System.Windows.Forms/XplatUIX11.cs index 657a42457c9..b0777b56026 100644 --- a/mcs/class/Managed.Windows.Forms/System.Windows.Forms/XplatUIX11.cs +++ b/mcs/class/Managed.Windows.Forms/System.Windows.Forms/XplatUIX11.cs @@ -1296,7 +1296,10 @@ namespace System.Windows.Forms { buffer [i] = Marshal.ReadByte (prop, i); Clipboard.Item = Encoding.UTF8.GetString (buffer); } else if (property == UTF16_STRING) { - Clipboard.Item = Marshal.PtrToStringUni (prop); + byte [] buffer = new byte [(int)nitems]; + for (int i = 0; i < (int)nitems; i++) + buffer [i] = Marshal.ReadByte (prop, i); + Clipboard.Item = Encoding.Unicode.GetString (buffer); } else if (property == RICHTEXTFORMAT) Clipboard.Item = Marshal.PtrToStringAnsi(prop); else if (DataFormats.ContainsFormat (property.ToInt32 ())) { |