Age | Commit message (Collapse) | Author |
|
Fixes thread and process handles leak when running and killing project
from editor (caused by a missing CloseHandle call) plus a potential leak
when calling OS_Windows::execute with p_blocking and !r_pipe.
The leak could be easily observed with a Handles counter in Task Manager
(or Performance Monitor) for the Godot editor process.
|
|
This commit makes operator[] on Vector const and adds a write proxy to it. From
now on writes to Vectors need to happen through the .write proxy. So for
instance:
Vector<int> vec;
vec.push_back(10);
std::cout << vec[0] << std::endl;
vec.write[0] = 20;
Failing to use the .write proxy will cause a compilation error.
In addition COWable datatypes can now embed a CowData pointer to their data.
This means that String, CharString, and VMap no longer use or derive from
Vector.
_ALWAYS_INLINE_ and _FORCE_INLINE_ are now equivalent for debug and non-debug
builds. This is a lot faster for Vector in the editor and while running tests.
The reason why this difference used to exist is because force-inlined methods
used to give a bad debugging experience. After extensive testing with modern
compilers this is no longer the case.
|
|
|
|
-Project/Editor settings now show tooltips properly
-Settings thar require restart now will show a restart warning
-Video driver is now visible all the time, can be changed easily
-Added function to request current video driver
|
|
|
|
-Replaced some viewport size calls to screen size, since viewport size should be deprecated at this point..
|
|
|
|
|
|
Initialized the PID to -2, which will be the value returns in blocking-
mode where the PID is not available. (-1 was already taken to signify an
execution failure).
OS::execute will now properly return a non-OK error code when it fails
to execute the target file.
The documentation was rewritten to be very clear about the differences
between blocking and non-blocking mode.
Fixes #19056.
|
|
|
|
Add validation in set_custom_mouse_cursor
|
|
Check if the image is valid.
|
|
|
|
[x11] Preserve window size when calling this method.
[osx] Make sure it don't make the window resizable if it's not needed.
[windows] clean up the code.
|
|
Fix mouse confined and set_borderless_window
|
|
Fix cursor not displaying arrow when transiting from mode captured to
visible.
|
|
- Fix a bug when mouse is confined don't update the cursor shape.
- Don't let the mouse leave the window when resizing to a smaller
resolution when MOUSE_MODE_CONFINED.
- Fix set_borderless_window to preserve the actual video_mode.widht/height.
|
|
|
|
|
|
Experimental support for windows with per-pixel transparency.
|
|
- Adds q/quit option to console debugging
- Adds options (variable_prefix)
- Breaks into debugger with Ctrl-C in local debug mode (Unix/Windows)
- Added option to list all breakpoints
- Fixes add/remove breakpoint bug (invalid path parsing)
- Minor cleanup
|
|
Windows: ensure minimum possible timer resolution for sleep
|
|
|
|
Now generating mouse events from touch is optional (on by default) and it's performed by `InputDefault` instead of having each OS abstraction doing it. (*)
The translation algorithm waits for a touch index to be pressed and tracks it translating its events to mouse events until it is raised, while ignoring other pointers.
Furthermore, to avoid an stuck "touch mouse", since not all platforms may report touches raised when the window is unfocused, it checks if touches are still down by the time it's focused again and if so it resets the state of the emulated mouse.
*: In the case of Windows, since it already provides touch-to-mouse translation by itself, "echo" mouse events are filtered out to have it working like the rest.
On X11 a little hack has been needed to avoid a case of a spurious mouse motion event that is generated during touch interaction.
Plus: Improve/fix tracking of current mouse position.
** Summary of changes to settings: **
- `display/window/handheld/emulate_touchscreen` becomes `input/pointing_devices/emulate_touch_from_mouse`
- New setting: `input/pointing_devices/emulate_mouse_from_touch`
|
|
[Linux] Ensures that the custom cursor will be used when changing to
MOUSE_MODE_VISIBLE. Fix #3086
[Windows] Fix cursor flickering when MOUSE_MODE_HIDDEN.
[Mac] Fix possible cursor flicker when MOUSE_MODE_HIDDEN.
|
|
Windows).
|
|
|
|
Enable GLES2 on Windows.
|
|
|
|
|
|
Add new window setting: always on top
|
|
Implement more methods for OS on Desktop platforms
|
|
|
|
|
|
Current this is hardcoded as '1' for any platform except Unix. The
little is_wow64() dance is required to get correct output on a 32bit
compiled godot running on 64bit Windows according to MSDN.
This code should be UWP safe but I have no way to test that so it's not
implemented for UWP yet.
|
|
|
|
|
|
|
|
|
|
Implemented for Windows and Linux.
|
|
otherwise out of luck.
|
|
|
|
|
|
Custom hardware-accelerated mouse cursor
|
|
Happy new year to the wonderful Godot community!
|
|
|
|
Call needs to be routed via visual server to reach the proper thread.
|
|
Also rename stream_peer_winsock.* to stream_peer_tcp_winsock.* and
StreamPeerWinsock to StreamPeerTCPWinsock.
|
|
Closes #14663.
|
|
-Fixes to unwrapper (remove degenerates), makes Thekla not crash
-Added optional cancel button in EditorProgress
-Added function to force processing of events (needed for cancel button)
|