Hmm doing blahblah = { some stuff}
Okay so... can someone run me through what blahblah = { some stuff } is doing again? and if i local before blahblah it should technically localize it and work the same correct? the following causes taint because its in the global name space or at least I think thats whats going on.... Reason I am digging into it is because i noticed my glyph page is tainted for some reason. When i try to click on a glyph it says my addon has tryed to call a restricted function.
Code:
DefGMoveableFrames = { |
Also similar issue with my bindings code. It causes taint. Is there any way around this? the L infront of the "blahblah" portion is for translation. More or less I need to know if there is a way to do this that does not involve dumping it in the global space.
The LUA portion looks like this Lua Code:
|
{ } creates a new table. Taint will not be introduced simply by virtue of a variable being global, but if that variable conflicts with another, it may be. I don't believe you can do binding labels in any other way, either. None of the code you posted should taint anything.
|
Well I get glyph lock down from GrimUI with just GrimUI running. But get this.... if i remove all addons but GrimUI (DBM, Baggins, AshranBuddy, MSBT, Capping, umm one or two others) i get nothing in the taint log. Go figure. But with all addons running my addon appears to taint lots of things. All of which are things where it is putting something into the global space as apposed to being localized to that file or to the addon. Localizing it seems to drop it from the taint log but not everything in the list can be localized. Or maybe another way to go at this is... What could possibly cause the glyph frame to lock down? Originally I targeted my frame mover code and removed all of its interaction with the glyph frame but that did not stop it. I have no idea what i could have messed with that would have anything to do with the glyph frame. Ironically it is one of the few frames in the game i have not modified in some way. And No i did not mess with the two tabs attached to it either. lol.
Also just to clarify. Taint is what causes combat lockdown right? So somewhere some taint of some kind or another from one thing or another is responsible for the glyph lockdown correct? Or am I way off base? I just dont understand how My addon could be causing lockdown on the darn glyph frame.... |
Combat lockdown generally refers to the inability [by addons] to perform certain actions during combat. Tainting refers to addons in some way disturbing the secure environment of the default UI, sometimes causing things to break. Unfortunately, it's been more or less concluded that the taint report system more often than not places the blame on innocent addons. If you, with all addons enabled, can reliably reproduce the glyph frame taint, and this does not happen with only your addon enabled, then it's probably safe to say that your addon is not to blame.
|
It does happen with only my addon enabled. The lockdown warning in game where it asks if you want to ignore or cancel? That happens just my addon or all addons. Whats interesting is that if i run JUST my addon then the taint log is empty even though i still get glyph frame lockdown
|
Quote:
http://wow.gamepedia.com/CVar_taintLog |
it is. Its set to 2. Not to mention the blank log is from one reload to the next. Reload with all but my addon on and log is blank. Load with all the addons mentioned above and the log is jammed packed. But both ways the glyph frame is locked down and claims to be because of my addon.
edit - when i say reload i mean /reload to not logging in and out all the way. Maybe that has something to do with it? but other testing suggests that is not the case because i can change code and /reload and the taint log changes accordingly. |
Quote:
Code:
<Binding name="CLICK BT4Button1:LeftButton" header="BT4BLANK1" category="Bartender4 "/> Quote:
|
Quote:
Hrrrm. So the taint log is staying blank even after the lockdown fires. are you sure its in real time? is the taint log called something or located someplace else while its live? Further testing and are you sure its live in real time?? it only ever changes with a reload. |
on a side note.... is it not a good idea though to go through and get as much stuff out of the global space as possible? After seeing everything that is in it i see a lot of clean up if that idea is true.
|
Figured it out. Now I dont know what to do about it...... Also so taint log works like this... it is tracking live however it does not write live. So in other words... you do have to log out in order to get it to write but if you /reload it resets so... if you make the lock down happen then log out right away you find the culprit.
heres my culprit... its still a global issue... 2/2 13:36:12.260 Global variable LibStub tainted by GrimUI - Interface\AddOns\GrimUI\Libs\LibStub.lua:8 maybe. lol. WHole taint log - Code:
2/2 13:36:12.260 Global variable LibStub tainted by GrimUI - Interface\AddOns\GrimUI\Libs\LibStub.lua:8 |
What is the likely hood that libstub is actually causing this?
|
Quote:
Quote:
I'm guessing the taint log works like the combat log in that it gets written to only once it has a certain amount of text to write. But yeah logging out will always write to it. You should not use taint log level 2 I think. It prints a looot of stuff. Use level 1 instead. |
Quote:
Quote:
Quote:
Quote:
And anything that is a global should have a name that is unique and identifies it as belong it to your addon. A global variable named "x" or "_" for example will probably break everything. Also, "global variable X tainted by Y" generally just means that Y created the global variable X. Everything created or touched by an addon is tainted by default, unless it's a secure frame created and managed using "safe" secure templates and methods. What you want to look for in the taint log is the "action blocked" error. Then work your way backwards through the log looking at every entry that mentions the same object/function/variable to find out where it got tainted. |
Quote:
Hm ok, did they change level 2 to be more useful at some point? I just remember hearing years ago that it would print like everything that was going on in the UI or something. Have never actually used it I don't think. |
Quote:
|
Okay well... Nothing going back from that has anything to do with anything of any importance how ever.... as i started to weed out the stuff that it did show i got some new data. It pointed to this particular section of code and my use of of the setattribute and then the hide/show of the micro bar.
Lua Code:
|
Quote:
If you open the talent/glyph frame insecurely that is not unlikely to taint stuff, so that could have something to do with it, I guess. |
It may. Today ill tinker with removing that in various ways. Maybe Phanx knows a way to do what I have done without it causing lockdown? Also it did not lockdown prior to dranor. At least not that i was aware of. I know at one point it was okay for sure. If I can fix this then the only other lockdown problem is in my objectives frame and its only a problem when a specific condition is met unlike this which is a problem the moment you log in. The objectives frame became an issue with pandaria. Now that I am thinking about it, that is probably when the glyph frame became a problem as well. Until a few days ago I had almost forgotten glyphs existed lol.
|
All times are GMT -6. The time now is 12:32 AM. |
vBulletin © 2024, Jelsoft Enterprises Ltd
© 2004 - 2022 MMOUI