From d698c4d09aa376777daf9e82f87b1c4523157954 Mon Sep 17 00:00:00 2001 From: sycgglier Date: Thu, 4 Sep 2025 15:00:59 +0800 Subject: [PATCH] Resolved the TypeError: replaceData.old get window actors is undefined error caused by repeated switch expansion or lock/unlock in gnome48 --- src/gnomeShellOverride.js | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/gnomeShellOverride.js b/src/gnomeShellOverride.js index 3115a34..e7b44ca 100755 --- a/src/gnomeShellOverride.js +++ b/src/gnomeShellOverride.js @@ -121,7 +121,15 @@ export class GnomeShellOverride { // Call `global.get_window_actors(false)` explicitly to bypass the override. this._injectionManager.overrideMethod(Shell.Global.prototype, 'get_window_actors', originalMethod => { - // TODO: pass originalMethod to wallpaper instead + // Ensure that we have a valid original method + if (originalMethod === undefined) { + // If originalMethod is undefined, we create a fallback that simply returns an empty array + // This prevents the "replaceData.old_get_window_actors is undefined" error + originalMethod = function() { + return []; + }; + } + return function (hideRenderer = true) { let windowActors = originalMethod.call(this); let result = hideRenderer