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;
//...
Код: Выделить всё
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
Мобильная версия