我正在尝试更新Gnome-shell扩展程序。在其中,我重写了一个对象的_init方法,我这样做:
function newInitAppSwitcherPopup() {
this.parent();
...
}
AltTab.AppSwitcherPopup.prototype._init = newInitAppSwitcherPopup;
新方法失败了:
JS错误:TypeError:方法' parent'不能被称为
我觉得这里非常令人惊讶的是parent
方法确实存在(如果我更改了名称,我得到了一个"未定义"错误)。
我不明白的是,原始的AppSwitcherPopup._init仍在使用此父级调用(https://git.gnome.org/browse/gnome-shell/tree/js/ui/altTab.js?h=gnome-3-16#n54)。
这在Gnome 3.12下运行良好,但是对于Gnome 3.16而言已经破解了......我猜他们在GObject或继承模型中改变了一些东西?
答案 0 :(得分:0)
我有一个类似的代码适用于我的配置小部件
const MenuConfigWidget = new GObject.Class({
Name: 'SimpleMenu.Prefs.MenuConfigWidget',
GTypeName: 'SimpleMenuMenuConfigWidget',
Extends: Gtk.Grid,
_init: function(params) {
this.parent({... });
...
}
});
你是否扩展了我们的猴子补丁_init函数?