Я пытаюсь реализовать систему перетаскивания в разрабатываемом мной расширении, но столкнулся с проблемой. Насколько я могу судить, dnd реализуется созданием объекта draggable
, подобного этому
let draggable = DND.makeDraggable(this.actor)
где this.actor
— актор Clutter, который я хочу перетащить, а затем реализовать необходимые обратные вызовы. Однако, когда я это делаю, Gnome Shell сразу же падает, когда я начинаю перетаскивать, и оставляет вывод на stderr, как это
(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.
Однако использование Зазеркалья для вызова метода get_theme_node
для этого конкретного виджета работает отлично!
Нужно ли явно добавлять актеров на сцену? И как мог get_theme_node
выйти из строя где-то глубоко в чреве Gnome Shell, а не из Зазеркалья?
window-list-item-box
классом CSS, который вы назначили с помощью параметраstyle_class
? Если это так, попробуйте оставить это. - person Lukas Knuth   schedule 24.11.2012