I'm trying to implement a drag and drop system in the extension I'm developing but I'm running into a problem.
As far as I can tell, dnd is implemented by making a draggable
object like this
let draggable = DND.makeDraggable(this.actor)
where this.actor
is the Clutter actor I want to drag and drop, and then implementing the necessary callbacks. However, when I do this, Gnome Shell immediately crashes when I start to drag and leaves output on stderr like this
(gnome-shell:15279): St-ERROR **: st_widget_get_theme_node called on the widget [0x2b3c000 StBoxLayout.window-list-item-box:focused ("extension.js (~/Source/js/Botto...gmail.com) - GVIM")] which is not in the stage.
However, using the Looking Glass to call the get_theme_node
method on that specific widget does work perfectly!
Do I have to explicitly add actors to the stage? And how could get_theme_node
fail somewhere deep inside the belly of Gnome Shell, but not from the Looking Glass?