Gtkmm перетаскиватьLinux

Ответить
Anonymous
 Gtkmm перетаскивать

Сообщение Anonymous »

Я пытаюсь реализовать перетаскивание после примера из книги GTKMM здесь:
https://gnome.pages.gitlab.gnome.org/gt ... ample.html br/> в Prepare

Код: Выделить всё

// ...
Glib::Value value_obj;
value_obj.init(value_obj.value_type());
value_obj.set(list_of_strings);
provided_content = Gdk::ContentProvider::create(value_obj);

return provided_content;
//...
В моем Droptarget's Drop сигнал обратный вызов.

Код: Выделить всё

auto drop_target = Gtk::DropTarget::create(G_TYPE_BOXED, Gdk::DragAction::MOVE);
drop_target->signal_drop().connect([this](const Glib::ValueBase& value, double x, double y) -> bool {
if (!G_VALUE_HOLDS(value.gobj(), Glib::Value::value_type())) {
return false;
}
//...
< /code>
Это провал проверки, и это то, что я получаю в консоли: < /p>
(yae-app:23778): Gdk-CRITICAL **: 20:28:43.375: gdk_drop_finish: assertion 'priv->state == GDK_DROP_STATE_DROPPING' failed

(yae-app:23778): GLib-GObject-CRITICAL **: 20:28:44.199: ../../../gobject/gtype.c:4393: type id '0' is invalid

(yae-app:23778): GLib-GObject-CRITICAL **: 20:28:44.200: can't peek value table for type '' which is not currently referenced

(yae-app:23778): GLib-GObject-CRITICAL **: 20:28:44.200: ../../../gobject/gvalue.c:104: cannot initialize GValue with type '(null)', this type has no GTypeValueTable implementation

(yae-app:23778): Gdk-CRITICAL **: 20:28:44.200: gdk_content_provider_get_value: assertion 'G_IS_VALUE (value)' failed

(yae-app:23778): GLib-GObject-CRITICAL **: 20:28:44.200: ../../../gobject/gtype.c:4393: type id '0' is invalid

(yae-app:23778): GLib-GObject-CRITICAL **: 20:28:44.200: can't peek value table for type '' which is not currently referenced

(yae-app:23778): GLib-GObject-CRITICAL **: 20:28:44.200: ../../../gobject/gvalue.c:104: cannot initialize GValue with type '(null)', this type has no GTypeValueTable implementation

(yae-app:23778): Gdk-CRITICAL **: 20:28:44.200: gdk_content_provider_get_value: assertion 'G_IS_VALUE (value)' failed

(yae-app:23778): GLib-GIO-CRITICAL **: 20:28:44.200: g_task_return_error: assertion 'error != NULL' failed

(yae-app:23778): GLib-GIO-CRITICAL **: 20:28:44.200: GTask source_tag (source object: 0xc7628546b630, source tag: 0xe58941686df4) finalized without ever returning (using g_task_return_*()). This potentially indicates a bug in the program.
Я пытаюсь следовать духу связанного примера, но застрял, пытаясь понять, как его сбой проверки.>

Подробнее здесь: https://stackoverflow.com/questions/796 ... drop-phase
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Linux»