@@ -208,18 +208,21 @@ f:SetScript("OnEvent", function(_, _, addonName)
208208 if addonName == " Blizzard_OrderHallUI" then
209209 ResearchViewer :MakeDropDownButton (OrderHallTalentFrame )
210210 OrderHallTalentFrame :HookScript (" OnHide" , function ()
211+ if ResearchViewer .openingUI then return end
211212 ResearchViewer .selectedTreeInfo = nil
212213 end )
213214 end
214215 if addonName == " Blizzard_GenericTraitUI" then
215216 ResearchViewer :MakeDropDownButton (GenericTraitFrame )
216217 GenericTraitFrame :HookScript (" OnHide" , function ()
218+ if ResearchViewer .openingUI then return end
217219 ResearchViewer .selectedTreeInfo = nil
218220 end )
219221 end
220222 if addonName == " Blizzard_RemixArtifactUI" then
221223 ResearchViewer :MakeDropDownButton (RemixArtifactFrame )
222224 RemixArtifactFrame :HookScript (" OnHide" , function ()
225+ if ResearchViewer .openingUI then return end
223226 ResearchViewer .selectedTreeInfo = nil
224227 end )
225228 end
@@ -474,32 +477,6 @@ function ResearchViewer:ToggleUI()
474477end
475478
476479function ResearchViewer :OpenGenericTalentTree (treeID )
477- if LEGION_ARTIFACT_TREE == treeID then
478- if PlayerGetTimerunningSeasonID () ~= LEMIX_SEASON then return false ; end
479- -- "shift right-click" the MH slot, which opens the correct tree
480- SocketInventoryItem (16 );
481- if RemixArtifactFrame :IsShown () then return true ; end
482- -- fallback in case the artifact isn't equipped for some reason
483- RemixArtifactUI_LoadUI ();
484- RemixArtifactFrame :UpdateLayout ();
485-
486- local itemID = C_RemixArtifactUI .GetCurrArtifactItemID ();
487- if itemID then
488- RemixArtifactFrame :SetArtifactItem (itemID );
489- end
490-
491- local configID = C_Traits .GetConfigIDByTreeID (treeID );
492- RemixArtifactFrame :SetConfigID (configID );
493- ShowUIPanel (RemixArtifactFrame );
494- if RemixArtifactFrame :GetNumPoints () == 0 then
495- RemixArtifactFrame :SetPoint (' TOPLEFT' , 16 , - 116 ); -- roughly where it would normally open
496- end
497- if not tIndexOf (UISpecialFrames , ' RemixArtifactFrame' ) then
498- table.insert (UISpecialFrames , ' RemixArtifactFrame' );
499- end
500-
501- return true ;
502- end
503480 if not self :TraitTreeExists (treeID ) then return false ; end
504481
505482 self .charDb .lastSelected = self .selectedTreeInfo
@@ -513,7 +490,9 @@ function ResearchViewer:OpenGenericTalentTree(treeID)
513490 GenericTraitFrame :SetSystemID (systemID );
514491 end
515492 GenericTraitFrame :SetTreeID (treeID );
493+ self .openingUI = true ;
516494 ShowUIPanel (GenericTraitFrame );
495+ self .openingUI = false ;
517496 if GenericTraitFrame :GetNumPoints () == 0 then
518497 GenericTraitFrame :SetPoint (' TOPLEFT' , 16 , - 116 ); -- roughly where it would normally open
519498 end
@@ -525,10 +504,12 @@ function ResearchViewer:OpenGenericTalentTree(treeID)
525504end
526505
527506function ResearchViewer :OpenSelectedResearch ()
528- self .charDb .lastSelected = self .selectedTreeInfo
529- OrderHall_LoadUI ()
530- OrderHallTalentFrame :SetGarrisonType (self .selectedTreeInfo .type , self .selectedTreeInfo .id )
507+ self .charDb .lastSelected = self .selectedTreeInfo ;
508+ OrderHall_LoadUI ();
509+ OrderHallTalentFrame :SetGarrisonType (self .selectedTreeInfo .type , self .selectedTreeInfo .id );
510+ self .openingUI = true ;
531511 ShowUIPanel (OrderHallTalentFrame );
512+ self .openingUI = false ;
532513end
533514
534515local treeExistsCache = {}
0 commit comments