environment: Warn when trying to access a deprecated actor property
The port away from the old Shell.GenericContainer actor turned many JS classes with a corresponding actor property into Clutter.Actor subclasses. For compatibility reasons, those properties were kept around for a while. They were now removed and any code that still uses them should be adjusted. Facilitate that transition by defining the compatibility property on Clutter.Actor itself, but log a warning every time it is accessed. https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/487
This commit is contained in:
parent
49c95cff6c
commit
526bb72f3d
@ -96,6 +96,15 @@ function init() {
|
||||
Clutter.Actor.prototype.toString = function() {
|
||||
return St.describe_actor(this);
|
||||
};
|
||||
// Deprecation warning for former JS classes turned into an actor subclass
|
||||
Object.defineProperty(Clutter.Actor.prototype, 'actor', {
|
||||
get() {
|
||||
let klass = this.constructor.name;
|
||||
let { stack } = new Error();
|
||||
log(`Usage of object.actor is deprecated for ${klass}\n${stack}`);
|
||||
return this;
|
||||
}
|
||||
});
|
||||
|
||||
let origToString = Object.prototype.toString;
|
||||
Object.prototype.toString = function() {
|
||||
|
Loading…
Reference in New Issue
Block a user