You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I have a number of GUI-s. When I click on a button, it opens a fullscreen blocking GUI (mouse_filter = STOP). However, it seems to be still possible to press this initial button, even if it is completely blocked by the GUI (any control with MOUSE_FILTER_STOP).
A workaround would be to always check is_hovered first, however, the button UI will display presses anyway. If you want to NOT display clicks at all, you will need your own button...
I'm not sure about the severity of the issue, but in some projects this may mean that Godot's buttons should never be used at all (or disable styles, textures, etc. to never let it display clicks), and instead you should always use your own buttons.
Steps to reproduce
Launch project
Press the Click me button with RIGHT or MIDDLE mouse button. Hold it (don't release!)
Now click the button with LEFT mouse button. Keep the RIGHT / MIDDLE button pressed
The panel pops up and blocks the button. Keep the RIGHT / MIDDLE button pressed
While still holding the RIGHT / MIDDLE button down, start clicking LEFT mouse button multiple times.
Panel lets the clicks come through to the button. This should NOT happen.
p.6 won't happen if you don't hold RIGHT / MIDDLE button at p.2
If you try the steps above with check_is_hovered = true (property on click_me_button.gd), you will see that the behavior is mainly valid (except that button UI still displays clicks)
Shouldn't be a problem as long as someone has time to review it, I found a simple enough solution for the presses. I'm still trying to fix the button staying hovered when the panel opens and mouse is still holding something down... but it's less important so I won't spend too much time on it. The hover disappears on the next mouse button or move event.
Tested versions
v4.2.2.stable.official [15073afe3]
System information
Godot v4.2.2.stable - Windows 10.0.19045 - Vulkan (Forward+) - dedicated NVIDIA GeForce GTX 1660 (NVIDIA; 31.0.15.3623) - AMD Ryzen 7 2700X Eight-Core Processor (16 Threads)
Issue description
I have a number of GUI-s. When I click on a button, it opens a fullscreen blocking GUI (mouse_filter = STOP). However, it seems to be still possible to press this initial button, even if it is completely blocked by the GUI (any control with MOUSE_FILTER_STOP).
A workaround would be to always check
is_hovered
first, however, the button UI will display presses anyway. If you want to NOT display clicks at all, you will need your own button...I'm not sure about the severity of the issue, but in some projects this may mean that Godot's buttons should never be used at all (or disable styles, textures, etc. to never let it display clicks), and instead you should always use your own buttons.
Steps to reproduce
Click me
button with RIGHT or MIDDLE mouse button. Hold it (don't release!)p.6 won't happen if you don't hold RIGHT / MIDDLE button at p.2
If you try the steps above with
check_is_hovered = true
(property onclick_me_button.gd
), you will see that the behavior is mainly valid (except that button UI still displays clicks)Minimal reproduction project (MRP)
button_mrp.zip
The text was updated successfully, but these errors were encountered: