Basically, when you create a StaticPopupDialog table, set the following member like this:
preferredIndex = 3
-- and then the rest of your definition
Basically, there are a total of 4 StaticPopupDialogs resources. 1 and 2 are the ones normally getting used by the Blizzard UI. If you "prefer" #3 (may end up in #4 if #3 is already showing), chances are much better to avoid tainting UI code that involves StaticPopupDialogs (notably the glyph UI)
Basically, if you have the glyph frame open, and hit N+N to close it, and then open it again, it's tainted.
But if you [Esc] out of the glyph frame, and then open it again, it untaints itself.
Obviously just N+N doesn't automagically taint the frame, the taint has to come from somehwere. We haven't quite figured it out yet.
My personal guess is that timed popups (like Summon Accept + EPGP's "don't have multiple people change stuff!") is involved. Foxlit & Sylv were being suspicious about popups that read the .data / .data2 members, like loot & instance save accept dialogs.
Yes, i know this thread, but since macro "/run StaticPopup_Show('PARTY_INVITE',"a")" will also taint, it's not the 'preferredIndex' who taint it, we just need to avoid using blz's staticpopup systeam
even /run StaticPopup4.which = '1' will taint talentUI