Commit graph

5752 commits

Author SHA1 Message Date
bruvzg
3cabf51325
[X11] Detect XWayland and disable screen capture support. 2024-06-12 10:05:17 +03:00
Rémi Verschelde
31277e43a7
Merge pull request #91890 from Repiteo/scons/silence_msvc-fixes
SCons: Fix `silence_msvc` implementation errors
2024-06-11 13:57:01 +02:00
bruvzg
be25e60f61
[Wayland] Implement IME support. 2024-06-11 12:24:54 +03:00
Tareq Anuar
d14bea4413
Move the most specific motion event guard to the top of the function. 2024-06-11 12:10:09 +08:00
Adam Scott
5a01c2e954
Replace deprecated USE_WEBGL2 linker flag 2024-06-10 12:14:27 -04:00
Rémi Verschelde
b80e591448
Merge pull request #92843 from anniryynanen/tooltip-in-popup
Stop color picker tooltip from stealing input events
2024-06-10 16:11:52 +02:00
Fredia Huya-Kouadio
f20e21a6d6 Update the splash screen logic for the Godot app template
Due to limitations to the splash screen introduced in Android 12, the splash screen logic is updated to the same logic as used on other platforms, i.e: the splash screen is rendered by the Godot engine instead of the Android runtime.
2024-06-10 00:59:36 -07:00
Fredia Huya-Kouadio
dd966f5680 Configure the splash screen for the Android editor 2024-06-10 00:34:00 -07:00
Rémi Verschelde
a139cd611a
Merge pull request #92826 from bruvzg/nat_icon_checks
Improve native menu and status indicator icons conversion and checks.
2024-06-07 23:30:39 +02:00
Rémi Verschelde
ea7d988b72
Merge pull request #92781 from bruvzg/menu_open_close_imp
[macOS] Improve native menu open/close callbacks.
2024-06-07 23:30:15 +02:00
Rémi Verschelde
e52658643d
Merge pull request #92702 from kleonc/cursor_image_from_atlas_texture_fix
Fix creating cursor image from `AtlasTexture`
2024-06-07 23:29:57 +02:00
Rémi Verschelde
0b24f40c33
Merge pull request #92580 from hccloud/master
Remove the limit on the number of the SignalInfo creation function parameters
2024-06-07 23:29:40 +02:00
Anni Ryynänen
ae1e2182ec
Stop color picker tooltip from stealing input events
Input events go to the tooltip because it's added to `popup_list` in
DisplayServer `popup_open`. I think there's no harm in tooltips being omitted
from the list, so this commit blocks non-popup windows from being added if they
have `FLAG_NO_FOCUS` and `FLAG_MOUSE_PASSTHROUGH`.

I'm not happy with this way of detecting tooltips. It'll also catch other
windows where this behavior may or may not be wanted.

I thought about adding `FLAG_TOOLTIP`, but went with the smaller change for
now.

Fixes #79500.
2024-06-06 20:00:05 +03:00
bruvzg
28ec2240c4
Improve native menu and status indicator icons conversion and checks. 2024-06-06 07:46:09 +03:00
Rémi Verschelde
e96ad5af98
Merge pull request #92742 from Hilderin/fix-windows-activate-process
Fix Windows Activate Process
2024-06-06 00:44:36 +02:00
bruvzg
1f7bf27780
[macOS] Improve native menu open/close callbacks. 2024-06-05 20:22:41 +03:00
Yuzhao Wang
2e4d573c3c Remove the limit on the number of the SignalInfo function parameters
Update platform/android/api/jni_singleton.h

