Block on combat lockdown to prevent error

Issue #27 new
Former user created an issue

Date: 2019-09-21 14:45:55 ID: 1 Error occured in: AddOn: RecipeRadarClassic Count: 1 Message: Note: AddOn RecipeRadarClassic attempted to call a protected function (CompactRaidFrame2:SetAttribute()) during combat lockdown. Debug:

..\FrameXML\CompactUnitFrame.lua:161: CompactUnitFrame_SetUnit() ...actRaidFrames\Blizzard_CompactRaidFrameContainer.lua:318: CompactRaidFrameContainer_AddUnitFrame() ...actRaidFrames\Blizzard_CompactRaidFrameContainer.lua:254: CompactRaidFrameContainer_AddPlayers() ...actRaidFrames\Blizzard_CompactRaidFrameContainer.lua:176: CompactRaidFrameContainer_LayoutFrames() ...actRaidFrames\Blizzard_CompactRaidFrameContainer.lua:130: CompactRaidFrameContainer_TryUpdate() ...actRaidFrames\Blizzard_CompactRaidFrameContainer.lua:57: CompactRaidFrameContainer_OnEvent()

  [string "*:OnEvent"]:1

Locals: None AddOns: Swatter, v8.2.6377 (SwimmingSeadragon) Atlas, vv1.45.01.11302 AtlasBattlegrounds, vv1.45.00.11302.00 AtlasClassicWoW, vv1.45.00.11302.05 AtlasDungeonLocs, vv1.45.00.11302.01 AtlasTransportation, vv1.45.00.11302.00 AucAdvanced, v8.2.6420 (SwimmingSeadragon) AucFilterBasic, v8.2.6364 (SwimmingSeadragon) AucScanData, v8.2.6365 (SwimmingSeadragon) AucStatHistogram, v8.2.6366 (SwimmingSeadragon) AucStatiLevel, v8.2.6370 (SwimmingSeadragon) AucStatPurchased, v8.2.6367 (SwimmingSeadragon) AucStatSimple, v8.2.6399 (SwimmingSeadragon) AucStatStdDev, v8.2.6369 (SwimmingSeadragon) AucUtilFixAH, v8.2.6371 (SwimmingSeadragon) BagBrother, v Bagnon, v8.2.13 Bartender4, v4.8.7 BeanCounter, v8.2.6422 (SwimmingSeadragon) BetterVendorPrice, vv1.08.00-classic ClassicCodex, v1.2.1 Enchantrix, v8.2.6411 (SwimmingSeadragon) GatherMate2, v1.45 Informant, v8.2.6374 (SwimmingSeadragon) LeatrixMaps, v1.13.31 Misspelled, v1.7.4 PerlArcaneBar, v PerlCombatDisplay, v PerlConfig, v PerlFocus, v PerlParty, v PerlPartyPet, v PerlPartyTarget, v PerlPlayer, v PerlPlayerPet, v PerlTarget, v PerlTargetTarget, v Prat30, v3.7.36 Prat30Libraries, v Quester, v1.13.2.1 RecipeRadarClassic, v1.0.0.8 SexyMap, vv3-classic SlideBar, v8.2.6375 (SwimmingSeadragon) Stubby, v8.2.6376 (SwimmingSeadragon) TFTB, v1.10 TitanClassic, v1.1.0.11302 TitanClassicAmmo, v1.1.0.11302 TitanClassicBag, v1.1.0.11302 TitanClassicClock, v1.1.0.11302 TitanClassicGold, v1.1.0.11302 TitanClassicGuild, v1.0.0.1 TitanClassicLocation, v1.1.0.11302 TitanClassicLootType, v1.1.0.11302 TitanClassicMail, v1.0.0.0 TitanClassicPerformance, v1.1.0.11302 TitanClassicRegen, v1.1.0.11302 TitanClassicRepair, v1.1.0.11302 TitanClassicVolume, v1.1.0.11302 TitanClassicXP, v1.1.0.11302 TitanReputations, vv1.1-classic TitanSkills, v1.7.0 TitanSocial, v1.13.2 BlizRuntimeLib_enUS v1.13.2.11302 <none> (ck=7af)

Comments (2)

  1. Kernighan Ritchie repo owner

    Example code from Skillet doing this:

    Index: Skillet.lua
    ===================================================================
    --- Skillet.lua (revision 47)
    +++ Skillet.lua (revision 48)
    @@ -1398,6 +1398,8 @@
     --
            self:RegisterEvent("PLAYER_LOGOUT")
    
    +       self:RegisterEvent("ADDON_ACTION_BLOCKED")
    +
            self.bagsChanged = true
            self.hideUncraftableRecipes = false
            self.hideTrivialRecipes = false
    @@ -1416,6 +1418,12 @@
            self:DisableBlizzardFrame()
     end
    
    +function Skillet:ADDON_ACTION_BLOCKED()
    +       print("|cf0f00000Skillet-Classic|r: Combat lockdown restriction." ..
    +                                                                 " Leave combat and try again.")
    +       self:HideAllWindows()
    +end
    +
     function Skillet:PLAYER_LOGOUT()
            DA.DEBUG(0,"PLAYER_LOGOUT")
     --
    @@ -1527,6 +1535,11 @@
     -- Show the tradeskill window, called from TRADE_SKILL_SHOW event, clicking on links, or clicking on guild professions
     --
     function Skillet:SkilletShow()
    +       if InCombatLockdown() or UnitAffectingCombat("player") then
    +               print("|cf0f00000Skillet-Classic|r: Combat lockdown restriction." ..
    +                                                                         " Leave combat and try again.")
    +               self:HideAllWindows()
    +       end
            DA.DEBUG(1,"SkilletShow(), currentTrade= "..tostring(self.currentTrade))
            self.linkedSkill, self.currentPlayer, self.isGuild = Skillet:IsTradeSkillLinked()
            if self.linkedSkill then
    

  2. Log in to comment