Commit graph

2061 commits

Author SHA1 Message Date
Markus Sauermann
7fead979d6 Disable error condition for accessing safe rect
This PR removes the error-message, which is currently expected to happen.
The task of correctly fixing the underlying problem of window popup
closing is more complex, so this PR solves the immediate
error-notification-problem.
2023-07-26 20:21:30 +02:00
Yuri Sizov
d50c52652f Merge pull request #79805 from kumikumi/fix-subviewport-cursor
Prevent SubViewportContainer overriding Subviewport's cursor with its own cursor
2023-07-26 18:40:30 +02:00
Yuri Sizov
712f49ec57 Merge pull request #79766 from Sauermann/fix-window-determinant-zero
Add determinant check for minimized windows
2023-07-26 18:40:26 +02:00
Yuri Sizov
1de9171c32 Merge pull request #79443 from Sauermann/fix-ingore-hovering
Fix physics passive hovering with `MOUSE_FILTER_IGNORE`
2023-07-26 18:40:14 +02:00
Yuri Sizov
67873d0d5d Merge pull request #79248 from Sauermann/fix-svc-focus-propagation
Make `SubViewportContainer` event propagation aware of focused Control
2023-07-26 18:39:57 +02:00
Yuri Sizov
e8df8c5e2c Merge pull request #78988 from RandomShaper/fix_change_scene
Reimplement scene change
2023-07-26 18:39:43 +02:00
Mikko Ankkala
96b26574b9 Don't override SubViewport's cursor with SubViewportContainer's cursor
Add a warning for having a non-default value of `mouse_default_cursor_shape` in SubViewportContainer

Add test
2023-07-23 22:27:55 +03:00
Markus Sauermann
e0bce0bd7f Add determinant check for minimized windows
When the Window is minimized, the transform-determinant can be 0.
Add a check to prevent this case.
2023-07-22 00:02:37 +02:00
Yuri Sizov
15c0e40375 Merge pull request #79546 from Sauermann/fix-input-handled-physics
Separate input-handled-state for different events during physics-picking
2023-07-21 17:15:36 +02:00
Yuri Sizov
de0f7935dd Merge pull request #79524 from aaronfranke/gds-test-inst-placeholder
Change GDScript tests to use InstancePlaceholder as the example abstract class
2023-07-21 17:15:32 +02:00
Yuri Sizov
4d42d6fdf6 Merge pull request #78706 from RedworkDE/node-rename-inplace
Allow renaming child nodes in `_ready`
2023-07-21 17:15:26 +02:00
Markus Sauermann
b408b05d7d Fix physics passive hovering for some cases
When the parent `SubViewportContainer` ignores mouse with
`MOUSE_FILTER_IGNORE` and also when the mouse is over a `Control`-node,
then the `SubViewport` shouldn't create mouse-move-events for passive
hovering.
2023-07-19 19:25:04 +02:00
Markus Sauermann
e6386bc843 Make SubViewportContainer event propagation aware of focused Control
Propagate `InputEvents` without position either
- during the Input-stage, when it has focus or
- during the Unhandled-Input-stage, otherwise

This makes sure that Gui-Input happens in the correct order.

Move "Unhandled key Input" handling before "Unhandled Input" handling,
so that Unicode input with Alt / Ctrl modifiers are sent to the nodes
in the correct order.

