summaryrefslogtreecommitdiff
path: root/core
AgeCommit message (Collapse)Author
2020-01-22Merge pull request #35423 from Faless/fix/object_emit_freeRémi Verschelde
Make sure we know when deleting an emitting object
2020-01-22Make sure we know when deleting an emitting objectFabio Alessandrelli
We used a lock signals in the signal_map while emitting, because it was not allowed to disconnect them while being emitted. We used that lock to check if we where deleting an object during signal emission. Now that we allow to disconnect signals while they are being emitted, if an object first disconnects, then gets deleted we can't know that a signal was being emitted during the destructor. This commit adds a new `_emitting` boolean member to Object to be set while emitting and checked in the destructor, while removing the old signal lock which is now unused.
2020-01-22Thread: Fix typo in destructor error messageRémi Verschelde
2020-01-22Fixes leak when importing zip in AssetLibHaoyu Qiu
2020-01-21Merge pull request #35408 from Faless/ws/fix_packet_countRémi Verschelde
Fix MultiplayerAPI crash when peer implementation misbehave.
2020-01-21Fix MultiplayerAPI crash when peer impl misbehave.Fabio Alessandrelli
Also fix WebSocketMultiplayer::get_available_packet_count() return value when peer is not configured to use the multiplayer API.
2020-01-20Fix AtlasPacker ignoring semi-transparent pixelsEric Rybicki
Fixes #33106
2020-01-20Merge pull request #35345 from timothyqiu/pck-packer-leakRémi Verschelde
Fixes leak when calling PCKPacker::pck_start multiple times
2020-01-20Fixes leak when pck_start multiple timesHaoyu Qiu
2020-01-20Fixes XMLParser leak when open multiple timesHaoyu Qiu
2020-01-19PacketPeer use heap buffer for var encoding.Fabio Alessandrelli
Used to allocate in stack (via alloca) which causes crashes when trying to encode big variables. The buffer grows as needed up to `encode_buffer_max_size` (which is 8MiB by default) and always in power of 2.
2020-01-14Merge pull request #35092 from AndreaCatania/frames_expRémi Verschelde
Exposed physics frame count and idle frame count
2020-01-13Object: Avoid error on emit_signal with freed targetRémi Verschelde
As advised by @reduz.
2020-01-13Exposed physics frame count and idle frame countAndrea Catania
2020-01-13Object: Remove error on disconnect of locked signalsRémi Verschelde
According to https://github.com/godotengine/godot/commit/22637beb2ed625c3e43ab75ab5865b57d7470948#commitcomment-36651823 and as confirmed by @reduz, this seems not to be necessary now that we copy-on-write. This triggered freeze scenarios in cases where a node would be deleted while being used as a target in a signal emission. Fixes #34650. Fixes #34769. Now those two errors go back to reporting: ``` ERROR: emit_signal: Condition ' !target ' is true. Continuing..: At: core/object.cpp:1191. ```
2020-01-13Revert "Enable Vsync via Compositor by default"Rémi Verschelde
This reverts commit 9600fd5dde1f85b7dd2dd8558d52ff86b18651e7. Add comment warning about possible implications of using this option. Fixes #35038.
2020-01-10[macOS] Load PCK from the .app bundle resources, instead of changing working ↵bruvzg
directory.
2020-01-10Merge pull request #34968 from Calinou/enable-vsync-via-compositorRémi Verschelde
Enable Vsync via Compositor by default
2020-01-09Enable Vsync via Compositor by defaultHugo Locurcio
This feature was added in #33414 but it was disabled by default. Now that it got some testing, it's probably safe to enable it by default.
2020-01-09GDScript: Validate object instance on `is` operationGeorge Marques
Avoids crashes on debug mode. Instead it now breaks the execution and show the error in-editor. Will still crash on release. Also add a similar check to Marshalls to ensure the debugger doesn't crash when trying to serialize the invalid instance.
2020-01-08Check if resource exists before loadingTomasz Chabora
2020-01-08Merge pull request #34875 from neikeq/api-hash-no-underscore-methodbindsRémi Verschelde
ClassDB: Exclude method binds starting with '_' from API hash
2020-01-07ClassDB: Exclude method binds starting with '_' from API hashIgnacio Etcheverry
These methods are not meant to be part of the scripting API. These are not the same as virtual methods starting with '_', e.g.: '_process'.
2020-01-06Merge pull request #34020 from gytsen/unify-pack-versionRémi Verschelde
PCK: Set VERSION_PATCH in header, factor out header magic
2020-01-06Merge pull request #34296 from timothyqiu/lock-33072Rémi Verschelde
Fixes crash when using Resource::_take_over_path
2020-01-06PCK: Set VERSION_PATCH in header, factor out header magicJoost Heitbrink
Unify pack file version and magic to avoid hardcoded literals. `version.py` now always includes `patch` even for the first release in a new stable branch (e.g. 3.2). The public name stays without the patch number, but `Engine.get_version_info()` already included `patch == 0`, and we can remove some extra handling of undefined `VERSION_PATCH` this way. Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2020-01-06Merge pull request #33967 from Calinou/add-os-is-window-focusedRémi Verschelde
Add an `OS.is_window_focused()` getter
2020-01-03Merge pull request #34782 from akien-mga/multiplayerapi-set_network_peer-invalidRémi Verschelde
MultiplayerAPI: Fix disconnect errors when passing invalid peer
2020-01-03Merge pull request #34772 from clayjohn/ETC-support-alphaRémi Verschelde
Fallback to RGBA4444 for textures with alpha set to ETC compression
2020-01-03Merge pull request #34726 from nekomatata/polygon2d-antialiasing-fixRémi Verschelde
Fixed antialiasing option for Polygon2D with concave/hollow shapes
2020-01-03MultiplayerAPI: Fix disconnect errors when passing invalid peerRémi Verschelde
Fixes #34634.
2020-01-03Merge pull request #34688 from sheepandshepherd/gdnative_class_ptrRémi Verschelde
Expose is_class_ptr to GDNative for dynamic casts
2020-01-02Fallback to RGBA4444 for textures with alpha set to ETC compressionclayjohn
2020-01-03Expose cast_to to GDNative for dynamic castssheepandshepherd
2020-01-02Merge pull request #34476 from volzhs/no-slash-localize_pathRémi Verschelde
Make sure no additional slash being added with localize_path
2020-01-02Merge pull request #34618 from qarmin/vector_please_dont_crashRémi Verschelde
Don't use constant reference in Vector push_back, insert and append_array
2020-01-02Merge pull request #34745 from timothyqiu/vararg-return-nil-34743Rémi Verschelde
Allows to doc vararg method return type as void
2020-01-02Object::disconnect: Better errors when no signal or lockedRémi Verschelde
It will now give information about the originating object instance and when locked, the target callback. This should help debugging editor and game issues that are now being reported due to adding signal locking in 22637beb2ed625c3e43ab75ab5865b57d7470948.
2020-01-02Allows to doc vararg method return type as voidHaoyu Qiu
2020-01-01Fixed antialiasing option for Polygon2DPouleyKetchoupp
Some cases were not handled properly for Polygon2D after making changes in common code to fix Line2D antialiasing. Added an option for drawing polygons to differentiate the two use cases. Fixes #34568
2020-01-01Update copyright statements to 2020Rémi Verschelde
Happy new year to the wonderful Godot community! We're starting a new decade with a well-established, non-profit, free and open source game engine, and tons of further improvements in the pipeline from hundreds of contributors. Godot will keep getting better, and we're looking forward to all the games that the community will keep developing and releasing with it.
2019-12-30Merge pull request #34682 from Calinou/os-exit-code-nonportable-warningRémi Verschelde
Print a warning message if `OS.exit_code` is set to a non-portable value
2019-12-29Print a warning message if `OS.exit_code` is set to a non-portable valueHugo Locurcio
This also improves the related documentation.
2019-12-29Add ord() function to Expression classDanil Alexeev
The ord() function was recently added in GDScript and VisualScript, but was missed in the Expression class.
2019-12-26Don't use constant reference in Vector push_back, insert and append_arrayRafał Mikrut
2019-12-22Fix buffers size calculation in PacketPeerStream.Fabio Alessandrelli
The calculation used to be wrong when exactly at a power of 2. `nearest_shift` always return the "next" power of 2 `nearest_shift(4) == 3 # 2^3 = 8`. On the other hand `next_power_of_2` returns the exact value if that value is a power of 2 (i.e. `next_power_of_2(4) == 4`). I.e. : ``` WARN_PRINT(itos(next_power_of_2(4)) + " " + itos(1 << nearest_shift(4))); // WARNING: ... : 4 8 ``` Is this by design?
2019-12-20Make sure no additional slash being added with localize_pathvolzhs
2019-12-20Encodes property names properly in project.godotHaoyu Qiu
2019-12-19Merge pull request #34421 from Chaosus/fix_strcpy_warningRémi Verschelde
Fix build warning in ustring.cpp on Windows/MSVC platform
2019-12-18Suggest use of deferred or oneshot on disconnect if the signal is locked. ↵Juan Linietsky
Closes #34443.