summaryrefslogtreecommitdiffstats
path: root/core/object
Commit message (Collapse)AuthorAgeFilesLines
* WorkerThreadPool: Fix end-of-yield logic potentially leading to deadlocksPedro J. Estébanez2024-09-171-1/+4
| | | | (cherry picked from commit 5dade0e08b6647cf4b836402a797e9b8f46052b1)
* Object: Let debug lock handle callee destruction within call chain gracefullyPedro J. Estébanez2024-09-171-4/+7
| | | | | Co-authored-by: lawnjelly <lawnjelly@gmail.com> (cherry picked from commit 10e2318bdeccdc33f95ebdb2c7683b816dda67fb)
* Fix virtual binding for `ScriptLanguageExtension::_reload_scripts`voidedWarranties2024-09-161-0/+1
| | | | (cherry picked from commit d65ea6fb9cc26359bb6f2aa704b2a6b7604c3fd3)
* Avoid potential crash on signal disconnectionPedro J. Estébanez2024-09-161-1/+5
| | | | (cherry picked from commit 32b7f835d8fd7466c58ed84a20c46ba9c802e36b)
* Fix global class cache file not present when no class nameHilderin2024-07-312-5/+0
|
* Fix use-after-free in WorkerThreadPoolAlvin Wong2024-07-291-1/+5
|
* Merge pull request #94526 from RandomShaper/wtp_rl_prize_prequelRémi Verschelde2024-07-191-5/+7
|\ | | | | | | Batch of fixes for WorkerThreadPool and ResourceLoader (safe set)
| * Fixup recent changes to threading concernsPedro J. Estébanez2024-07-161-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | ResourceLoader: - Fix invalid tokens being returned. - Remove no longer written `ThreadLoadTask::dependent_path` and the code reading from it. - Clear deadlock hazard by keeping the mutex unlocked during userland polling. WorkerThreadPool: - Include thread call queue override in the thread state reset set, which allows to simplify the code that handled that (imperfectly) in the ResourceLoader. - Handle the mutex type correctly on entering an allowance zone. CommandQueueMT: - Handle the additional possibility of command buffer reallocation that mutex unlock allowance introduces.
| * WorkerThreadPool: Fix wrong sync logic breaking task map integrityPedro J. Estébanez2024-07-151-3/+4
| |
* | Merge pull request #94238 from RandomShaper/ref_is_now_rcRémi Verschelde2024-07-171-1/+1
|\ \ | | | | | | | | | Make errors on `RefCounted.free()` more accurate
| * | Make errors on RefCounted.free() more accuratePedro J. Estébanez2024-07-151-1/+1
| | |
* | | Merge pull request #93942 from MikeSchulze/73525Rémi Verschelde2024-07-112-0/+16
|\ \ \ | |_|/ |/| | | | | Fix GDScript analyzer error when instantiating EditorPlugins.
| * | Fix gdscript analyzer error when instantiating EditorPlugins.baptr2024-07-102-0/+16
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Editor code is not instantiable outside of the editor (https://github.com/godotengine/godot/blob/1d14c054a12dacdc193b589e4afb0ef319ee2aae/core/object/class_db.cpp#L369). This is fine for editor plugins and the like, but the GDScript analyzer balks at it, causing F5 runs to fail: #73525. Instead, we really just want to know if the type is abstract - so add a new ClassDB method to check that and nothing else. Update core/object/class_db.cpp Apply code review comments Co-Authored-By: Bryce <1522777+baptr@users.noreply.github.com>
* / GDExtension: Fix setting base class properties on a runtime classDavid Snopek2024-07-082-19/+45
|/
* WorkerThreadPool: Fix wrong pointer used in the case of BinaryMutexPedro J. Estébanez2024-06-281-2/+2
|
* Merge pull request #93032 from RandomShaper/wtp_antilockRémi Verschelde2024-06-282-25/+90
|\ | | | | | | GDScript: Avoid deadlock possibility in multi-threaded load
| * WorkerThreadPool: Refactor deadlock prevention collaboration into a generic ↵Pedro J. Estébanez2024-06-192-25/+90
| | | | | | | | | | | | | | mechanism This is strictly beyond a refactor because it also changes when the mutexes are relocked, but that's only for extra safety.
* | Lookup method also in base scripts of a PlaceHolderScriptInstanceRaul Santos2024-06-221-1/+7
| |
* | Merge pull request #93288 from rune-scape/gdextension-const-stringname-weirdRémi Verschelde2024-06-181-37/+4
|\ \ | | | | | | | | | Object: Use const correct `GDExtensionConstStringNamePtr`
| * | Object: use correct GDExtensionConstStringNamePtrrune-scape2024-06-171-37/+4
| | |
* | | Make profiling_get_frame_data call the correct GDVIRTUAL method.Jovan Gerodetti2024-06-181-1/+1
|/ /
* | WorkerThreadPool: Fix thread message queue not restored after overridden in ↵Pedro J. Estébanez2024-06-132-5/+4
| | | | | | | | | | | | a task Also, simplifies the thread override teardown in MessageQueue.
* | Merge pull request #92827 from raulsntos/core/node-to_stringRémi Verschelde2024-06-121-0/+1
|\ \ | | | | | | | | | Use GDExtension `to_string` in Node
| * | Use GDExtension `to_string` in NodeRaul Santos2024-06-111-0/+1
| | | | | | | | | | | | Matches the `Object::to_string` implementation.
* | | Revert "Fix method name for custom callable"Rémi Verschelde2024-06-111-8/+6
| | | | | | | | | | | | | | | | | | This reverts commit e88095ed8fbc7039c1724e51ee84f154fdf49305. Fixes #92695.
* | | Expose several EngineDebugger methods and signals as plugin callbacksChris Cranford2024-06-101-0/+1
|/ /
* / Avoid editor error reporting using resource loader thread's call queuesPedro J. Estébanez2024-05-311-0/+1
|/
* Merge pull request #92350 from 4d49/undo-redo-fix-callable-nameRémi Verschelde2024-05-281-6/+8
|\ | | | | | | Fix `UndoRedo` method name for custom `Callable`
| * Fix method name for custom callableMansur Isaev2024-05-251-6/+8
| |
* | Fix `ClassDB` not checking for `API_EDITOR_EXTENSION`Mikael Hermansson2024-05-251-3/+3
|/
* Don't use `ERR_PRINT_ONCE()` for runtime class error because it will hide errorsDavid Snopek2024-05-211-1/+1
|
* Merge pull request #91909 from KoBeWi/have_fun_reviewing_thisRémi Verschelde2024-05-144-4/+0
|\ | | | | | | Use Core/Scene stringnames consistently
| * Use Core/Scene stringnames consistentlykobewi2024-05-134-4/+0
| |
* | Merge pull request #91630 from RandomShaper/enh_mat_sh_updateRémi Verschelde2024-05-132-59/+0
|\ \ | |/ |/| | | Let materials' shaders update happen on loader threads
| * Let materials' shaders update happen on loader threadsPedro J. Estébanez2024-05-062-59/+0
| |
* | Add shorthand for using singleton string nameskobewi2024-05-113-10/+10
| |
* | GDExtension: Prevent crash during shutdown as singletons are deletedDavid Snopek2024-05-101-3/+7
| |
* | Object: Add missing lockPedro J. Estébanez2024-05-081-3/+4
| |
* | Merge pull request #91570 from Naros/preferred_file_name_casing_defaultRémi Verschelde2024-05-071-1/+10
|\ \ | | | | | | | | | Add default implementation of `ScriptLanguageExtension::preferred_file_name_casing`
| * | Add default implementation of ↵Chris Cranford2024-05-041-1/+10
| |/ | | | | | | `ScriptLanguageExtension::preferred_file_name_casing`.
* / Reduce and prevent unnecessary random-access to `List`A Thousand Ships2024-05-043-11/+12
|/ | | | | | | | | Random-access access to `List` when iterating is `O(n^2)` (`O(n)` when accessing a single element) * Removed subscript operator, in favor of a more explicit `get` * Added conversion from `Iterator` to `ConstIterator` * Remade existing operations into other solutions when applicable
* Add PackedVector4Array Variant typeK. S. Ernest (iFire) Lee2024-05-031-0/+1
| | | | | Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com> Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
* Merge pull request #91247 from AThousandShips/callable_fixRémi Verschelde2024-04-292-4/+4
|\ | | | | | | Fix unsafe uses of `Callable.is_null()`
| * Fix unsafe uses of `Callable.is_null()`A Thousand Ships2024-04-272-4/+4
| | | | | | | | | | `Callable.is_null()` is not equivalent to `!Callable.is_valid()` and doesn't guarantee the call is valid.
* | GDExtension: provide `free_property_list_func` with length of arrayJan Haller2024-04-273-4/+11
|/
* Merge pull request #90540 from Repiteo/core/type-info-use-type-traitsRémi Verschelde2024-04-241-5/+5
|\ | | | | | | Core: Use `<type_traits>` where applicable
| * Core: Use `<type_traits>` where applicableThaddeus Crews2024-04-111-5/+5
| |
* | Merge pull request #90776 from Naros/avoid-script-language-not-overriddenRémi Verschelde2024-04-192-1/+9
|\ \ | | | | | | | | | Defer call to `set_break_language`
| * | Defer call to set_break_languageChris Cranford2024-04-162-1/+9
| | |
* | | Merge pull request #90447 from ↵Rémi Verschelde2024-04-191-8/+19
|\ \ \ | | | | | | | | | | | | | | | | | | | | dsnopek/gdextension-hot-reload-not-classdb-instantiate Fix GDExtension hot reload for classes not created via `ClassDB::instantiate()`