Co-authored-by: A Thousand Ships (she/her) <96648715+AThousandShips@users.noreply.github.com>
2024-06-05 09:21:30 +08:00
kleonc
91e995e704 Fix creating cursor image from AtlasTexture 2024-06-05 01:44:05 +02:00
Rémi Verschelde
62b15238e5
Merge pull request #92704 from m4gr3d/update_android_editor_activity_layout
Consolidate the ProjectManager and Editor windows into a single Android Activity class
2024-06-04 10:10:08 +02:00
Riteo
8f69f29694 EGL: Use EGL_EXT_platform_base whenever possible
This avoids any assumption from the driver, which would otherwise select
a specific platform and potentially mess up everything, resulting
usually in a display server failure.
2024-06-04 08:43:34 +02:00
Hilderin
e201e5bf30 Fix Windows Activate Process 2024-06-03 19:33:41 -04:00
Rémi Verschelde
7118487f9d
Merge pull request #92709 from m4gr3d/fix_request_permissions_return_value
Fix invalid return value when multiple permission requests are dispatched
2024-06-03 10:36:14 +02:00
Rémi Verschelde
f976a625e1
Merge pull request #92692 from mihe/always-embed-frameworks
Fix iOS exports never embedding framework bundles
2024-06-03 10:36:10 +02:00
Fredia Huya-Kouadio
53279d2510 Fix invalid return value when multiple permission requests are dispatched 2024-06-02 17:22:51 -07:00
Fredia Huya-Kouadio
0795587f69 Consolidate the ProjectManager and Editor windows into a single Android Activity class. 2024-06-02 14:14:21 -07:00
Mikael Hermansson
84ee828b58 Fix iOS exports never embedding framework bundles 2024-06-02 18:02:01 +02:00
bruvzg
5168647530
Use current mouse button state instead of saved values. 2024-05-31 15:50:14 +03:00
Rémi Verschelde
d30456fea8
Merge pull request #92415 from bruvzg/win_mod_keys
[Windows] Use current keyboard state instead of saved values for modifier keys.
2024-05-31 14:16:13 +02:00
Rémi Verschelde
37cf266b57
SCons: Process platform-specific flags earlier
Some of the logic in SCons depends on flags that get overridden in the
platform-specific `detect.py`, so it needs to be processed first.

For example the Android/iOS/Web platforms override the default `target`
to `template_debug`, but this was processed too late so e.g. the logic
that sets `env.editor_build` would set it to true due to the default
`target` value in the environment being `editor`.
2024-05-30 16:01:43 +02:00
patwork
909f28a534 Fix multichar warning in windows_utils 2024-05-30 13:58:56 +02:00
Rémi Verschelde
80db5bd28e
Merge pull request #92525 from m4gr3d/fix_libcpp_selection
Ensure that Godot's version of `libc++_shared.so` is always selected
2024-05-30 11:48:15 +02:00
Rémi Verschelde
8ec272f288
Merge pull request #92519 from mihe/stop-xcframework-embed
Prevent static XCFramework bundles from being embedded on iOS
2024-05-30 11:48:12 +02:00
Rémi Verschelde
1dab521f2d
Merge pull request #92208 from Calinou/linuxbsd-use-nanosleep
Use `OS::delay_usec()` to avoid using deprecated `usleep()` on Linux
2024-05-30 11:47:51 +02:00
Rémi Verschelde
ffad49f169
Merge pull request #86029 from 0x0ACB/resize_fix
Remove dead code from `DisplayServerWindows::window_set_size`
2024-05-30 11:47:21 +02:00
Mauricio Narvaez
28f357733f Ensure that Godot's version of libc++_shared.so is always selected in case dependencies have their own 2024-05-29 14:43:35 -07:00
Rémi Verschelde
a6ef250f3e
Merge pull request #92133 from m4gr3d/fix_touch_input
Fix invalid detection of mouse input
2024-05-29 23:03:27 +02:00
Mikael Hermansson
b6e5e16868 Prevent static XCFramework bundles from being embedded on iOS 2024-05-29 17:54:49 +02:00
bruvzg
c8ae9e9c76
[iOS] Change default iPad landscape orientation from "left" to "right". 2024-05-29 12:47:49 +03:00
Rémi Verschelde
c98fef08bf
Merge pull request #89033 from bruvzg/doc_end_err
[DisplayServer] Add error messages and descriptions to callbacks.
2024-05-28 17:48:42 +02:00
bruvzg
714effdf07
[DisplayServer] Add error messages and descriptions to callbacks. 2024-05-28 17:36:54 +03:00
Rémi Verschelde
cc6a7b97d6
Merge pull request #92458 from bruvzg/dup_cl
[macOS, X11] Fix duplicate close requests.
2024-05-28 15:50:05 +02:00
Rémi Verschelde
b8f3c5e2ab
Merge pull request #92427 from AThousandShips/bind_go_away
Replace `.bind(...).call_deferred()` with `.call_deferred(...)`
2024-05-28 15:50:01 +02:00
Rémi Verschelde
f98c259131
Merge pull request #92353 from Riteo/you-cant-see-me
Wayland: Implement `is_window_transparency_available`
2024-05-28 15:49:33 +02:00
Rémi Verschelde
981ac9bfeb
Merge pull request #92324 from jwinarske/jw/wayland_sowrap
Linux: Enable build config `wayland=yes use_sowrap=no`
2024-05-28 15:49:16 +02:00
Rémi Verschelde
ca708b5706
Merge pull request #92026 from Repiteo/scons/web-fixes
SCons: Minor fixes/adjustments for web compilation
2024-05-28 15:48:49 +02:00
Rémi Verschelde
ac6f5780b1
Merge pull request #91695 from bruvzg/web_ime_pos
[Web IME] Fix suggestion window position in Chromium based browsers.
2024-05-28 15:48:42 +02:00
Rémi Verschelde
576d9a5c12
Merge pull request #92325 from Repiteo/scons/res-race-condition-fix
SCons: Fix `RES` race condition
2024-05-28 15:48:12 +02:00
ACB
9dd1268306 remove dead code from DisplayServerWindows::window_set_size 2024-05-28 08:55:15 +02:00
bruvzg
1a40cda95e
[macOS, X11] Fix duplicate close requests. 2024-05-28 09:41:04 +03:00
A Thousand Ships
4ed62665a2
Replace .bind(...).call_deferred() with .call_deferred(...) 2024-05-27 13:29:57 +02:00
bruvzg
62e41087d5 [Windows] Use current keyboard state instead of saved values for modifier keys. 2024-05-27 09:15:01 +03:00
Riteo
9734feb449 Wayland: Implement is_window_transparency_available 2024-05-26 00:05:47 +02:00
bruvzg
fc89a0c118
Fix build with vuklan=no and d3d12=no after #91505. 2024-05-25 21:08:50 +03:00
Joel Winarske
f06dd46eb7 Enable build config wayland=yes use_sowrap=no
-wayland-egl.h was missing if opengl3=yes (default)

