Ace3

173 - Switching groups while a multiselect-dropdown is still open causes an error

What steps will reproduce the problem?
1. Use AceConfigDialog for your config and make a tree group.
2. Add an inline group and insert a multiselect with dialogControl = "Dropdown" in it
2. Toggle some selections (this is required to trigger an error), and then, while the dropdown is still open, switch to another group in the tree
3. Boom.

Do you have an error log of what happened?
Date: 2010-10-07 19:39:39
ID: 3
Error occured in: Global
Count: 3
Message: ..\AddOns\Ace3\AceGUI-3.0\AceGUI-3.0.lua line 236:
   Attempt to Release Widget that is already released
Debug:
   (tail call): ?
   [C]: ?
   Ace3\AceGUI-3.0\AceGUI-3.0.lua:154
      Ace3\AceGUI-3.0\AceGUI-3.0.lua:149
   Ace3\AceGUI-3.0\AceGUI-3.0.lua:236 Release()
   Ace3\AceGUI-3.0\AceGUI-3.0.lua:478
      Ace3\AceGUI-3.0\AceGUI-3.0.lua:475
   (tail call): ?
   [C]: ?
   [string "safecall Dispatcher[1]"]:9:
      [string "safecall Dispatcher[1]"]:5
   (tail call): ?
   Ace3\AceGUI-3.0\AceGUI-3.0.lua:209 Release()
   Ace3\AceGUI-3.0\AceGUI-3.0.lua:478
      Ace3\AceGUI-3.0\AceGUI-3.0.lua:475
   (tail call): ?
   [C]: ?
   [string "safecall Dispatcher[1]"]:9:
      [string "safecall Dispatcher[1]"]:5
   (tail call): ?
   Ace3\AceGUI-3.0\AceGUI-3.0.lua:209 Release()
   Ace3\AceGUI-3.0\AceGUI-3.0.lua:478 ReleaseChildren()
   ...nfig-3.0\AceConfigDialog-3.0\AceConfigDialog-3.0.lua:1462
      ...nfig-3.0\AceConfigDialog-3.0\AceConfigDialog-3.0.lua:1443
   (tail call): ?
   [C]: ?
   [string "safecall Dispatcher[3]"]:9:
      [string "safecall Dispatcher[3]"]:5
   (tail call): ?
   Ace3\AceGUI-3.0\AceGUI-3.0.lua:314 Fire()
   ...ce3\AceGUI-3.0\widgets\AceGUIContainer-TreeGroup.lua:473 SetSelected()
   ...ce3\AceGUI-3.0\widgets\AceGUIContainer-TreeGroup.lua:192
      ...ce3\AceGUI-3.0\widgets\AceGUIContainer-TreeGroup.lua:188

User When Change
Nevcairiel Oct 11, 2010 at 08:53 UTC Changed assigned to from Kaelten to Nevcairiel

Changed component from None to AceGUI-3.0
Zerotorescue Oct 07, 2010 at 18:14 UTC Create

