error or conflict with premade filter addon
gaveer opened this issue · 9 comments
version : 1.4.2
2x [ADDON_ACTION_BLOCKED] AddOn 'Bartender4' tried to call the protected function 'GetPlaystyleString()'.
[string "@!BugGrabber\BugGrabber.lua"]:519: in function <!BugGrabber\BugGrabber.lua:519>
[string "=[C]"]: in function `GetPlaystyleString'
[string "@FrameXML\LFGList.lua"]:3508: in function <FrameXML\LFGList.lua:3499>
[string "=[C]"]: in function `LFGListUtil_SetSearchEntryTooltip'
[string "@FrameXML\LFGList.lua"]:2576: in function <FrameXML\LFGList.lua:2573>
First 2 images is from recent version ( no other addon) : 1.4.2 version
- Mythic section work fine
- custom and raid section is missed up
the other 2 images with premade addon active
i really like your addon very much , it help alot .
if you could compile both addon to work together in the next release that would be perfect < if Premade active than ... >
My Dream
- Filter for the Raid Section < if i was the raid leader> to sort signs up based on item level and filter class
if i was looking for certain class or specific role Tank , healer Pior .
- I revert to 1.3.1 in the meanwhile < work fine with premade filter >
I am going to try and summarize this as best as possible but TLDR: I am working to better implement the made for 9.1.5 and should have a new release out tonight.
Before I go down the rabbit hole, I appreciate any feedback (good or bad) regarding LFM+. This is my first "real" addon and project I have done in Lua so its a learning process. I also appreciate the continued use and testing of the addon to help improve it! Feel free to add me on Discord (Onlyne#0001
) if you want to communicate in a more real time manner.
After 9.1.5 went live, Blizzard added C_LFGList.GetPlaystyleString
to retail and it is currently hardware protected. In turn, any functions that called used that API (or functions that called other functions) would taint the stack. This also means:
- Any modification to values like
LFGListFrame.SearchPanel.results
(removing entries from or sorting) would also cause taint errors. - The default tooltip function (and some others) uses this function for each search entry.
- I cannot replace the function with my own version as other functions like
LFGListEntryCreation_SetTitleFromActivityInfo
call it and will throw a taint error. One example of this is if the player has a keystone in their bag and they try to create a group, the group name will not auto fill with the key level and a taint error will be thrown.
In an effort to retain as much functionality as possible while also not throwing taint errors, I found a way around this limitation.
LFM+ creates a copy of the LFGListFrame.SearchPanel.results
table (and a few other secure variables). The addons version of the results table is then filtered and sorted. Then this table is used to update the buttons (Custom ones created and maintained by LFM+ using the LFGListSearchEntryTemplate
template) used to display search entry information in the UI. Since LFM+ uses its own buttons instead of the default UI ones, I hook the OnShow script of the default buttons to hide them so mine do not fight to overlap them. If another addon is updating information in the default button frames, it would not be shown. I will be changing the logic of the OnShow hook of the default buttons to always ensure that either my button is shown or the default one is.
@ChrisKader https://github.com/Tga123/premade-filter <clone this repo>
not release ( old dated )
Another update has been pushed that should fix a lot of issues (Thanks to a lot of code from premade filter). Unfortunately, it is pretty hard to get LFM+ to work side by side with Premade filter and its best if only one is used at a time.
If there are features of premade filter that you would like to see added, please let me know.