virtualx-engine/scene/main
Rémi Verschelde fd6453c45e Revert "Remove NOTIFICATION_ENTER_TREE when paired with NOTIFICATION_THEME_CHANGED"
This reverts commit 4b817a565c.

Fixes #64988.
Fixes #64997.

This caused several regressions (#64988, #64997,
https://github.com/godotengine/godot/issues/64997#issuecomment-1229970605)
which point at a flaw in the current logic:

- `Control::NOTIFICATION_ENTER_TREE` triggers a *deferred* notification with
  `NOTIFCATION_THEME_CHANGED` as introduced in #62845.
- Some classes use their `THEME_CHANGED` to cache theme items in
  member variables (e.g. `style_normal`, etc.), and use those member
  variables in `ENTER_TREE`, `READY`, `DRAW`, etc. Since the `THEME_CHANGE`
  notification is now deferred, they end up accessing invalid state and this
  can lead to not applying theme properly (e.g. for EditorHelp) or crashing
  (e.g. for EditorLog or CodeEdit).

So we need to go back to the drawing board and see if `THEME_CHANGED` can be
called earlier so that the previous logic still works?

Or can we refactor all engine code to make sure that:
- `ENTER_TREE` and similar do not depend on theme properties cached in member
  variables.
- Or `THEME_CHANGE` does trigger a general UI update to make sure that any
  bad theme handling in `ENTER_TREE` and co. gets fixed when `THEME_CHANGE`
  does arrive for the first time. But that means having a temporary invalid
  (and possibly still crashing) state, and doing some computations twice
  which might be heavy (e.g. `EditorHelp::_update_doc()`).
2022-08-29 11:11:29 +02:00
..
canvas_item.cpp Merge pull request #64422 from bruvzg/make_fonts_unbearably_ugly_2.0 2022-08-26 11:59:07 +02:00
canvas_item.h Add font LCD sub-pixel anti-aliasing support. 2022-08-23 08:47:21 +03:00
canvas_layer.cpp Merge pull request #64355 from Mickeon/rename-follow-viewport 2022-08-25 18:34:19 +02:00
canvas_layer.h Make _validate_property a multilevel method 2022-08-22 18:35:11 +03:00
http_request.cpp Add suffixes to all nodes and resources 2022-06-11 09:41:05 -05:00
http_request.h Code quality: Fix header guards consistency 2022-07-25 11:17:40 +02:00
instance_placeholder.cpp Update copyright statements to 2022 2022-01-03 21:27:34 +01:00
instance_placeholder.h Update copyright statements to 2022 2022-01-03 21:27:34 +01:00
missing_node.cpp Add a new HashMap implementation 2022-05-12 11:21:29 +02:00
missing_node.h Add a new HashMap implementation 2022-05-12 11:21:29 +02:00
multiplayer_api.cpp [MP] Fix variant serialization after variant size change. 2022-08-24 19:46:55 +02:00
multiplayer_api.h [Net] Modularize multiplayer, expose MultiplayerAPI to extensions. 2022-07-26 09:31:12 +02:00
multiplayer_peer.cpp [Net] Modularize multiplayer, expose MultiplayerAPI to extensions. 2022-07-26 09:31:12 +02:00
multiplayer_peer.h [Net] Modularize multiplayer, expose MultiplayerAPI to extensions. 2022-07-26 09:31:12 +02:00
node.cpp Merge pull request #64570 from KoBeWi/node🧳ing 2022-08-26 09:49:58 +02:00
node.h Merge pull request #64570 from KoBeWi/node🧳ing 2022-08-26 09:49:58 +02:00
resource_preloader.cpp Add tests for empty/unnamed arguments to ClassDB, Variant, GDScript 2022-08-08 16:36:01 +03:00
resource_preloader.h Replace most uses of Map by HashMap 2022-05-16 10:37:48 +02:00
scene_tree.cpp Replace Array return types with TypedArray 2 2022-08-23 23:21:32 +02:00
scene_tree.h Replace Array return types with TypedArray 2 2022-08-23 23:21:32 +02:00
SCsub
shader_globals_override.cpp Rename RenderingServer global shader uniform methods to be more explicit 2022-07-28 18:46:59 +02:00
shader_globals_override.h Update copyright statements to 2022 2022-01-03 21:27:34 +01:00
timer.cpp Use suffixes for units in nodes and resources 2022-05-19 14:34:27 -05:00
timer.h Update copyright statements to 2022 2022-01-03 21:27:34 +01:00
viewport.cpp Remove Inspector tooltip hack that never actually worked 2022-08-26 17:22:13 +03:00
viewport.h Fix warp_mouse for transient windows, smoother mouse positioning when releasing mouse for spinbox 2022-08-25 11:30:49 +02:00
window.cpp Merge pull request #64777 from bruvzg/extend_to_title 2022-08-26 23:03:31 +02:00
window.h Revert "Remove NOTIFICATION_ENTER_TREE when paired with NOTIFICATION_THEME_CHANGED" 2022-08-29 11:11:29 +02:00