Я немного играю с перетаскиванием под gtk #.
При звонке
protected virtual void OnDragDataGet (object o, Gtk.DragDataGetArgs args)
{
byte[] data = GetSomeData();
args.SelectionData.Set(args.Context.Targets[0], 0, data);
}
возникает ошибка:
Gtk-CRITICAL **: _gtk_selection_request: assertion `(data.format >= 8) && (data.format % 8 == 0)' failed
однако установка формата на 8 работает нормально:
protected virtual void OnDragDataGet (object o, Gtk.DragDataGetArgs args)
{
byte[] data = GetSomeData();
args.SelectionData.Set(args.Context.Targets[0], 8, data);
}
Я нашел несколько примеров перетаскивания, все используют 8 в качестве формата для отправки данных. (Использование 0 было фактически опечаткой.) Однако я не нашел, что этот формат делает, или почему 8 работает, тогда как 0 не делает.
Может кто-нибудь объяснить, что делает "fomat"?