You must login to post a comment. Don't have an account? Register to get one!

  • 2 comments
  • Avatar of inthedrops inthedrops May 18, 2011 at 17:29 UTC - 0 likes

    I just wanted to add to this issue. It's important for me. I'm currently using Release-r1025. If I comment out "self.pullout:Close()" in line 468 of AceGUIWidget-DropDown.lua then it solves all of my problem without causing any detectable adverse affects. For example, the checked/unchecked data changes are still saved whether I hit escape, swap to another parent tab group in the config window, close the dropdown by clicking the button, or close the dropdown by choosing the close option. In all cases, it seems fine.

    I also have another option (a toggle option) whose disabled state is dependent on the number of selected items in my multiselect list and the disabled state of that control is changing properly with that line commented out.

    So, values are saving, and controls are being updated when I close the dropdown or exit the frame without closing.

    I realize that calling self.pullout.Close ultimately causes the pullout widget to fire self:Fire("OnClose") but I'm not sure what problems it will cause. With my config window, it's working fine but I don't cover all cases.

    ----------- Side note:

    If you add some debug prints to the OnAcquire and OnRelease methods for both the Dropdown and the Dropdown-Pullout widgets the output looks like this when things work correctly:

    Releasing Dropdown: table: 12DAE120 Releasing Pullout: table: 12DB7980 Acquiring Dropdown: table: 12DAE120 Acquiring Pullout: table: 12DB7980

    And then it's broke (by switching off to some other tab in the config instead of first closing the dropdown) it looks like this:

    Releasing Dropdown: table: 12DAE120 Acquiring Dropdown: table: 1EEF4CC0 * Releasing Pullout: table: 12DB7980 Acquiring Dropdown: table: 12DAE120 Acquiring Pullout: table: 12DB7980

  • Avatar of Zerotorescue Zerotorescue Oct 07, 2010 at 18:24 UTC - 0 likes

    To update; I have been experimenting a little more and learned these multiselect dropdown boxes can actually crash the game.

    What steps will reproduce the problem?
    1. Open a config dialog with a multiselect dropdown widget as described above.
    2. Click it, untick something.
    3. Press the close button or hit escape while the dropdown pullout is still open.
    4. Boom, game crash.

    Error log:
    This application has encountered a critical error:

    ERROR #132 (0x85100084) Fatal Exception
    Program: X:\Games\World of Warcraft\WoW.exe
    Exception: 0xC0000005 (ACCESS_VIOLATION) at 0023:1FE21BD0

    The instruction at "0x1FE21BD0" referenced memory at "0x1FE21BD0".
    The memory could not be "written".

    WoWBuild: 12340
    Realm: Al'Akir [195.12.234.212:3724]
    Local Zone: Stonard, Swamp of Sorrows
    Local Player: Zerotoofatal, 01000000028789DB, (-10461.3,-3263.54,20.1784)
    Total lua memory: 46441KB
    Current Addon: Ace3
    Current Addon function: <unnamed>:Hide

    Current Addon object: (null)
    Add Ons: _Dev _NPCScan _NPCScan.Overlay ACP AddonLoader AddonUsage Altoholic LookinAtMe ArkInventory Broker_Auditor Auditor2 BadBoy BadBoy_CCleaner BadBoy_Guilded BankStack Bartender4 Bejeweled ButtonFacade ButtonFacade_Onyx Chatter DataStore DataStore_Achievements DataStore_Auctions DataStore_Characters DataStore_Containers DataStore_Crafts DataStore_Currencies DataStore_Inventory DataStore_Mails DataStore_Pets DataStore_Quests DataStore_Reputations DataStore_Skills DataStore_Spells DataStore_Stats DataStore_Talents Elephant ElkBuffBars Examiner glyphIndustry Inventory ItemCount KevTool Queue KevTool SkilletItemCount Ace3 LilSparkysWorkshop Mapster Omen OmniCC oRA2 Overachiever Overachiever_Trade PowerAuras Quartz RatingBuster Recount SexyMap Skillet SlideBar Stubby !Swatter TitanAmmo TitanBag TitanClock TitanCoords TitanGoldTracker TitanLootType TitanPerformance TitanRegen TitanRepair TitanVolume TitanXP Titan TinyTipWealth WIM XPerl XPerl_ArcaneBar XPerl_PartyPet XPerl_Party XPerl_PlayerBuffs XPerl_PlayerPet XPerl_Player XPerl_RaidAdmin XPerl_RaidHelper XPerl_RaidMonitor XPerl_RaidPets XPerl_RaidFrames XPerl_TargetTarget XPerl_Target !!!Zoom!!! DBM-Core DBM-BurningCrusade

    Edit:
    This issue seems to not occur while the dropout is still open when you have "confirm = true" within your option. I am using this to allow the use of the dropdown multiselect, but would much rather see this issue resolved. If this proves to be difficult my suggestion would be to close the dropout after selecting a user.

    Last edited Oct 07, 2010 by Zerotorescue
  • 2 comments

Facts

Last updated
Oct 11, 2010
Reported
Oct 07, 2010
Status
New - Issue has not had initial review yet.
Type
Defect - A shortcoming, fault, or imperfection
Priority
Medium - Normal priority.
Votes
0
Component
AceGUI-3.0

Reported by

Possible assignees