Signed-off-by: Joel Winarske <joel.winarske@gmail.com>
2024-05-25 07:15:57 -07:00
Thaddeus Crews
18fb492afe
SCons: Fix RES race condition 2024-05-24 12:44:44 -05:00
Thaddeus Crews
5d265e9a7e
SCons: Minor fixes/adjustments for web compilation 2024-05-24 12:30:24 -05:00
bruvzg
628c81d2d9
[DisplayServer] Add method to check if window transparency is supported and enabled. 2024-05-23 15:23:18 +03:00
Rémi Verschelde
7870b28ed3
Merge pull request #92252 from poiati/fix-wayland-window-class
Properly set window class in Wayland
2024-05-23 08:59:23 +02:00
Rémi Verschelde
de490253fe
Merge pull request #92124 from Repiteo/scons/platform-flags-dict
SCons: Convert platform `get_flags` to dictionary
2024-05-23 08:59:07 +02:00
Thaddeus Crews
896b003cc8
SCons: Convert platform get_flags to dictionary 2024-05-22 13:53:20 -05:00
Paulo Poiati
a3769c0edc Properly set window class in Wayland 2024-05-22 10:42:12 -03:00
patwork
1a89ae70eb Upgrade to eslint 9 2024-05-22 11:32:25 +02:00
Jakub Marcowski
d9f8ef68df
Update pre-commit hooks configuration to use ruff instead of black 2024-05-21 18:02:29 -05:00
Hugo Locurcio
a008896f70
Use OS::delay_usec() to avoid using deprecated usleep() on Linux
usleep(3) was declared obsolete in POSIX.1-2001 and removed in POSIX.1-2008.
nanosleep(2) was recommended to be used instead.

`OS::delay_usec()` internally uses `nanosleep()`.

