Skip to content

[Issue] [3.3.5a] ADDON_ACTION_BLOCKED: ToggleMainUIVisibility calls Hide() on a protected frame during combat #41

Description

@jasonkattan

Issue type *

Bug

Server/AzerothCore version

AzerothCore Playerbots branch + mod-multibot-bridge, client 3.3.5a (12340)

Description *

Toggling the main MultiBot UI while in combat triggers the client's "MultiBot has been blocked from an action only available to the Blizzard UI" popup. The main frame (or a child of it) is protected, so Hide() from insecure addon code is blocked during combat lockdown. Addon: MultiBot-Chatless (MultiBot-4.0).

Steps to reproduce

1. Enter combat.
2. Toggle the main UI via the slash/chat command path (goes through MultiBotHandler.lua:2393 -> ToggleMainUIVisibility).
3. ADDON_ACTION_BLOCKED fires and the "blocked from an action" popup appears; the UI does not hide.

Expected behavior *

The main UI shows/hides in combat without triggering ADDON_ACTION_BLOCKED — or, if that's not possible, the toggle is deferred until combat ends.

Actual behavior / Errors

ADDON_ACTION_BLOCKED:AddOn 'MultiBot' tried to call the protected function ':Hide()'.
: in function Hide' MultiBot-4.0\Core\MultiBot.lua:12:124: in function <Interface\AddOns\MultiBot\Core\MultiBot.lua:139> MultiBot-4.0\Core\MultiBot.lua:151: in function <Interface\AddOns\MultiBot\Core\MultiBot.lua:12:128> MultiBot-4.0\Core\MultiBot.lua:1003: in function ToggleMainUIVisibility'
MultiBot-4.0\Core\MultiBotHandler.lua:2393: in function value' Interface\FrameXML\ChatFrame.lua:4070: in function ChatEdit_ParseText':
Interface\FrameXML\ChatFrame.lua:3660: in function ChatEdit_SendText': Interface\FrameXML\ChatFrame.lua:3698: in function ChatEdit_OnEnterPressed':
:":OnEnterPressed":1: in function <[string ":OnEnterPressed"]:1>

Crashlog / Gist link (optional)

No response

Screenshots

No response

Pre-submission checklist *

  • I searched for existing issues that match mine.
  • I tested with the minimum set of addons/changes.
  • I provided reproduction steps and/or relevant logs.

Additional context

Suggested fix: in ToggleMainUIVisibility (MultiBot.lua:1003), guard with InCombatLockdown() and defer the show/hide to PLAYER_REGEN_ENABLED or avoid making the main frame protected (e.g. don't parent secure templates to it) so plain Hide()/Show() stay legal in combat.

Captured with !BugGrabber/BugSack during a full Naxx25 session on the AzerothCore bridge setup, happy to test a fix.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions