Commit graph

55465 commits

Author SHA1 Message Date
kleonc
edba45ec8b Fix click-selecting Sprites with repeated texture 2023-06-22 16:37:08 +02:00
Gilles Roudière
bca1f91291 Fixes crash in TileSetAtlasSourceEditor 2023-06-22 15:03:53 +02:00
bitsawer
ef00de99b4 Fix error spam when a mesh with bone weights has an invalid skeleton 2023-06-22 15:58:52 +03:00
Yuri Sizov
e74bf831c2
Merge pull request from dalexeev/gds-fix-prop-list-name-check
GDScript: Remove unnecessary name check in `_get_property_list()`
2023-06-22 12:51:03 +02:00
Yuri Sizov
57e61db115
Merge pull request from RedworkDE/net-no-reload-noncollectible
C#: Fix editor integration breaking and causing error spam when reloading assemblies fails
2023-06-22 12:45:02 +02:00
Yuri Sizov
b0299c9ad1
Merge pull request from rcorre/register-language-race
Fix a race condition in ScriptServer
2023-06-22 12:44:25 +02:00
Danil Alexeev
84c8946565
GDScript: Remove unnecessary name check in _get_property_list() 2023-06-22 12:41:44 +03:00
Bastiaan Olij
2bc85f9ac6 Fix incorrect depth buffer option in OpenXR 2023-06-22 19:03:08 +10:00
Rémi Verschelde
95f561dc30
Merge pull request from BWPanda/patch-1
Fix example in JSON class.
2023-06-22 10:30:11 +02:00
Rémi Verschelde
3e09b0bfa7
Merge pull request from Wuqiqi123/free_depth_texture_when_frame_buffer_check_failed
Free depth texture after check framebuffer complete failed
2023-06-22 10:30:07 +02:00
Rémi Verschelde
9d9740fc35
Merge pull request from dinoplane/fix-sat-slider
Use cached saturation for color picker when value is 0
2023-06-22 10:30:04 +02:00
Rémi Verschelde
d40c45ed99
Merge pull request from L4Vo5/clarify-deferred
Clear up misconceptions about when deferred things run in the docs
2023-06-22 10:29:56 +02:00
Qiqi Wu
df740f6865 free color and depth texture after check framebuffer complete failed 2023-06-22 09:13:24 +08:00
Peter Anderson
0f64c6a952
Fix example in JSON class. 2023-06-21 22:41:14 +00:00
dinoplane
e11e9d2b9a Use cached saturation for color picker when value is 0 2023-06-21 15:18:20 -07:00
Rémi Verschelde
b6ba664830
Merge pull request from jeanahelver/master
Fix missing enum value for `Window.initial_position`
2023-06-21 23:22:00 +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
clayjohn
8a5af8183a Add warnings and fallbacks for particles sub emitters when using the GL Compatibility rendering backend
Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro>
2023-06-21 12:56:52 -07:00
Rémi Verschelde
f2ce0b6741
Merge pull request from jpcerrone/fix_static_vars_refs
Fix errors destroying script with static variables
2023-06-21 21:52:15 +02:00
Rémi Verschelde
1e44b47970
Merge pull request from BastiaanOlij/fix_stereo_decals
Apply reprojection in multiview for our cluster lookup
2023-06-21 21:51:52 +02:00
Rémi Verschelde
e68270cace
Merge pull request from paulloz/dotnet-check-projectpath-not-solutionpath
Fix condition blocking .NET project build
2023-06-21 21:51:29 +02:00
Rémi Verschelde
faf3faa8c8
Merge pull request from dalexeev/gds-reset-block-locals-on-exit
GDScript: Reset local variables on exit from block
2023-06-21 21:51:05 +02:00
Rémi Verschelde
81a0199be4
Merge pull request from anvilfolk/sadrevert
GDScript: fix regression when checking for virtual function implementation
2023-06-21 21:50:33 +02:00
ocean (they/them)
6c28b8edd3 GDScript: fix regression when checking for virtual function implementation.
Unfortunately it appears the virtual function checks in  are not
trustworthy at runtime, because objects can have scripts attached, but
this information is not always available at compile-time. These checks
need to be removed.

The rest of the PR is still useful, making all method flags available to
the analyzer, so a full revert isn't necessary/desirable.

This reopens , which will need another solution.
2023-06-21 15:13:45 -04:00
Paul Joannon
dbdbe5b042
Fix condition blocking .NET project build
Since , the build commands are called on project files instead of solution ones.
2023-06-21 20:13:32 +02:00
jpcerrone
8ce8216d17 Fix errors destroying script with static variables
Fixes 
After  'script_list' is now cleared in 'GDScriptLanguage::finish'
Because of that, we can safely remove the removal from that list that
happens on 'GDScript::~GDScript'.
2023-06-21 12:33:21 -03:00
Rémi Verschelde
28a60b3de0
Merge pull request from Bromeon/feature/gdextension-since
Add GDExtension `@since` attribute
2023-06-21 16:17:07 +02:00
Ryan Roden-Corrent
731a13a1ba
Fix race in ScriptServer.
Fixes .

