Ace3

391 - Controls below other Frames accepting Input

What steps will reproduce the problem?

When you create two config frames and one is over the other, you can "click through" the top frame and interact with the bottom frame.

What is the expected output? What do you see instead?

Each control should check to see if they are "Topmost" in the registered frame stack before accepting input. Not accepting input if they are below another frame that is above that specific control.

Please provide any additional information below.

I understand this may be difficult to implement with all frames, but as far as AceConfigDialog frames are concerned, it should be easy to know which frame is on top and therefore the only one that should accept click events.

User When Change
dandraffbal Jul 17, 2016 at 00:27 UTC Create

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

  • 4 comments
  • Avatar of dandraffbal dandraffbal Jul 18, 2016 at 20:41 UTC - 0 likes

    @Nevcairiel: Go

    Sorry, a couple more specifics:

    • Testing on Live (6.2.4), don't know if 7.0.3 affects this issue.
    • Using the following libraries from "r1151" (loaded in this order):
      • LibStub
      • CallbackHandler-1.0
      • AceGUI-3.0
      • AceConfig-3.0
    • Using the same script from above (loaded after the libraries)
    • Made sure No other AddOns were enabled.

    Follow these steps:

    1. Offset the top frame over the bottom (move to top/left corner, until the bottom frame's range width is in a lot of open space)
    2. On first interaction, you can manipulate the bottom control through the top. (But just once)
    3. On second interaction, it doesn't accept input :O! It seems to be working now, but...
    4. In order to get the bug to happen again, click the bottom/right frame bringing it forward, then click on the top/left frame bringing it to the foreground again.
    5. Now you can interact with the back frame as many times as you want.

    Here is a video of the bug happening after following those steps: https://www.youtube.com/watch?v=nszneXYy-4U

    Let me know if there is anything else you need to reproduce the bug.

  • Avatar of Nevcairiel Nevcairiel Jul 18, 2016 at 08:22 UTC - 0 likes

    I tried with your exact snippet and the slider from the bottom frame is not interactable through the top frame.

  • Avatar of dandraffbal dandraffbal Jul 17, 2016 at 07:56 UTC - 0 likes

    Here is a small example of how I am using it: http://pastebin.com/a5z9urFy

    I overlayed those two frames like this: http://i.imgur.com/XRON6LK.png

    This could very well just be how I am using it, but I thought I would report just incase this is really an issue.

  • Avatar of Nevcairiel Nevcairiel Jul 17, 2016 at 07:34 UTC - 0 likes

    I just tested this and cannot reproduce any issues with default AceGUI frames. Created two with widgets on them, moved them to overlap, and the top frame properly blocks any input from reaching the bottom one.

  • 4 comments

Facts

Reported
Jul 17, 2016
Status
New - Issue has not had initial review yet.
Type
Defect - A shortcoming, fault, or imperfection
Priority
Medium - Normal priority.
Votes
0
Component
AceConfig-3.0

Reported by

Possible assignees