It appears that Object::script may be a valid ScriptInstance but not be
castable to Ref<Script>. There were only 5 places in the code that made
this assumption. This commit fixes that.
(cherry picked from commit 20b0046945bfe55591c370e32f4928f7cbeb45e6)
We used to abort if the system-specific data folder (e.g. `~/.local`
or `%APPDATA%`) is missing, but the next code chunk actually creates
it with `make_dir_recursive` if missing.
Fixes#26598.
(cherry picked from commit c0050d9295c1fd9b428782e49a60d67d83ef892b)
Fixes#20119 where newly installed templates were not detected.
Also fix a bug with preset deletion where it would attempt to
edit an already removed preset. For this I made it so that
ItemList::deselect_all() also resets `current` to -1, as a manual
ItemList::deselect(idx) already does.
(cherry picked from commit 13239cd4cc271ba4ccac59a060012129829dfc5f)
KEY_MASK_CMD is automatically replaced by KEY_MASK_CTRL on non-OSX
and KEY_MASK_META (Command key) on OSX, so it should be used for all
Ctrl/Cmd + key shortcuts.
Also de-hacked the macOS shortcut replacements with proper conditional
definition. Not tested on macOS, cannot judge if they are good shortcuts.
Fixes#10761.
(cherry picked from commit 3f09cac267ad351307b4dfcc7e4276ef4347c459)
We want to add the individual strings to the list
and not add a list object to the list.
Without this patch, sorting failed because "str < list"
is not a valid operation in python.
(cherry picked from commit f3125823268c414e7538d440cffe3c8a95294cad)
Removed unnecessary word wrap which caused broken tags and general
ugliness. Fixes#24926
(cherry picked from commit 8b1b2f6a4cfb65d186097e29d4979838e9114685)
(cherry picked from commit 57e6b8781ca311ffd919f25a2c36039f45866c2a,
with later renaming from efd4228892eb41ef3980ffec43b2095a54ea1d12
and 563356109b12b3296b9359973329d7499dbfaa98)
Previously we had a check to see if cache and data directories exist and
another check to try to make them if they do not. However the second
check was never reached if we don't have the directories in question.
Furthermore for cache directories on Linux people who never started a
desktop environment we need to recurisively create the XDG directory as
well as the godot specific directory.
This fixes#17963
(cherry picked from commit 321ac5ae136635a12925c97d078153a5cae44f3d)
This reverts commits 28ab60422d648d43d219186ea0ecffce1645188f
and 7821b70a00768cb99c0b48450eabe5a687ae276c.
Fixes#19576, and likely the fact that subresources are no
longer saved when saving scenes with no change.
(cherry picked from commit 5d7f9f804a238f48115b488b93261f68940d3eb5)
Fixes#18636, so now LinkButtons (like those in the asset store) will change font colour to remain visible in any engine theme, just like Labels etc
(cherry picked from commit c364a1278e1e499f40dccadbd78b76bbe6e44604)