Gnome シェル拡張機能を更新しようとしています。その中で、オブジェクトの _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 または継承モデルで何かが変更されたのでしょうか?