Comments (5)
I have investigated and found that the problem is probably due to the fact that InputEventMouseMotion
at line 3049 in animation_track_editor.cpp
is valid even though it should not be fired when closing a popup. But in animation_bezier_editor.cpp
, mouse events are not fired when closing a popup although it is similar implementation with animation_track_editor.cpp
. The timing of adding popups between them is different, so I tried changing the process priority of the popup node, but that did not solve the problem.
animation_track_editor.cpp: line 3049
if (mm.is_valid() && mm->get_button_mask().has_flag(MouseButtonMask::LEFT) && moving_selection_attempt) {
if (!moving_selection) {
moving_selection = true;
emit_signal(SNAME("move_selection_begin"));
}
float moving_begin_time = ((moving_selection_mouse_begin_x - timeline->get_name_limit()) / timeline->get_zoom_scale()) + timeline->get_value();
float new_time = ((mm->get_position().x - timeline->get_name_limit()) / timeline->get_zoom_scale()) + timeline->get_value();
float delta = new_time - moving_begin_time;
float snapped_time = editor->snap_time(moving_selection_pivot + delta);
float offset = 0.0;
if (abs(editor->get_moving_selection_offset()) > CMP_EPSILON || (snapped_time > moving_selection_pivot && delta > CMP_EPSILON) || (snapped_time < moving_selection_pivot && delta < -CMP_EPSILON)) {
offset = snapped_time - moving_selection_pivot;
moving_selection_effective = true;
}
emit_signal(SNAME("move_selection"), offset);
}
It seems that #92424 is causing the unintended firing of mouse events (I have confirmed that mouse events are not fired when the popup closes in prior commit from that), but I don't have a detailed reason as to why this is happening.
@bruvzg Do you have any idea?
from godot.
Bisecting points to #92424 as the culprit:
from godot.
Check if it's fixed by #93105, might be the same issue.
from godot.
@bruvzg The issue still occurs in the latest commit after merging it, so it seems to be a different problem.
from godot.
Seems like mouse move event can be received after closing popup wit
h a click and button can be still pressed, but I do not see anything wrong with it, since mouse is moving and button is pressed.
You can also do the same by opening a popup menu, holding down the left button (while hovering the menu separator) and closing the menu with ESC, the key will be moving until you release the button.
from godot.
Related Issues (20)
- Project Manager reports "Update Available" when on latest 4.3 beta version HOT 3
- Build error in VS 2022 HOT 1
- find_child method doesn't find a child by name after changing it's parent HOT 9
- MaterialStorage warning with default project settings in compatibility renderer HOT 3
- Selecting AnimationTree Node didn't jump to the bottom panel of AnimationTree
- Project setting "rendering/limits/global_shader_variables/buffer_size" exceeds maximum uniform buffer size of: 4096. Falling back on maximum buffer size. at: MaterialStorage (drivers/gles3/storage/material_storage.cpp:1115) HOT 2
- Disabling override pose on BoneAttachment3D didn't reset the selected bone's pose in skeleton
- TileMap's GetLocalMousePosition() offsets inside ViewportContainer
- Possible issue in C# Garbage Collection behavior HOT 1
- In any project using Godot 4.3, disabling Vsync will cause the entire macOS system to freeze and crash HOT 1
- mouse_get_position: Mouse is not supported by this display server HOT 7
- Texture Progress Bar does not render the progress texture correctly when using an Atlas Texture in clockwise and counter clockwise fill modes HOT 2
- Containers do not correctly resize to their contents when their visibility is toggled HOT 3
- Godot crashes during launch when editor_settings.tres is corrupted HOT 3
- Borderless non-fullscreen windows with Wayland display server still have decorations
- RPC function breaks when using it right after giving visibility to a peer
- 2D Physics Run on Seperate Thread Silent Crash
- [Web] "Maximum call stack exceeded" with `dev_build=yes` on Quest browser HOT 2
- Toggling Erase mode in TileMap does not update cursor immediately
- WebXR only rendering left eye when built with Emscripten 3.1.61 HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from godot.