This also uses large number separators for improved readability.
2024-05-21 17:32:40 +02:00
Rémi Verschelde
0e39ac6ac6
Merge pull request #92176 from emrekultursay/master
Fix detecting when Gradle is invoked from Studio
2024-05-21 11:23:08 +02:00
Rémi Verschelde
0f044855f5
Merge pull request #92158 from bruvzg/win_crlf
[Windows] Use CRLF in the terminal prints.
2024-05-21 11:22:56 +02:00
Emre Kultursay
3b8d0bee4a Fix detecting when Gradle is invoked from Studio
The existing 'idea.platform.prefix' system-property approach
only worked because of a Android Studio bug that leaks the
system properties from Android Studio into Gradle build:
  - https://issuetracker.google.com/201075423

This bug was fixed in Android Studio 2023.3.1 (Jellyfish).

The correct way of identifying builds from Android Studio is to
use the following project property (not system property):
 - android.injected.invoked.from.ide
2024-05-20 17:02:36 -07:00
Alexander Hartmann
ab9e377fe6 Fix InputEventScreenDrag on Android 2024-05-21 01:04:23 +02:00
bruvzg
497f65fa50 [Windows] Use CRLF in the terminal prints. 2024-05-20 14:23:17 +03:00
Fredia Huya-Kouadio
5a74e5812b Add logic to unregister the Godot plugins on engine termination 2024-05-19 19:27:04 -07:00
Fredia Huya-Kouadio
625b92e3cd Input logic cleanup:
- Fix invalid detection of mouse input. Prioritize using the event tool type to detect the type of the event, and only use the event source as fallback.

- Ensure that pressure and tilt information is passed for touch drag events

- Consolidate logic and remove redundant methods

- Improve the logic to detect when external hardware keyboards are connected to the device
2024-05-19 14:08:01 -07:00
Hakim
04aaa86039 Disable remote debug button when there are no runnable presets 2024-05-17 00:15:13 +02:00
Rémi Verschelde
b802c7274f
Merge pull request #91933 from bruvzg/x11_scr_fb
[X11] Fallback to root window size, when Xinerama extension is available, but return zero screens.
2024-05-15 12:09:45 +02:00
Rémi Verschelde
86b72d9215
Merge pull request #91377 from bruvzg/macos_privacy
[macOS export] Add support for privacy manifest configuration.
2024-05-15 12:09:34 +02:00
Thaddeus Crews
0ec4ec0f90
SCons: Fix silence_msvc implementation errors 2024-05-14 12:22:54 -05:00
bruvzg
1f8e69ddec
[X11] Fallback to root window size, when Xinerama extension is available, but return zero screens. 2024-05-14 11:08:10 +03:00
Rémi Verschelde
10cd6ad93a
Merge pull request #91856 from patwork/double-quotes-in-head
[Web] Fix quotes style in HTML shell head include
2024-05-13 17:32:18 +02:00
Fredia Huya-Kouadio
ab4fbbcaa7 Switch to the WindowInsetsAnimationCompat api
Replace the use of WindowInsetsAnimation with WindowInsetsAnimationCompat; the former was only introdcued in api 30 and caused a crash on older versions of Android.

