Skip to content

Commit 8d27ff0

Browse files
committed
Fixed an error that can happen in rare situations (fixes #3)
1 parent ef0a44a commit 8d27ff0

1 file changed

Lines changed: 10 additions & 29 deletions

File tree

ResearchViewer.lua

Lines changed: 10 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -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()
474477
end
475478

476479
function 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)
525504
end
526505

527506
function 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;
532513
end
533514

534515
local treeExistsCache = {}

0 commit comments

Comments
 (0)