Thread Tools Display Modes
03-25-13, 04:11 PM   #21
VincentSDSH
Non-Canadian Luzer!
 
VincentSDSH's Avatar
AddOn Author - Click to view addons
Join Date: Jun 2006
Posts: 350
Originally Posted by Leatrix View Post
The end result is that only the 'okay' button is shown in the panel and ciicking the button, or pressing the escape key, performs the 'okay' click action, thus taint never occurs even during combat. I personally don't feel that the loss of the cancel ability amounts to anything since hardly any other part of the UI (and very few addons) feature a cancel button. I'm sure users would prefer a taint-free addon anyway.
And for addons, I'd tend to agree with you; however, doesn't that mean you can't cancel changes you make in the client's interface options?
  Reply With Quote
03-25-13, 05:14 PM   #22
Foxlit
A Warpwood Thunder Caller
AddOn Author - Click to view addons
Join Date: Nov 2006
Posts: 91
Originally Posted by Leatrix View Post
It most certainly does. However, as I said in my previous reply, I don't think that's important.
Please don't break functionality in other addons just because you don't think that functionality is important. Some configuration panels are more than just a list of checkboxes, and undoing all actions is not always as simple as repeating what you did in reverse.

You could instead call the cancel handlers on other addons' configuration panels before you convert the cancel action into an okay one. Alternatively, replace the cancel handlers on just the Blizzard panels that are causing issues with null functions.
__________________
... and you do get used to it, after a while.
  Reply With Quote
03-25-13, 06:59 PM   #23
Foxlit
A Warpwood Thunder Caller
AddOn Author - Click to view addons
Join Date: Nov 2006
Posts: 91
Originally Posted by Leatrix View Post
The problem here is that the cancel function is used for all addons and options collectively and it has caused UI taint for years for this reason. The taint occurs if you have any addon installed which uses the Blizzard interface options panel regardless of what that addon actually does (it needn't do anything).
I think you misunderstood: the suggestion was that you should replace panel.cancel functions on Blizzard panels that actually need to be called securely (or they'll propagate taint to places that can't tolerate it) with functions that do not do anything. In practice, this is as simple as doing
Code:
CompactUnitFrameProfiles.cancel = function() end
after Blizzard_CUFProfiles loads; if you identify other problematic panels, you can do the same for those. The point here is that InterfaceOptionsFrameCancel_OnClick does not taint anything important by itself -- it's the individual cancel handlers that might cause problems.
__________________
... and you do get used to it, after a while.

Last edited by Foxlit : 03-25-13 at 07:07 PM.
  Reply With Quote
03-25-13, 07:42 PM   #24
VincentSDSH
Non-Canadian Luzer!
 
VincentSDSH's Avatar
AddOn Author - Click to view addons
Join Date: Jun 2006
Posts: 350
Makes me wonder if a stand-alone mod, implementing both approaches on user choice, might be in order; though, with the pittance of threads I found on this problem, it may not be as impacting as I thought.

My hat's off to both of you, though. I disagree with Leatrix on the Cancel-button issue but I implemented it in my baseplate UI (sans-cancel->no-errors > blocking errors) and what a bloody difference. Not a single random "var comparator was nil" type error since I put it in, vs 3-5 per raid -- I had an odd moment of wondering if I'd broken Buggrabber since it didn't complain about anything for hours. Have to give Foxlit's approach a try -- feels a bit cleaner, and less chance of unintended effects -- but after having 4 headaches evaporate instantly, it might be worth a cancel button

Edit: er, maybe I'll have to take that back. Instances and Scenarios both were chucking up issues this evening. Cancel was missing but the errors weren't. Odd.

Last edited by VincentSDSH : 03-25-13 at 10:44 PM.
  Reply With Quote
03-25-13, 09:01 PM   #25
Phanx
Cat.
 
Phanx's Avatar
AddOn Author - Click to view addons
Join Date: Mar 2006
Posts: 5,617
I'm with Leatrix on this one... the Cancel button does nothing for the majority of addons, and doesn't even do very much for the Blizzard panels it does apply to. Plus, it's really annoying to change a Blizzard option and then have it reverted because you hit Esc to close the window instead of clicking the Okay button. In the event you did accidentally click "Show action bar 4" and then change your mind, you can just click it again to go back to how it was. Users in WoW are used to options applying immediately when changed.

I added the button-removal code to my own UI and don't miss the button at all, or the tons of CRF-related taint errors in BugSack.
__________________
Retired author of too many addons.
Message me if you're interested in taking over one of my addons.
Don’t message me about addon bugs or programming questions.
  Reply With Quote
03-25-13, 11:31 PM   #26
Phanx
Cat.
 
Phanx's Avatar
AddOn Author - Click to view addons
Join Date: Mar 2006
Posts: 5,617
I do have a "Reset" button in one of my addons, because users can't be expected to know the RGB values for the default class colors. Other than that, if they don't like the statusbar texture they picked, they can just pick a different one.
__________________
Retired author of too many addons.
Message me if you're interested in taking over one of my addons.
Don’t message me about addon bugs or programming questions.
  Reply With Quote

WoWInterface » AddOns, Compilations, Macros » AddOn Help/Support » UI Error - (Compact Raid Frame)

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off