diff --git a/ShadowedUnitFrames.lua b/ShadowedUnitFrames.lua index f41d348d..7e4d35b7 100755 --- a/ShadowedUnitFrames.lua +++ b/ShadowedUnitFrames.lua @@ -696,20 +696,22 @@ end local function hideBlizzardFrames(taint, ...) for i=1, select("#", ...) do local frame = select(i, ...) - UnregisterUnitWatch(frame) - frame:UnregisterAllEvents() - frame:Hide() - - if( frame.manabar ) then frame.manabar:UnregisterAllEvents() end - if( frame.healthbar ) then frame.healthbar:UnregisterAllEvents() end - if( frame.spellbar ) then frame.spellbar:UnregisterAllEvents() end - if( frame.powerBarAlt ) then frame.powerBarAlt:UnregisterAllEvents() end - - if( taint ) then - frame.Show = ShadowUF.noop - else - frame:SetParent(ShadowUF.hiddenFrame) - frame:HookScript("OnShow", rehideFrame) + if frame then + UnregisterUnitWatch(frame) + frame:UnregisterAllEvents() + frame:Hide() + + if( frame.manabar ) then frame.manabar:UnregisterAllEvents() end + if( frame.healthbar ) then frame.healthbar:UnregisterAllEvents() end + if( frame.spellbar ) then frame.spellbar:UnregisterAllEvents() end + if( frame.powerBarAlt ) then frame.powerBarAlt:UnregisterAllEvents() end + + if( taint ) then + frame.Show = ShadowUF.noop + else + frame:SetParent(ShadowUF.hiddenFrame) + frame:HookScript("OnShow", rehideFrame) + end end end end diff --git a/modules/auras.lua b/modules/auras.lua index 1f6c244d..420067c9 100755 --- a/modules/auras.lua +++ b/modules/auras.lua @@ -680,12 +680,12 @@ function Auras:Update(frame) scan(frame.auras, frame.auras.anchor, frame.auras.primary, config[frame.auras.primary], config[frame.auras.primary], frame.auras[frame.auras.primary].filter) scan(frame.auras, frame.auras.anchor, frame.auras.secondary, config[frame.auras.secondary], config[frame.auras.primary], frame.auras[frame.auras.secondary].filter) else - if( config.buffs.enabled ) then + if( config.buffs.enabled and frame.auras.buffs ) then frame.auras.buffs.totalAuras = frame.auras.buffs.temporaryEnchants scan(frame.auras, frame.auras.buffs, "buffs", config.buffs, config.buffs, frame.auras.buffs.filter) end - if( config.debuffs.enabled ) then + if( config.debuffs.enabled and frame.auras.debuffs ) then frame.auras.debuffs.totalAuras = 0 scan(frame.auras, frame.auras.debuffs, "debuffs", config.debuffs, config.debuffs, frame.auras.debuffs.filter) end diff --git a/modules/range.lua b/modules/range.lua index 8022c95c..9aafbac8 100755 --- a/modules/range.lua +++ b/modules/range.lua @@ -25,7 +25,15 @@ local Range = { ShadowUF:RegisterModule(Range, "range", ShadowUF.L["Range indicator"]) -local LSR = LibStub("SpellRange-1.0") +local LSR = LibStub("SpellRange-1.0", true) + +local function IsSpellInRangeCheck(spell, unit) + if LSR then + return LSR.IsSpellInRange(spell, unit) + else + return IsSpellInRange(spell, unit) + end +end local playerClass = select(2, UnitClass("player")) local rangeSpells = {} @@ -44,7 +52,7 @@ local function checkRange(self) if( not UnitIsConnected(frame.unit) or not UnitInPhase(frame.unit) ) then frame:SetRangeAlpha(ShadowUF.db.profile.units[frame.unitType].range.oorAlpha) elseif( spell ) then - frame:SetRangeAlpha(LSR.IsSpellInRange(spell, frame.unit) == 1 and ShadowUF.db.profile.units[frame.unitType].range.inAlpha or ShadowUF.db.profile.units[frame.unitType].range.oorAlpha) + frame:SetRangeAlpha(IsSpellInRangeCheck(spell, frame.unit) == 1 and ShadowUF.db.profile.units[frame.unitType].range.inAlpha or ShadowUF.db.profile.units[frame.unitType].range.oorAlpha) -- That didn't work, but they are grouped lets try the actual API for this, it's a bit flaky though and not that useful generally elseif( UnitInRaid(frame.unit) or UnitInParty(frame.unit) ) then frame:SetRangeAlpha(UnitInRange(frame.unit, "player") and ShadowUF.db.profile.units[frame.unitType].range.inAlpha or ShadowUF.db.profile.units[frame.unitType].range.oorAlpha)