Fixes https://github.com/godotengine/godot/issues/91773
2024-05-13 00:59:03 -07:00
patwork
b6536884cc Fix quotes style in HTML shell head include 2024-05-12 01:37:13 +02:00
Rémi Verschelde
eacfdc784f
Merge pull request #91817 from Calinou/linuxbsd-default-disable-execinfo
Set `execinfo=no` by default when compiling for Linux/*BSD
2024-05-11 12:38:33 +02:00
Hugo Locurcio
7b678b961c
Set execinfo=no by default when compiling for Linux/*BSD
Alpine 3.17 and later no longer provide execinfo in its repositories,
making compilation impossible unless you pass `execinfo=no`.
2024-05-11 00:25:13 +02:00
Rémi Verschelde
6fcdd24468
Merge pull request #91624 from Repiteo/scons/native-generation
SCons: Generate all scripts natively, implement wrapper function
2024-05-10 09:55:51 +02:00
Rémi Verschelde
8a57f64255
Revert "Implement "get_mingw_tool" to fix mingw prefixes"
This reverts commits ecebe0b40d
and 15d37ed2a8.

Fixes #91710.
2024-05-09 11:10:32 +02:00
bruvzg
99d6f32918
[Web IME] Fix suggestion window position in Chromium based browsers. 2024-05-09 08:52:27 +03:00
Pedro J. Estébanez
fc08eca524 DisplayServer: Avoid deadlocks while issuing input events and recursive main loop iterations 2024-05-08 17:41:40 +02:00
A Thousand Ships
a0dbdcc3ab
Replace find with contains/has where applicable
* Replaces `find(...) != -1` with `contains` for `String`
* Replaces `find(...) == -1` with `!contains` for `String`
* Replaces `find(...) != -1` with `has` for containers
* Replaces `find(...) == -1` with `!has` for containers
2024-05-08 12:37:42 +02:00
Rémi Verschelde
a7f4860b72
Merge pull request #91698 from bruvzg/mingw_exe_size
[MinGW] Restore executable size check.
2024-05-08 12:31:36 +02:00
bruvzg
15d37ed2a8
[MinGW] Restore executable size check. 2024-05-08 12:43:02 +03:00
Rémi Verschelde
7d03b1de0b
Style: Trim trailing whitespace and ensure newline at EOF
Found by apply the file_format checks again via #91597.
2024-05-08 10:12:46 +02:00
Jakub Marcowski
7699d678c4
Fix builtin_embree=no build linking the wrong version of Embree 2024-05-08 00:40:45 +02:00
Thaddeus Crews
34fb3f7730
SCons: Generate all scripts natively 2024-05-07 15:30:45 -05:00
Rémi Verschelde
039aa28a60
Merge pull request #89574 from Riteo/scale-your-expectations-with-this-one
Wayland: Workaround API limitation in screen/UI scale logic
2024-05-07 21:52:44 +02:00
Riteo
1bb8199342 Wayland: Workaround API limitation in screen/UI scale logic
Mainly, this fixes auto UI scaling with _single-monitor_ fractional
setups (see the comment in `display_server_wayland.cpp` for more info).

This is the result of a bunch of current limitations, mainly the fact
that the UI scale is static (it's probed at startup) and the fact that
Wayland exposes fractional scales only at the window-level, by design.

The `screen_get_scale` special case should help in 99% of cases, while
the auto UI scale part will unfortunately only help with single-screen
situations, as multi-screen fractional scaling requires dynamic UI
scale changing.
2024-05-07 19:50:48 +02:00
Rémi Verschelde
2885620385
Merge pull request #91361 from RandomShaper/fix_no_focusin
Windows: Fix `WINDOW_EVENT_FOCUS_IN` not delivered in some cases
2024-05-07 13:48:48 +02:00
Rémi Verschelde
86fb866b6a
Merge pull request #85188 from aitorciki/nvdrs-fixes
[Windows] Fix NVIDIA app profile creation
2024-05-07 13:48:40 +02:00
Rémi Verschelde
e63252b421
Merge pull request #90705 from AThousandShips/foreach_list
Reduce and prevent unnecessary random-access to `List`
2024-05-07 09:04:44 +02:00
Thaddeus Crews
ecebe0b40d
Implement "get_mingw_tool" to fix mingw prefixes
• Replaces "try_cmd" entirely and removes need for "get_mingw_bin_prefix" in isolation
2024-05-06 17:32:53 -05:00
Adam Scott
c465dbb051
Default to non-threaded export setting for the web 2024-05-06 12:21:14 -04:00
Rob Blanckaert
3093ef49bc
Fix missing space in missing tools error message.
Currently prints as `ANDROID_HOME is correct and cmdline-toolsare installed, or install NDK version`
2024-05-04 20:51:21 -07:00
A Thousand Ships
955d5affa8
Reduce and prevent unnecessary random-access to List
Random-access access to `List` when iterating is `O(n^2)` (`O(n)` when
accessing a single element)

* Removed subscript operator, in favor of a more explicit `get`
* Added conversion from `Iterator` to `ConstIterator`
* Remade existing operations into other solutions when applicable
2024-05-04 16:08:55 +02:00