Resolves: #30731
When you stop debugging... if you were inspecting a remote node, partial information about the remote node remained in the inspector (e.g. name and warning).
To resolve this, called EditorNode::edit_current() instead of EditorInspector::edit(NULL), which will call all the methods required using "NULL" if the current selected object is NULL.
In EditorPath::update_path() if the selected object is NULL, it does not update the path to reflect this change, basically does nothing. To fix this, we nullify everything, before the history loop.
Using `misc/scripts/fix_headers.py` on all Godot files.
Some missing header guards were added, and the header inclusion order
was fixed in the Bullet module.
- almost all the colors are generated now. They get adapted based on
the theme color. All the correct icons are used
- error label now uses error color
- added missing button colors in editor theme
Currently we rely on some undefined behavior when Object->cast_to() gets
called with a Null pointer. This used to work fine with GCC < 6 but
newer versions of GCC remove all codepaths in which the this pointer is
Null. However, the non-static cast_to() was supposed to be null safe.
This patch makes cast_to() Null safe and removes the now redundant Null
checks where they existed.
It is explained in this article: https://www.viva64.com/en/b/0226/
I can show you the code
Pretty, with proper whitespace
Tell me, coder, now when did
You last write readable code?
I can open your eyes
Make you see your bad indent
Force you to respect the style
The core devs agreed upon
A whole new world
A new fantastic code format
A de facto standard
With some sugar
Enforced with clang-format
A whole new world
A dazzling style we all dreamed of
And when we read it through
It's crystal clear
That now we're in a whole new world of code
The other subfolders of tools/ had already been moved to either
editor/, misc/ or thirdparty/, so the hiding the editor code that
deep was no longer meaningful.