Age | Commit message (Collapse) | Author |
|
|
|
This restores Windows platform file handling back to open files non-exlusively by default, as was the case before October 2018. (See https://github.com/godotengine/godot/commit/b902a2f2a7438810cdcb053568ed5c27089b1e8a)
Back then, while fixing warnings for MSVC, the function used for opening files was changed from _wfopen() to _wfopen_s() as suggsted by the warning C4996. ("This function may be unsafe, consider using _wfopen_s instead.")
This new function
1. did parameter validation and thus avoided some possible security issues due to nil pointers or wrongly terminated strings
2. it also changed the default file sharing for opened files from _SH_DENYNO (which was the implicit default for the previous _wfopen()) to _SH_SECURE.
_SH_DENYNO means every opened file could be opened by other calls (like is the default on other operating systems).
_SH_SECURE means if the file is opened with READ access, others can still read the same file, but if it is opened with WRITE access, others can't open it at all, not even to read.
This led to rarely occuring bugs on Windows, i.e. due to random access by Antivirus processes, or Godot/Windows not closing a file handle fast enough while trying to open it again elsewhere (i.e. project.godot, instead showing the Project manager, or saving shaders/debugging the game).
What this PR does it change the file access to a third method, _wfsopen(). This is still secure, doing parameter validation and thus avoids the warning, but it allows us to actually SET the file sharing parameter. And we set it to _SH_DENYNO, as it was implicitely before the change. (And as it currently is on all non-Windows platforms, where file sharing restrictions don't exist by default.)
Warning C4996 should really have been pointing this out. It should've been _wfsopen() all along. Let's hope this banishes those annoying, rare errors for all eternity.
Fixes #28036.
|
|
Fix action_get_events returning booleans instead of InputKey entries
|
|
|
|
|
|
|
|
Invert how `global_rate_scale` value works, and rename it to `playback_speed_scale`
|
|
`playback_speed_scale`
|
|
|
|
|
|
Fix Path3D initial forward calculation
|
|
|
|
LightningAA/minor_view_rotation_gizmo_improvements-4.0
Minor visual improvements to the viewport rotation gizmo (again)
|
|
|
|
Improve the inspector plugin documentation and remove a confusing statement
|
|
Ensure MSBuildPanel buttons are instantiated
|
|
The Transform::xform and xform_inv are made safe for Planes when using non-uniform scaling.
Optimization of calling sites to prevent loss of performance from the changes to xform(Plane).
|
|
Removes const from set functions on the Gizmos
|
|
|
|
Allow using the mouse wheel to navigate scene tabs
|
|
Fix LSP completion crashing on scene-less scripts
|
|
[4.0] [iOS] Use platform generated api to initialize iOS plugins
|
|
|
|
|
|
|
|
|
|
Fix theme property descriptions in the Inspector
|
|
|
|
Fix incorrect checking of uniform set to prevent error spam
|
|
Use subpasses to do 3D rendering and resolve in mobile renderer
|
|
|
|
Fix vertical scroll/zoom for precision touchpad on windows
|
|
|
|
Adds factor data for vertical mousewheel event, in line with horizontal mousewheel event
|
|
akien-mga/clang-warning-Wordered-compare-function-pointers
|
|
Add a missing call to disable warnings on a forked env for freetype's
`sfnt.c`.
|
|
Emscripten is LLVM-based so we want to follow the same logic. But we can't just
put it as a match in `methods.using_clang()` as that would mess with the
compiler version detection logic used to restrict old GCC and Clang releases.
|
|
It's raised for us on many comparators implemented to be able to store a struct
in `Set` or `Map` (who rely on `operator<` internally). In the cases I reviewed
we don't actually care about the ordering and we use the struct's function
pointers as that's the only distinctive data available.
|
|
OS: Fix used resource debug prints
|
|
|
|
|
|
These methods were broken by 22419082d9bedbc9dc060ea5784bb0871f8710a3
5 years ago and nobody complained, so maybe they're not so useful...
But at least this should restore them to a working state.
|
|
Change the editor update spinner color when updating continuously
|
|
Tests: Improve coverage for `File::get_csv_line()`
|
|
Fix LSP parsing get_node only from the scene root
|
|
[Net] Default @rpc annotation should be puppet, not master.
|
|
|
|
[Net] Fix ENetMultiplayerPeer status during connection.
|
|
Animation RESET spam less patch 2
|
|
Preserve original name in shader params cache
|