TSAN flagged this issue on starting the editor:

1. main calls register_core_types, which calls IP::create(), which calls Thread::start on the resolver thread
2. Thread::callback calls ScriptServer::thread_enter(), as "Scripts may need to attach a stack."
3. ScriptServer::thread_enter() accesses ScriptServer::_languages, which is still being initialized on the main thread by initialize_gdscript_module

This fixes the issue by skipping thread enter/exit notifications if languages have not finished initializing yet.
I'm assuming that notifying un-initialized languages of thread starts/stops would have been pointless anyways. If we need to somehow notify languages of threads before the languages initialize, we'll need a different solution.

```
Godot Engine v4.0.2.stable.custom_build.7a0977ce2 - https://godotengine.org
==================
WARNING: ThreadSanitizer: data race (pid=9426)
  Write of size 4 at 0x55615b187cd0 by main thread:
     ScriptServer::register_language(ScriptLanguage*) /home/rcorre/src/godot/godot/core/object/script_language.cpp:177:28 (godot.linuxbsd.editor.x86_64.llvm.san+0x9e52ab9) (BuildId: 780a9db7c37d88e78d5ee659c4fa1cd378abd048)
     initialize_gdscript_module(ModuleInitializationLevel) /home/rcorre/src/godot/godot/modules/gdscript/register_types.cpp:118:3 (godot.linuxbsd.editor.x86_64.llvm.san+0x36f9c6f) (BuildId: 780a9db7c37d88e78d5ee659c4fa1cd378abd048)
     initialize_modules(ModuleInitializationLevel) /home/rcorre/src/godot/godot/modules/register_module_types.gen.cpp:93:2 (godot.linuxbsd.editor.x86_64.llvm.san+0x2f50499) (BuildId: 780a9db7c37d88e78d5ee659c4fa1cd378abd048)
     Main::setup2(unsigned long) /home/rcorre/src/godot/godot/main/main.cpp:1961:2 (godot.linuxbsd.editor.x86_64.llvm.san+0x2f1d40d) (BuildId: 780a9db7c37d88e78d5ee659c4fa1cd378abd048)
     Main::setup(char const*, int, char**, bool) /home/rcorre/src/godot/godot/main/main.cpp:1879:10 (godot.linuxbsd.editor.x86_64.llvm.san+0x2f16370) (BuildId: 780a9db7c37d88e78d5ee659c4fa1cd378abd048)
     main /home/rcorre/src/godot/godot/platform/linuxbsd/godot_linuxbsd.cpp:61:14 (godot.linuxbsd.editor.x86_64.llvm.san+0x2e67e1f) (BuildId: 780a9db7c37d88e78d5ee659c4fa1cd378abd048)

  Previous read of size 4 at 0x55615b187cd0 by thread T1:
     ScriptServer::thread_enter() /home/rcorre/src/godot/godot/core/object/script_language.cpp:244:22 (godot.linuxbsd.editor.x86_64.llvm.san+0x9e54aed) (BuildId: 780a9db7c37d88e78d5ee659c4fa1cd378abd048)
     Thread::callback(unsigned long, Thread::Settings const&, void (*)(void*), void*) /home/rcorre/src/godot/godot/core/os/thread.cpp:61:2 (godot.linuxbsd.editor.x86_64.llvm.san+0x9464ab0) (BuildId: 780a9db7c37d88e78d5ee659c4fa1cd378abd048)
     void std::__invoke_impl<void, void (*)(unsigned long, Thread::Settings const&, void (*)(void*), void*), unsigned long, Thread::Settings, void (*)(void*), void*>(std::__invoke_other, void (*&&)(unsigned long, Thread::Settings const&, void (*)(void*), void*), unsigned long&&, Thread::Settings&&, void (*&&)(void*), void*&&) /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/12.2.1/../../../../include/c++/12.2.1/bits/invoke.h:61:14 (godot.linuxbsd.editor.x86_64.llvm.san+0x9465283) (BuildId: 780a9db7c37d88e78d5ee659c4fa1cd378abd048)
     std::__invoke_result<void (*)(unsigned long, Thread::Settings const&, void (*)(void*), void*), unsigned long, Thread::Settings, void (*)(void*), void*>::type std::__invoke<void (*)(unsigned long, Thread::Settings const&, void (*)(void*), void*), unsigned long, Thread::Settings, void (*)(void*), void*>(void (*&&)(unsigned long, Thread::Settings const&, void (*)(void*), void*), unsigned long&&, Thread::Settings&&, void (*&&)(void*), void*&&) /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/12.2.1/../../../../include/c++/12.2.1/bits/invoke.h:96:14 (godot.linuxbsd.editor.x86_64.llvm.san+0x9465283)
     void std:🧵:_Invoker<std::tuple<void (*)(unsigned long, Thread::Settings const&, void (*)(void*), void*), unsigned long, Thread::Settings, void (*)(void*), void*>>::_M_invoke<0ul, 1ul, 2ul, 3ul, 4ul>(std::_Index_tuple<0ul, 1ul, 2ul, 3ul, 4ul>) /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/12.2.1/../../../../include/c++/12.2.1/bits/std_thread.h:258:13 (godot.linuxbsd.editor.x86_64.llvm.san+0x9465283)
     std:🧵:_Invoker<std::tuple<void (*)(unsigned long, Thread::Settings const&, void (*)(void*), void*), unsigned long, Thread::Settings, void (*)(void*), void*>>::operator()() /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/12.2.1/../../../../include/c++/12.2.1/bits/std_thread.h:265:11 (godot.linuxbsd.editor.x86_64.llvm.san+0x9465283)
     std:🧵:_State_impl<std:🧵:_Invoker<std::tuple<void (*)(unsigned long, Thread::Settings const&, void (*)(void*), void*), unsigned long, Thread::Settings, void (*)(void*), void*>>>::_M_run() /usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/12.2.1/../../../../include/c++/12.2.1/bits/std_thread.h:210:13 (godot.linuxbsd.editor.x86_64.llvm.san+0x9465283)
     execute_native_thread_routine /usr/src/debug/gcc/gcc/libstdc++-v3/src/c++11/thread.cc:82:18 (libstdc++.so.6+0xd72c2) (BuildId: 6fe66a2d539a78c993bd2d377e00fad389220963)

  Location is global 'ScriptServer::_language_count' of size 4 at 0x55615b187cd0 (godot.linuxbsd.editor.x86_64.llvm.san+0xbf46cd0)

  Thread T1 (tid=9431, running) created by main thread at:
     pthread_create <null> (godot.linuxbsd.editor.x86_64.llvm.san+0x2de5776) (BuildId: 780a9db7c37d88e78d5ee659c4fa1cd378abd048)
     __gthread_create /usr/src/debug/gcc/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu/bits/gthr-default.h:663:35 (libstdc++.so.6+0xd73a9) (BuildId: 6fe66a2d539a78c993bd2d377e00fad389220963)
     std:🧵:_M_start_thread(std::unique_ptr<std:🧵:_State, std::default_delete<std:🧵:_State>>, void (*)()) /usr/src/debug/gcc/gcc/libstdc++-v3/src/c++11/thread.cc:147:37 (libstdc++.so.6+0xd73a9)
     IP::IP() /home/rcorre/src/godot/godot/core/io/ip.cpp:347:19 (godot.linuxbsd.editor.x86_64.llvm.san+0x962cbcd) (BuildId: 780a9db7c37d88e78d5ee659c4fa1cd378abd048)
     IPUnix::IPUnix() /home/rcorre/src/godot/godot/drivers/unix/ip_unix.cpp:261:9 (godot.linuxbsd.editor.x86_64.llvm.san+0x4aee599) (BuildId: 780a9db7c37d88e78d5ee659c4fa1cd378abd048)
     IPUnix::_create_unix() /home/rcorre/src/godot/godot/drivers/unix/ip_unix.cpp:258:9 (godot.linuxbsd.editor.x86_64.llvm.san+0x4aee599)
     IP::create() /home/rcorre/src/godot/godot/core/io/ip.cpp:339:9 (godot.linuxbsd.editor.x86_64.llvm.san+0x962ca5e) (BuildId: 780a9db7c37d88e78d5ee659c4fa1cd378abd048)
     register_core_types() /home/rcorre/src/godot/godot/core/register_core_types.cpp:279:7 (godot.linuxbsd.editor.x86_64.llvm.san+0x93e2333) (BuildId: 780a9db7c37d88e78d5ee659c4fa1cd378abd048)
     Main::setup(char const*, int, char**, bool) /home/rcorre/src/godot/godot/main/main.cpp:690:2 (godot.linuxbsd.editor.x86_64.llvm.san+0x2f08a49) (BuildId: 780a9db7c37d88e78d5ee659c4fa1cd378abd048)
     main /home/rcorre/src/godot/godot/platform/linuxbsd/godot_linuxbsd.cpp:61:14 (godot.linuxbsd.editor.x86_64.llvm.san+0x2e67e1f) (BuildId: 780a9db7c37d88e78d5ee659c4fa1cd378abd048)

SUMMARY: ThreadSanitizer: data race /home/rcorre/src/godot/godot/core/object/script_language.cpp:177:28 in ScriptServer::register_language(ScriptLanguage*)
```

