summaryrefslogtreecommitdiff
path: root/platform
AgeCommit message (Collapse)Author
2020-10-08Fix x11 display server crash when deleting popup window when unfocusedPouleyKetchoupp
On FocusOut events, the window could be destroyed while propagating WINDOW_EVENT_FOCUS_OUT event, which causes the WindowData to be invalidated, and still used for calls to XUnsetICFocus. This change moves calls to XUnsetICFocus, and also XSetICFocus in FocusIn events, before propagating the change of focus event to the engine, to be safe in any case. Also setting xic member to nullptr after all calls to XDestroyIC to keep things clean and consistent. Fixes #42645
2020-10-01iOS: move touch delay to settingsSergey Minakov
2020-09-30Merge pull request #41910 from nekomatata/x11-inputs-lag-fixRémi Verschelde
Fix issues related to delay when processing events on X11 display server
2020-09-29Merge pull request #42381 from timothyqiu/osx-hiddenRémi Verschelde
Hide special folders in FileDialog for macOS
2020-09-28Merge pull request #41385 from m4gr3d/fix_splash_loading_masterRémi Verschelde
Fix splash screen loading on Android
2020-09-28Merge pull request #42262 from akien-mga/ios-pvrtc-fixesRémi Verschelde
iOS: Fix multiple issues with PVRTC import, disable ETC1
2020-09-28Merge pull request #42327 from bruvzg/4_mac_captured_fixRémi Verschelde
[macOS] Fix mouse position in captured mode.
2020-09-28Hides special folders in FileDialog for macOSHaoyu Qiu
2020-09-27Add all headers to VS ProjectBartłomiej T. Listwon
2020-09-25Fix delay to process clipboard content from Godot in other programsPouleyKetchoupp
When pasting clipboard content from Godot to other applications, multiple SelectionRequest events are sent to Godot in order to access the data. It could take a long time before the data is ready for the other app because events were processed one by one on the main thread, especially when Godot is unfocused and runs at low frequency. With this change, SelectionRequest events are directly handled on the separate event polling thread to minimize this delay. This change also replaces clipboard_get() calls in SelectionRequest with a direct access to internal_clipboard, since in this case we know Godot is the owner of the clipboard content and it's not necessary to query the x server for it.
2020-09-25[macOS] Fix mouse position in captured mode.bruvzg
2020-09-24Fix general keyboard input lag on X11 display serverPouleyKetchoupp
This change makes keyboard inputs more responsive on Linux, especially when the FPS is lower on slower configurations. Polling events from the x server is done on a separate thread to avoid a frame delay with inputs, due to first sending the event to the input manager with XFilterEvent then processing the new event only on the next frame. Calls to Input Manager functions like XSetICFocus, XUnsetICFocus and XSetICValues use a mutex, because they are polling events internally and would otherwise interfere with our own thread process for polling events which can cause a deadlock in some cases. XUnsetICFocus is called instead of XSetICFocus on FocusOut events, so the input manager can be properly notified of focus changes. clipboard_get now uses a blocking call to poll for a specific event type when waiting for a SelectionNotify event, instead of polling all events and filtering them afterwards.
2020-09-23iOS: Fix multiple issues with PVRTC import, disable ETC1Vasiliy Makarov
Fixes: #28683, #28621, #28596 and maybe others For iOS we enable pvrtc feature by default for all backends Etc1 for iOS doesn't have any sense, so it disabled. Fixed checks in export editor. Fixed pvrtc encoding procedure. Edit by Akien: Forward-ported from #38076, this may not make sense as is for Godot 4.0, but it's important that we have the latest code in sync with 3.2 for when more rendering backends and proper iOS support are added back. Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2020-09-23Merge pull request #42178 from Faless/js/sync_fs_size_handlersRémi Verschelde
[HTML5] Synchronous main, better persistence, handlers fixes, optional full screen.
2020-09-23JS synchronous start, better persistent FS sync.Fabio Alessandrelli
The engine now expects to emscripten FS to be setup and sync-ed before main is called. This is exposed via `Module["initFS"]` which also allows to setup multiple persistence paths (internal use only for now). Additionally, FS syncing is done **once** for every loop if at least one file in a persistent path was open for writing and closed, and if the FS is not syncing already. This should potentially fix issues reported by users where "autosave" would not work on the web (never calling `syncfs` because of too many writes).
2020-09-23Make canvas resize optional in HTML5.Fabio Alessandrelli
2020-09-23Better HiDPI support in HTML5.Fabio Alessandrelli
2020-09-23Window event listener do not use capture.Fabio Alessandrelli
2020-09-23Small refactor to JavaScript handlers.Fabio Alessandrelli
Crated helper class in native/utils.js. Simplify code in OS/DisplayServer.
2020-09-23Expose request_quit method to JS in HTML5 export.Fabio Alessandrelli
2020-09-18Add overridable init method for the Godot fragment instance.Fredia Huya-Kouadio
2020-09-18[HTML5] Add override keyword, cleanup methods.Fabio Alessandrelli
2020-09-18Fix typos with codespellRémi Verschelde
Using codespell 1.17.1. Method: ``` $ cat > ../godot-word-whitelist.txt << EOF ang curvelinear dof doubleclick fave findn leapyear lod merchantibility nd numer ois ony que seeked synching te uint unselect webp EOF $ codespell -w -q 3 -I ../godot-word-whitelist.txt --skip="./thirdparty,*.po" $ git diff // undo unwanted changes ```
2020-09-18X11: Try to load libXrandr.so.3 if libXrandr.so.2 isn't foundRémi Verschelde
All Linux distros, and FreeBSD and OpenBSD seem to have libXrandr.so.2, but for some reason recent NetBSD versions seem to have libXrandr.so.3 now.
2020-09-18Linux/BSD: Fix support for NetBSDRémi Verschelde
Add __NetBSD__ to `platform_config.h` so that it can find `alloca` and use the proper `pthread_setname_np` format. Rename RANDOM_MAX to avoid conflict with NetBSD stdlib. Fixes #42145.
2020-09-17Add window click-through support.bruvzg
2020-09-14Only display the Windows toggle console option if it can actually be usedHugo Locurcio
2020-09-10Remove unused Python imports.Marcel Admiraal
2020-09-09Explicitly add implicitly added semicolons.Marcel Admiraal
2020-09-05Adds PCK encryption support (using script encryption key for export).bruvzg
Change default encryption mode from ECB to CFB.
2020-09-03[Complex Test Layouts] Change `String` to use UTF-32 encoding on all platforms.bruvzg
2020-09-03Merge pull request #41332 from bruvzg/win_subsys_optionRémi Verschelde
Revert #41164, add subsystem build option.
2020-09-03Fix drag and drop between windows in X11 display serverPouleyKetchoupp
Proper implementation for get_window_at_screen_position: Now getting the topmost last active window when overlapping. Mouse drag & release events: They are now propagated through the current focused window, in order to make it consistent with the engine expectations and the Windows display server implementation.
2020-09-03Merge pull request #41456 from nekomatata/x11-fix-popupsRémi Verschelde
Popup fixes for X11 display server
2020-08-30Fix issue causing the textedit to move upwardFredia Huya-Kouadio
2020-08-27Merge pull request #41550 from ↵Rémi Verschelde
godotengine/revert-40671-virtual-keyboard-height-fix Revert "Fix virtual keyboard height regression"
2020-08-26Merge pull request #41549 from ↵Rémi Verschelde
godotengine/revert-40484-android-virtual-keyboard-adjustment Revert "Disable virtual keyboard focus adjustment on Android"
2020-08-26Revert "Fix virtual keyboard height regression"Fredia Huya-Kouadio
2020-08-26Revert "Disable virtual keyboard focus adjustment on Android"Fredia Huya-Kouadio
2020-08-26Revert "Move PopupWindow logic to GodotEditText on Android"Fredia Huya-Kouadio
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-26Fix menu popups delay and focus in X11 display serverPouleyKetchoupp
Now using override_redirect for menu & tooltip popups to prevent the WM from interfering with them, so we have more control over focus management and avoid a delay before they show up.
2020-08-25[macOS] Fix heap use-after-free in DisplayServer.bruvzg
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-21Fix new black style check failures in various files.Marcel Admiraal
2020-08-19Fix splash screen loading on AndroidFredia Huya-Kouadio
2020-08-19Revert "Fixes for windows in X11 tiling WMs"Juan Linietsky
2020-08-19Merge pull request #41080 from naithar/feature/ios-framework-importRémi Verschelde
[iOS] [4.0] Export: Add a method to embed a framework
2020-08-19iOS Export: Add a method to embed a frameworkSergey Minakov
By default 'add_ios_framework' would not embed a framework to save previous behavior. New 'add_ios_embedded_framework' would embed framework on export.
2020-08-17Add Windows Subsystem build option.bruvzg