mirror of
https://github.com/Ryujinx/GtkSharp.git
synced 2024-12-25 00:45:35 +00:00
80257d2b9a
* gtk/SelectionData.custom : guard against null in get_Text. [Fixes #52713] svn path=/trunk/gtk-sharp/; revision=22566
48 lines
1.3 KiB
Plaintext
48 lines
1.3 KiB
Plaintext
[DllImport("gtksharpglue")]
|
|
private static extern int gtksharp_gtk_selection_data_get_format (IntPtr selection_data);
|
|
|
|
public int Format {
|
|
get {
|
|
return gtksharp_gtk_selection_data_get_format (Handle);
|
|
}
|
|
}
|
|
|
|
[DllImport("gtksharpglue")]
|
|
private static extern int gtksharp_gtk_selection_data_get_length (IntPtr selection_data);
|
|
|
|
public int Length {
|
|
get {
|
|
return gtksharp_gtk_selection_data_get_length (Handle);
|
|
}
|
|
}
|
|
|
|
[DllImport("libgtk-win32-2.0-0.dll")]
|
|
private static extern IntPtr gtk_selection_data_get_text (IntPtr selection_data);
|
|
|
|
[DllImport("libgtk-win32-2.0-0.dll")]
|
|
private static extern void gtk_selection_data_set_text (IntPtr selection_data, string str, int len);
|
|
|
|
public string Text {
|
|
get {
|
|
IntPtr text = gtk_selection_data_get_text (Handle);
|
|
if (text == IntPtr.Zero)
|
|
return null;
|
|
return GLibSharp.Marshaller.PtrToStringGFree (text);
|
|
}
|
|
set {
|
|
gtk_selection_data_set_text (Handle, value, value.Length);
|
|
}
|
|
}
|
|
|
|
[DllImport("gtksharpglue")]
|
|
private static extern IntPtr gtksharp_selection_data_get_data_pointer (IntPtr selection_data);
|
|
|
|
public byte[] Data {
|
|
get {
|
|
IntPtr data_ptr = gtksharp_selection_data_get_data_pointer (Handle);
|
|
byte[] result = new byte [Length];
|
|
Marshal.Copy (data_ptr, result, 0, Length);
|
|
return result;
|
|
}
|
|
}
|