Co-authored-by: Pedro J. Estébanez <RandomShaper@users.noreply.github.com>
2023-06-21 09:52:10 -04:00
Rémi Verschelde
a2ce7a8f88
Merge pull request from kinami-imai/SSDinaTvuI8geW91IGFsbAo=
Fix lambda parsing continuing on subsequent lines
2023-06-21 13:52:42 +02:00
今井きなみ
bf04c55175 Fix lambda parsing continuing on subsequent lines 2023-06-21 12:56:57 +02:00
RedworkDE
e0f644a48d C#: Fix editor integration breaking and causing error spam when reloading assemblies fails
- Do not reload scripts from non-collectible assemblies
- Do not load GodotTools as collectible
- Do not attempt to reload the same project assembly forever
2023-06-21 12:47:52 +02:00
Jan Haller
9ddd3c2af6 GDExtension @since attribute
All GDExtension function pointer types are versioned using a `@since` attribute, denoting the Godot minor version in
which they were introduced. This allows bindings to query if a feature is available for a target API version, or provide
a polyfill/fallback for it. It also serves as documentation for humans giving a feeling about recency of features.
2023-06-21 12:47:48 +02:00
Rémi Verschelde
ee41b2097c
Merge pull request from MewPurPur/redraw-code-edit-on-mouse-exit
Hide breakpoint indicator when mouse leaves CodeEdit
2023-06-21 12:43:01 +02:00
Rémi Verschelde
735bf14ae7
Merge pull request from angel-721/test-http
Add HTTPClient unit tests
2023-06-21 12:42:54 +02:00
angel-721
ab4e89ecde
Add HTTPClient unit tests 2023-06-21 11:53:55 +02:00
MewPurPur
6e182d41f4 Hide breakpoint indicator when mouse leaves CodeEdit 2023-06-21 11:30:40 +02:00
Yuri Sizov
ebd44641c5
Merge pull request from KoBeWi/too_slow
Update indices after removing custom data layers
2023-06-21 11:19:36 +02:00
Yuri Sizov
4fc045e9b5
Merge pull request from timothyqiu/tile-resize-clamp
Fix tile resizing towards atlas boundary
2023-06-21 11:19:24 +02:00
Rémi Verschelde
ada712e06a
Merge pull request from timothyqiu/gridmap-selection
Fix GridMap tile picking when a search filter is applied
2023-06-21 10:20:11 +02:00
Rémi Verschelde
5285927f51
Merge pull request from lyuma/import_tracks_single_clip
Fix Import Tracks import setting for single clip
2023-06-21 10:19:47 +02:00
Rémi Verschelde
d252f43a86
Merge pull request from Scony/add-agent-n-map-navserver-tests
Add `agent` and `map` tests for 'NavigationServer3D'
2023-06-21 10:19:24 +02:00
Rémi Verschelde
3e5c50bc2f
Merge pull request from Ryan-000/master
Clarify that authority is not automatically replicated
2023-06-21 10:19:00 +02:00
Rémi Verschelde
78518be194
Merge pull request from lpriebe/editor-run-arg-split-fix
Prevent quoted args in `editor/main_run_args` from being split at spaces
2023-06-21 10:18:37 +02:00
Rémi Verschelde
9e56f28d0e
Merge pull request from Rindbee/fix-wrong-description-in-EditorSettings
Fix wrong descriptions in EditorSettings
2023-06-21 10:18:09 +02:00
Rémi Verschelde
5025d95d41
Merge pull request from Uxeron/AudioListener2DRotationFix
Fix AudioListener2D ignoring rotation for positional audio
2023-06-21 10:17:37 +02:00
Uxeron
20ceba9e82 Fix AudioListener2D ignoring rotation 2023-06-21 08:10:01 +03:00
Haoyu Qiu
42faab826d Fix GridMap tile picking when a search filter is applied 2023-06-21 12:02:07 +08:00
Bastiaan Olij
952b4b3f38 Apply reprojection in multiview for our cluster lookup 2023-06-21 11:17:01 +10:00
kobewi
c1c5b0a435 Update indices after removing custom data layers 2023-06-21 03:12:53 +02:00
Yuri Sizov
38ae7b58d1
Merge pull request from ajreckof/you-know-when-you-want-to-search-this-member-you-don't-know-and-then-you-have-the-script-editor-all-over-the-place-now-it-should-not-happen-anymore-hopefully
Fix placement and style of the "Make Floating" button
2023-06-21 03:03:19 +02:00