Skip to content

this.actor = this removal

Various classes that are now actually proper actors are still using the legacy this.actor form for backward compatibility.

Remove it, and while add an actor property to warn (extensions) about the deprecation of it.

In the logging we also print the stack by default, however I'd like to have !6 (closed) in so that this can be filtered by checking the presency of backtrace-warnings.

The change to PopupMenuManager might also break something so we could instead use something like

diff --git a/js/ui/popupMenu.js b/js/ui/popupMenu.js
index a708b03c4..d4802ac2c 100644
--- a/js/ui/popupMenu.js
+++ b/js/ui/popupMenu.js
@@ -1186,7 +1186,9 @@ var PopupMenuManager = class {
         grabParams = Params.parse(grabParams,
                                   { actionMode: Shell.ActionMode.POPUP });
         this._owner = owner;
-        this._grabHelper = new GrabHelper.GrabHelper(owner, grabParams);
+        this._grabHelper = new GrabHelper.GrabHelper((owner instanceof Clutter.Actor) ?
+                                                     owner : owner.actor,
+                                                     grabParams);
         this._menus = [];
     }
 

Or instead just passing owner.actor || owner, but might be unsafer.

Edited by Marco Trevisan

Merge request reports