summaryrefslogtreecommitdiff
path: root/platform/windows
AgeCommit message (Collapse)Author
2020-08-26Fix WINDOW_EVENT_FOCUS_IN for popups on WindowsPouleyKetchoupp
On Windows, WINDOW_EVENT_FOCUS_IN was never sent by the display server for popups, because WM_ACTIVATE events are received during the call to _update_window_style, which happened before the callbacks were set. This was causing some issues with the way Popup is now handling closing on parent focus. Now _update_window_style is only called during show_window, after Window initialized callbacks.
2020-08-22Re-apply "Fixes for windows in X11 tiling WMs"PouleyKetchoupp
From PR #38727 which was reverted in #41373 because of regressions in Ubuntu with Gnome. Co-authored-by: Lorenzo Cerqua <lorenzocerqua@tutanota.com>
2020-08-19Revert "Fixes for windows in X11 tiling WMs"Juan Linietsky
2020-08-17[Windows] Fix modifier keys when using tablet input.bruvzg
2020-08-13Remove obsolete GLES2 backend codeRémi Verschelde
This code currently isn't compiled (and cannot compile). We plan to re-add OpenGL ES-based renderer(s) in Godot 4.0 alongside Vulkan (probably ES 3.0, possibly also a low-end ES 2.0), but the code will be quite different so it's not relevant to keep this old Godot 3.2 code. The `drivers/gles2` code from the `3.2` branch can be used as a reference for a potential new implementation.
2020-08-11[Windows] Attach to parent console instead of creating new one.bruvzg
2020-07-31DirectInput: use correct joypad idAndreas Haas
Previously `joypad_count` was used as the index into the d_joypads array when initializing a new gamepad. This caused the accidental override of an already connected device when a gamepad with a lower id was disconnected and connected again. fixes #17566
2020-07-27Merge pull request #40706 from akien-mga/style-fix-file_format-macosRémi Verschelde
Fix code format scripts compat with non-GNU Unices
2020-07-27Style: Fix code format scripts compat with non-GNU UnicesRémi Verschelde
It's too hard to get compatibility between GNU and BSD sed, so let's just use perl oneliners. And improve it to also remove trailing tabs, not just spaces.
2020-07-26CI: Install master version of psf/blackRémi Verschelde
Until https://github.com/psf/black/pull/1328 makes it in a stable release, we have to use the latest from Git. Apply new style fixes done by latest black.
2020-07-26Merge pull request #38727 from Riteo/tiling-wm-issues-testsRémi Verschelde
Fixes for windows in X11 tiling WMs
2020-07-24t Add unit testing to Godot using DocTest and added to GitHub Actions CIRevoluPowered
Implements exit codes into the engine so tests can return their statuses. Ideally we don't do this, and we use FIXUP logic to 'begin' and 'end' the engine execution for tests specifically. Since realistically we're initialising the engine here we don't want to do that, since String should not require an engine startup to test a single header. This lowers the complexity of running the unit tests and even for physics should be possible to implement such a fix.
2020-07-23SCons: Remove unused DEBUG_MEMORY_ENABLED defineRémi Verschelde
Its last use was removed in Godot 3.0, so it no longer makes sense to define. Also removed `D3D_DEBUG_INFO` for Windows as it's likely a left over from a long time ago pre-opensourcing when Godot had some form of Direct3D 9 support?
2020-07-23DisplayServer: separate window showing into another functionLorenzo Cerqua
When creating a window, Godot would first register it to the WM(show it) and then set its flags. This works fine on a floating WM, but on tiling WMs as soon as a window gets registered the WM immediately acts on the window by scaling it up and treating it as a generic window, being registered without any special flags. This commit separates the showing of the window into another function and calls it after the most important flags are set, making windows with special flags(eg. all popups) work again on tiling WMs. Fixes #37930
2020-07-20fix crlf for clipboardZae
2020-07-15Merge pull request #40268 from DanielZTing/masterRémi Verschelde
Fix cancel/OK button order on macOS
2020-07-13Add error messages if Vulkan init failed, prevent Vulkan context freeing ↵bruvzg
uninitialized device and instance.
2020-07-10Fix cancel/OK button order on macOSDaniel Ting
The macOS platform convention regarding button order is cancel on left, OK on right.
2020-07-04Merge pull request #39888 from nekomatata/windows-create-window-errorRémi Verschelde
Fix errors when creating windows on Windows
2020-07-02Fix fullscreen flag on Windows, closes #37588Juan Linietsky
2020-06-30Add a separate application focus/in notification out from Window focus ↵Juan Linietsky
notification.
2020-06-27Fix errors when creating windows on WindowsPouleyKetchoupp
Detecting the case where WM_SIZE is received during the window creation. There's no need to call window_resize on the Vulkan context. Also creating a WindowData entry early enough to avoid storing a separate WindowData wrongly associated to INVALID_WINDOW_ID. Fixes #39199
2020-06-22Merge pull request #39751 from bruvzg/mingw_build_fixRémi Verschelde
Fix MinGW build (use uninitialized `ofs` variable introduced in 39701).
2020-06-22Fix use uninitialized `ofs` variable introduced in 39701.bruvzg
2020-06-22[Windows] Prevent overwriting old cursor handle on multiple mouse_mode ↵bruvzg
changes, ensure mouse_mode is set before `cursor_set_shape` is called to restore cursor.
2020-06-20Fix missing slider joystick handling on WindowsBastiaan Olij
2020-06-19Merge pull request #39427 from hcmlax/shortcut_issue_39351Rémi Verschelde
fixed issue where shortcut doesn't work if alt is pressed before shift
2020-06-18adding check for syskeydown on control and altunknown
2020-06-16Merge pull request #39542 from Ev1lbl0w/feature/kill-pidRémi Verschelde
Allow Godot to kill its own PID
2020-06-15Merge pull request #39189 from touilleMan/issue-38925Rémi Verschelde
Unify OS.get_system_time_* and OS.get_unix_time
2020-06-13Add keyboard layout enumeration / set / get functions (macOS, Windows, ↵bruvzg
Linux/X11), remove latin variant function.
2020-06-11Merge pull request #38958 from lawnjelly/time_overflow_4Rémi Verschelde
Fix overflow condition with QueryPerformanceCounter
2020-06-04Merge pull request #39060 from madmiraal/fix-38869Rémi Verschelde
Update Windows GUID to SDL uid conversion.
2020-05-31Remove OS.get_system_time_secs/get_system_time_msecs and change ↵Emmanuel Leblond
OS.get_unix_time return type to double
2020-05-30Add dinput nullptr checks.Marcel Admiraal
2020-05-29Do not probe joypads if DirectInput cannot be initialized.Marcel Admiraal
2020-05-28Tweak the DirectInput initialization failure messageHugo Locurcio
This closes #36662.
2020-05-26Ignore invalid tablet driver name, when non are available.bruvzg
2020-05-26Update Windows GUID to SDL uid conversion.Marcel Admiraal
2020-05-22Merge pull request #38951 from bruvzg/win_ink_block_mm_4Rémi Verschelde
Block WM_MOUSEMOVE during Windows Ink pen handling.
2020-05-22Fix overflow condition with QueryPerformanceCounterlawnjelly
The previous code for OS_Windows::get_ticks_usec() multiplied the tick count by 1000000 before dividing by ticks_per_second. The ticks is counted in a 64 bit integer and is susceptible to overflow when a machine has been running for a long period of time (days) with a high frequency timer. This PR separates the overall calculation into one for seconds and one for the remainder, removing the possibility of overflow due to the multiplier.
2020-05-22Block WM_MOUSEMOVE during Windows Ink pen handling.bruvzg
2020-05-21Fix segmentation fault when using context_vulkan after memdelete context_vulkanGuidoRevers
2020-05-20[Windows] Add tablet driver selection.bruvzg
2020-05-19[Windows] Add quotes only to the command line arguments with special characters.bruvzg
2020-05-18Fix certain characters being recognized as special keys in Windows when ↵Eric Rybicki
using the us international layout
2020-05-16Fix input event being dispatched multiple times on WindowsHaSa1002
2020-05-14Style: Enforce separation line between function definitionsRémi Verschelde
I couldn't find a tool that enforces it, so I went the manual route: ``` find -name "thirdparty" -prune \ -o -name "*.cpp" -o -name "*.h" -o -name "*.m" -o -name "*.mm" \ -o -name "*.glsl" > files perl -0777 -pi -e 's/\n}\n([^#])/\n}\n\n\1/g' $(cat files) misc/scripts/fix_style.sh -c ``` This adds a newline after all `}` on the first column, unless they are followed by `#` (typically `#endif`). This leads to having lots of places with two lines between function/class definitions, but clang-format then fixes it as we enforce max one line of separation. This doesn't fix potential occurrences of function definitions which are indented (e.g. for a helper class defined in a .cpp), but it's better than nothing. Also can't be made to run easily on CI/hooks so we'll have to be careful with new code. Part of #33027.
2020-05-14Style: clang-format: Disable KeepEmptyLinesAtTheStartOfBlocksRémi Verschelde
Which means that reduz' beloved style which we all became used to will now be changed automatically to remove the first empty line. This makes us lean closer to 1TBS (the one true brace style) instead of hybridating it with some Allman-inspired spacing. There's still the case of braces around single-statement blocks that needs to be addressed (but clang-format can't help with that, but clang-tidy may if we agree about it). Part of #33027.
2020-05-14Port member initialization from constructor to declaration (C++11)Rémi Verschelde
Using `clang-tidy`'s `modernize-use-default-member-init` check and manual review of the changes, and some extra manual changes that `clang-tidy` failed to do. Also went manually through all of `core` to find occurrences that `clang-tidy` couldn't handle, especially all initializations done in a constructor without using initializer lists.