Age | Commit message (Collapse) | Author |
|
Improve UX of drive letters
|
|
|
|
Namely, move the drive dropdown to just the left of the path text box and don't include the former
in the latter.
This improves the UX on Windows.
In the UNIX case, since its concept of drives is (ab)used to provide shortcuts to useful paths, its
dropdown is kept at the original location.
|
|
Main:
- It's now implemented thanks to `<mutex>`. No more platform-specific implementations.
- `BinaryMutex` (non-recursive) is added, as an alternative for special cases.
- Doesn't need allocation/deallocation anymore. It can live in the stack and be part of other classes.
- Because of that, it's methods are now `const` and the inner mutex is `mutable` so it can be easily used in `const` contexts.
- A no-op implementation is provided if `NO_THREADS` is defined. No more need to add `#ifdef NO_THREADS` just for this.
- `MutexLock` now takes a reference. At this point the cases of null `Mutex`es are rare. If you ever need that, just don't use `MutexLock`.
- Thread-safe utilities are therefore simpler now.
Misc.:
- `ScopedMutexLock` is dropped and replaced by `MutexLock`, because they were pretty much the same.
- Every case of lock, do-something, unlock is replaced by `MutexLock` (complex cases where it's not straightfoward are kept as as explicit lock and unlock).
- `ShaderRD` contained an `std::mutex`, which has been replaced by `Mutex`.
|
|
Broken after cae0d8853d7a373ad8720289c12c7c2e7b5ef240 .
|
|
Disable NetSocket reuse address on Windows.
|
|
It actually means reuse port -.- ...
|
|
|
|
Also, optimized shader compilation to happen on threads.
|
|
Improve the console error logging appearance
|
|
This makes `OS.execute()` calls quicker to set up when calling programs
in a blocking fashion.
|
|
This makes secondary information less visually prominent
to improve overall readability.
Various loggers were also tweaked for consistency.
|
|
This prevents Godot from writing ANSI escape codes when redirecting
stdout and stderr to a file.
|
|
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.
|
|
Use print_verbose instead of ERR_* for network errors.
|
|
Add method `set_broadcast_enabled` to allow enabling broadcast via
GDScript.
|
|
|
|
|
|
Disable file descriptor sharing with subprocs.
|
|
The misterious windows networking stack...
Using connect instead of WSAConnect causes socket error 10022 under
certain conditions.
See: https://github.com/godotengine/webrtc-native/ (issue 6)
Having to guess, code path for connect is different then WSAConnect with
NULL extra parameters.
The only reference about weird error with this code mentions something
called "Windows Filtering Platform" but windows internals are, as
always, obscure.
This might be something to try and report to Microsoft if anyone has the
time to spare with the likely outcome of being ignored.
|
|
for macOS CI.
|
|
Disable socket descriptor sharing with subprocs.
|
|
Optional Unix Socket disable for devices that do not support it
|
|
On Unix systems, file descriptors are usually shared among child
processes.
This means, that if we spawn a subprocess (or we fork) like we do in
the editor any open file descriptor will leak to the new process.
This PR sets the close-on-exec flag when opening a file, which causes
the file descriptor to not be shared with the child process.
|
|
On Unix systems, sockets are like file descriptors, and file descriptors
are usually shared among child processes.
This means, that if we spawn a subprocess (or we fork) like we do in the
editor, open file descriptors will leak to the new process.
This causes issue with sockets as they might remain open and bound
(listening) when the original process closes.
|
|
Fixes this error:
```
drivers\unix\ip_unix.cpp(155): error C2593: 'operator =' is ambiguous
.\core/ustring.h(177): note: could be 'void String::operator =(const CharType *)'
.\core/ustring.h(176): note: or 'void String::operator =(const char *)'
drivers\unix\ip_unix.cpp(155): note: while trying to match the argument list '(String, int)'
```
|
|
|
|
|
|
Updated documentation accordingly.
Fixes #31881.
|
|
|
|
EditorSettings::set_project_metadata: creates project_metadata.cfg if it doesn't exist
EditorPlugin::get_config: removed (not used)
Fixes #31444
|
|
Condensed some if and ERR statements. Added dots to end of error messages
Couldn't figure out EXPLAINC. These files gave me trouble: core/error_macros.h, core/io/file_access_buffered_fa.h (where is it?),
core/os/memory.cpp,
drivers/png/png_driver_common.cpp,
drivers/xaudio2/audio_driver_xaudio2.cpp (where is it?)
|
|
|
|
On some file systems, like ext4 on Linux, readdir() gives enough
information to determine the entry type in order to avoid doing
a stat() system call.
Use this information and call stat() only if necessary: for file
systems that do not support this feature and for links.
|
|
|
|
On some file systems, like ext4 on Linux, readdir() gives enough
information to determine the entry type in order to avoid doing
a stat() system call.
Use this information and call stat() only if necessary.
|
|
|
|
|
|
Remove unnecessary code and add some error explanations
|
|
|
|
Replace ` + "/" + ` with `String::file_add()`
|
|
|
|
Disable SO_NOSIGPIPE socket option when avaiable.
Use MSG_NOSIGNAL send flag on systems that support it.
|
|
Remove redundant code, possible NULL pointers and others
|
|
|
|
|
|
Multicast, more network interfaces info
|
|
|
|
Allow getting interfaces names and assigned names.
On UWP this is not supported, and the function will return one interface
for each local address (with interface name the local address itself).
|
|
Remove always true/false values
|