Change the default focus mode of `SubViewportContainer` from
`FOCUS_NONE` to `FOCUS_CLICK`, to automatically remove focus from
other `Control`-nodes, when clicking inside a `SubViewport`.
2023-07-17 22:38:35 +02:00
kobewi
de4a3fa151 Unify and streamline connecting to Resource changes 2023-07-17 19:35:57 +02:00
Markus Sauermann
95d294b97a Separate input-handled-state for different events during physics-picking
Currently the input-handled-state for different events can interfere with
each other.
This PR makes sure, that the input_handled_state is reset before
processing and InputEvent during physics-picking.
2023-07-16 14:36:18 +02:00
Aaron Franke
6a8a9cd279
Change GDScript tests to use InstancePlaceholder as the example abstract 2023-07-15 18:28:08 -05:00
Hendrik Brucker
7e21eb7e00 Extract and reorganize texture resource classes 2023-07-14 20:04:21 +02:00
Yuri Sizov
d8c0d63f07 Merge pull request #79393 from Sauermann/fix-window-focux-indicator
Add a default theme for unfocused Windows
2023-07-14 18:50:01 +02:00
Markus Sauermann
576980f960 Add a default theme for unfocused Windows
At the moment it is impossible to distinguish between focused and
unfocused embedded Windows.
Add a new `theme_item` that is used for coloring the border of
unfocused Windows.
2023-07-12 22:35:03 +02:00
bruvzg
4790da7900
[macOS] Implement optional native file selection dialog support for sandboxed apps. 2023-07-12 22:36:24 +03:00
Yuri Sizov
7ff2a93952 Merge pull request #72248 from RedwanFox/mainloop_init_order_fix
Ensure that SceneTree is initialized and finalized at correct time
2023-07-12 17:16:05 +02:00
Yuri Sizov
223370cb64 Merge pull request #78383 from Sauermann/fix-physics-object-init
Fix Physics Picking captured Object initialization
2023-07-12 17:15:45 +02:00
Yuri Sizov
5dff3c4484 Merge pull request #78538 from Sauermann/fix-code-simplifications
Remove unnecessary value assignments throughout the codebase
2023-07-12 15:09:26 +02:00
Yuri Sizov
631d51c46c Merge pull request #78476 from Sauermann/fix-embedded-safe-area
Embedded Popups store their safe_rect in their embedder
2023-07-12 15:09:20 +02:00
Ninni Pipping
7bd3a3a5e5 Prevent crash when accessing Node Multiplayer from thread 2023-07-11 12:57:25 +02:00
Rémi Verschelde
6cb1162aa0
Merge pull request #79000 from AThousandShips/owner_error
Improve error message for `Node.set_owner`
2023-07-11 11:29:30 +02:00
Rémi Verschelde
988abb2161
Merge pull request #79016 from bruvzg/fix_win_initial_ne_fs
[Windows] Fix setting initial non-exclusive window mode.
2023-07-08 18:21:04 +02:00
Rémi Verschelde
0df423756e
Merge pull request #78847 from Sauermann/fix-sibling-fail
Fix `Node::add_sibling` parent check
2023-07-08 18:20:14 +02:00
kleonc
3f6e35bdb2 Fix drag-dropping nodes to parent with internal nodes 2023-07-07 19:24:44 +02:00
Rémi Verschelde
7961bc6193
Merge pull request #78078 from Sauermann/fix-drop-physics-mouse-over
Ensure that `_drop_physics_mouseover` only happens when necessary
2023-07-07 16:02:13 +02:00
Pedro J. Estébanez
4354cd8d41 Reimplement scene change 2023-07-04 13:29:50 +02:00
bruvzg
db0109b237 [Windows] Fix setting initial non-exclusive window mode. 2023-07-04 13:09:26 +03:00
Ninni Pipping
0183340012 Improve error message for Node.set_owner 2023-07-04 08:51:12 +02:00
Markus Sauermann
b02dff6e1c Fix Node::add_sibling parent check
Replace `data.blocked > 0` by `data.parent->data.blocked > 0` in order
to check if the parent is busy.
2023-06-29 20:21:37 +02:00
Rémi Verschelde
16508ead86
Merge pull request #78745 from RandomShaper/fix_node_pr
Fix node processing order
2023-06-27 23:02:02 +02:00
Pedro J. Estébanez
70ca659143 Fix node internal/non-internal processing order
Bonus:
Fix issues in group-processing related setters
2023-06-27 19:19:55 +02:00
Rindbee
fb1bcac271 Fix that ViewportTexture cannot be setup again after failed setup
`vp_pending` is a flag indicating to wait for `ViewportTexture::_setup_local_to_scene`
to be called. Once this method is called, no matter whether the setup will fail or not,
it needs to be reset to `false`.
2023-06-27 06:45:30 +08:00
Pedro J. Estébanez
fc0e37bbe0 Fix change of precedence in fixup 2023-06-26 19:20:34 +02:00
Rémi Verschelde
6b91f57042
Fixup compilation warning after #78713 2023-06-26 17:55:08 +02:00
Pedro J. Estébanez
a39b683b12 Ensure default node groups' call queue are processed 2023-06-26 16:56:10 +02:00
RedworkDE
2c0caa5828 Allow renaming child nodes in _ready 2023-06-26 13:25:48 +02:00
Markus Sauermann
31fab43b8b Fix scene load crash related to _ready
The iterator might get invalidated during `_ready`-user-code.
Prevent this by disallowing set_name during iterator-operations.
2023-06-25 22:35:38 +02:00
Rémi Verschelde
afe65de110
Merge pull request #78591 from ajreckof/Fix-crash-when-removing-child-during-focus-exit-
Fix crash when removing child during focus exit.
2023-06-23 22:45:51 +02:00
ajreckof
f745299c36 Fix crash when removing child during focus exit. 2023-06-23 21:31:18 +02:00
Rémi Verschelde
68193bee9a
Revert "Fix that the focus-out notification got sent deferred"
This reverts commit 8cdab04d7f.

Fixes #78589.
2023-06-23 18:03:48 +02:00
Markus Sauermann
60c261ba2d Re-add mouse_focus-nullcheck 2023-06-22 21:58:19 +02:00
Rémi Verschelde
283580d0cc
Merge pull request #78566 from kleonc/repeated-sprite-selection-fix
Fix click-selecting Sprites with repeated texture
2023-06-22 18:32:01 +02:00
kleonc
edba45ec8b Fix click-selecting Sprites with repeated texture 2023-06-22 16:37:08 +02:00
jeana helver
5ec1b698d2
Fix missing enum value for Window.initial_position
Reorder the properties in a possibly more intuitive order.

Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2023-06-21 22:39:43 +02:00
Markus Sauermann
890fdd56df Code simplifications
CPPcheck found most of them.

no need to assign the variable twice:
- AnimationTrackEditTypeAudio
- SSEffects

variable is assigned in all if-else clauses:
- EditorHelp
- AndroidInputHandler
- MenuBar
- ShaderCompiler

same if clause:
- ItemList

clearing an empty bitfield has no effect:
- Viewport
2023-06-21 22:37:26 +02:00