diff --git a/CHANGELOG.md b/CHANGELOG.md index 2e139dd..790e2aa 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # Changelog +## v1.4.4r2 — Cached Load Taint Fix + +- **[Taint Fix]** Resolved lingering `ADDON_ACTION_BLOCKED` taint on `ActionButton` and `StaticPopup` that occurred when Questie loaded data from its cache rather than manually recompiling. The `_G` namespace cleanup for `Questie-X-WotLKDB` globals now runs accurately during cached loads (via `UpdateWotLKDBStats`), ensuring the taint vector is closed and additionally freeing ~20MB of redundant cached memory. + ## v1.4.4r1 — WotLKDB Global Namespace Taint Fix - **[Taint Fix]** Resolved `ADDON_ACTION_BLOCKED` errors caused by `Questie-X-WotLKDB` leaving tainted global variables in `_G` after initialization. `QuestieInit._pullGlobal` now sets `_G[globalName] = nil` immediately after copying each WotLKDB table reference into `QuestieDB`, removing the taint vector while keeping all data fully accessible through `QuestieDB`. diff --git a/Modules/QuestieInit.lua b/Modules/QuestieInit.lua index 7067ef3..7865878 100644 --- a/Modules/QuestieInit.lua +++ b/Modules/QuestieInit.lua @@ -476,6 +476,15 @@ function QuestieInit:UpdateWotLKDBStats() wotlkPlugin.stats.ITEM = counts.ITEM end end + + -- Fix #11: When the database is already compiled (cached), LoadBaseDB is never + -- run, so the global cleanup there is skipped. We MUST clean the namespace here + -- to prevent continuous ADDON_ACTION_BLOCKED taint errors during gameplay. + -- (Doing this also frees ~20MB of redundant RAM since the data is cached!) + _G["QuestieX_WotLKDB_quest"] = nil + _G["QuestieX_WotLKDB_npc"] = nil + _G["QuestieX_WotLKDB_object"] = nil + _G["QuestieX_WotLKDB_item"] = nil end function QuestieInit:LoadBaseDB() diff --git a/docs/changelog.html b/docs/changelog.html index b721cdf..fd295ec 100644 --- a/docs/changelog.html +++ b/docs/changelog.html @@ -348,6 +348,13 @@
+

v1.4.4r2 — Cached Load Taint Fix

+ + +
+

v1.4.4r1 — WotLKDB Global Namespace Taint Fix