Commit Graph
7815 Commits
Author SHA1 Message Date
Anish Kumar af99bf93d3 Fix building Android Editor with separate arches
(cherry picked from commit fa03d6d3d30be7e9018f245ff42ead0a3ff911c0)
2026-08-12 11:26:27 -05:00
Mikael Hermansson bfbe912233 Remove emscripten_cancel_main_loop from web exit_callback
(cherry picked from commit 043a6b60be92b72eca78dd1f81942ceee84f6d40)
2026-08-12 11:26:26 -05:00
Pāvels Nadtočajevs bd76f1136c [Windows] Clean WinRT window data pointer when it is erased.
(cherry picked from commit a709edcd423eb3a62f3856f6cc44b6a4c5802fb6)
2026-08-12 11:26:25 -05:00
Pāvels Nadtočajevs 520e878c80 [WinRT, 4.7] Add exception handling to DispatcherQueueOptions init. 2026-08-10 15:30:12 +03:00
Naoto Kondo 4dca996446 Wayland: Fix IME popup position under fractional scaling on KDE Plasma
(cherry picked from commit 5bb2d5dc2b0dbae622c1c0f12bee5fd4074d90fc)
2026-07-30 11:26:22 -05:00
Fredia Huya-Kouadio 2d2d93443f Play store crash investigations
- Adding guards to investigate a potential source for https://github.com/godotengine/godot/issues/114800
- Adding logging statements to investigate https://github.com/godotengine/godot/issues/120638

(cherry picked from commit 60330f67eecab1d68a6f6f4a8deb119ec816f3b8)
2026-07-30 11:26:21 -05:00
TrueJole 93cad56c32 correct keycode to volume down
(cherry picked from commit 90f51f3db8097cadcd254ad6b411ee35e4e08743)
2026-07-30 11:26:21 -05:00
Fredia Huya-Kouadio 3475e16164 Fix regressions to the Android editor introduced by https://github.com/godotengine/godot/pull/121670
This reverts the core fix added in https://github.com/godotengine/godot/pull/121670 and provides another approach for resolving the same issue.
The root cause of the issue was that we were attempting to initialize the `DisplayServer` when the screen was off and the surface was being destroyed. To prevent, the new approach ensures that the app is resumed before we attempt to initialize. Post initialization, we are free to continue rendering as usual.

(cherry picked from commit 7f67be84b04e38d360dafac6906d4f912cef3593)
2026-07-30 11:26:20 -05:00
Lukas Tenbrink a30e7e1151 Avoid releasing main thread identity on platforms that don't need to drop it, making it a platform detail.
(cherry picked from commit 92cb8246a5b67b36482ea597f23773984f53cf37)
2026-07-30 11:26:19 -05:00
Hugo Locurcio 364304d372 Fix performance issues when moving the mouse with high polling rate on Windows
Co-authored-by: Pāvels Nadtočajevs <7645683+bruvzg@users.noreply.github.com>
Co-authored-by: Jon Tamayo <volsungn@gmail.com>
(cherry picked from commit 8caf6fd456ccdcc2cbfc3c8f2e601597911a1959)
2026-07-25 13:20:05 -05:00
jack-klein-5 dcabf2e4db Fix simultaneous shift release
Fixes #120217 where releasing both left and right shift keys
simultaneously would result in one of the shift keys not receiving the
KEYUP event. Previously an edge case was implemented that handled
shift key release with WM_INPUT for when a shift key was released while
the other was held. This change would handle all shift key release with
WM_INPUT instead of partially with WM_INPUT and partially with WM_KEYUP
for consistent handling.

(cherry picked from commit 1d9f732bc4cc1f71d39ea2c5c8d32e0025728dd9)
2026-07-25 13:20:05 -05:00
Pāvels Nadtočajevs 7627405336 [macOS] Fix initial window flags.
(cherry picked from commit 3f03764fffa04deac8cfb54ef4dc19b058fbacf5)
2026-07-25 13:19:50 -05:00
Fredia Huya-Kouadio 1edc952740 Fix issue causing the engine to crash when starting while the screen is off.
(cherry picked from commit dd94c2c5af4126b46ecc90fcd173c6e9513e52b7)
2026-07-25 13:19:49 -05:00
Dery Almas 53aaf6a0ef Wayland: Improve pointer contraining
(cherry picked from commit b258d76bf5faaf7c7a2f1c8018abf1906bd87e8e)
2026-07-25 13:19:48 -05:00
Anish Kumar 9722b3d6e9 Fix crash in org.godotengine.godot.GodotActivity.updatePiPParams
(cherry picked from commit 899de04acbb717f9cc55fe1dd42bc679372aa355)
2026-07-13 10:56:06 -05:00
Pāvels Nadtočajevs c237730200 [4.7] Update macOS/iOS min. versions in plist and exporter. 2026-07-09 12:02:07 +03:00
uno1982 ea5c2a36d8 Android: Fix EditorSettings not instantiated error when running game
Add null check in getEditorSetting JNI call to match setEditorSetting.
Fixes error when game runner process calls getEditorSetting before
EditorSettings is initialized.

(cherry picked from commit 19bbd4ccdd22a5ac9ed134f93ceb0db9149a13ae)
2026-06-30 09:28:41 -05:00
Voyend cafb33fd26 Fix backspace not deleting original text in soft keyboard on Android
When a soft keyboard's backspace sends KEYCODE_DEL via sendKeyEvent(),
GodotEditText.onKeyDown() delegates to super.onKeyDown() which modifies
the EditText's Editable, triggering beforeTextChanged() in
GodotTextInputWrapper, which then forwards KEYCODE_DEL to the engine.

However, the EditText is only seeded with text up to the cursor position
(mOriginText) when the keyboard opens. Once the user backspaces through
all of that content, the EditText becomes empty. At that point,
super.onKeyDown(KEYCODE_DEL) on an empty EditText makes no change to the
Editable, so beforeTextChanged() never fires and the engine receives no
DEL event — even though the engine's own buffer still has text before
the cursor.

This causes a visible bug: the user can delete characters they typed in
the current session, but backspacing further into pre-existing text does
nothing. Re-tapping the field fixes it temporarily because showKeyboard()
is called again, reseeding the EditText with the current text and cursor
position.

Fixed this by forwarding KEYCODE_DEL directly to the engine when the
EditText is empty, bypassing the TextWatcher path that can't fire in
that state. This produces no double events since beforeTextChanged()
is physically unable to fire on an empty field.

Move DEL release event from onKeyDown to onKeyUp

(cherry picked from commit c0bb5a2d1f372d05ece2263a3c0634ec5c909a62)
2026-06-23 08:36:45 -05:00
Pāvels Nadtočajevs 05d64db3ec Add missing components to the pkg-config for system HarfBuzz.
(cherry picked from commit 3bbc02f61e015ea28ae1bbe6d6f62dab114da357)
2026-06-23 08:36:44 -05:00
Thaddeus Crews f7fcb79c43 Merge pull request #118771 from NoctemCat/web_remove_ub_at_exit
[Web] Remove undefined behavior around exit
2026-06-16 19:12:42 -05:00
Thaddeus Crews fb5a83eb60 Merge pull request #120007 from bruvzg/msys_dl
Fix download scripts and build in the MSYS2 environment.
2026-06-08 15:20:55 -05:00
Pāvels Nadtočajevs fd574d221f Fix download scripts and build in the MSYS2 environment. 2026-06-04 10:58:05 +03:00
Fredia Huya-Kouadio fff89b78e7 Update download URL for GABE 2026-06-03 11:59:10 -07:00
Thaddeus Crews a8b6402965 Merge pull request #119966 from bruvzg/mac_a_no_v_m
[macOS] Fix build with enabled ANGLE and disabled Vulkan/Metal.
2026-06-02 17:39:08 -05:00
Pāvels Nadtočajevs 3bb55a2e07 [macOS] Fix build with enabled ANGLE and disabled Vulkan/Metal. 2026-06-02 15:31:43 +03:00
Ivan Shakhov a87d3cbf99 remove the godot::String and godot::StringName from godot.natvis, those visualizers are going to be in godot-cpp (https://github.com/godotengine/godot-cpp/pull/1977) 2026-06-02 05:49:44 +02:00
Thaddeus Crews 3572bad292 Merge pull request #119141 from deralmas/wl/hover
Wayland: Improve hovered window handling
2026-05-26 10:09:39 -05:00
Stuart Carnie fdd53b7b1d macos: Fix mouse warp for embedded game window 2026-05-26 06:23:32 +10:00
Thaddeus Crews f7d37c74c1 Merge pull request #118190 from Hrothdel/web-fix-poll-export
[Web] Fix `poll_export` changing current export_preset
2026-05-22 19:24:18 -05:00
KOGA Mitsuhiro fcc194c585 Android: Fix infinite recursion in proxy equals handler
Kotlin's `==` on the proxy compiles to `proxy.equals(args[0])`, which
the JDK proxy dispatches back through the InvocationHandler, hitting
the same branch and recursing into StackOverflowError. Use `===` for
reference equality, matching the default Object#equals behavior.
2026-05-22 22:22:45 +09:00
Muteem 471a4a79c0 Android: Fix ClassCastException in proxy hashCode when ObjectID is returned as Long
Object.hashCode() must return Int (32-bit), but the proxy InvocationHandler
returned godotObjectID directly (Long, 64-bit). When a HashMap-like container
called proxy.hashCode(), the auto-generated proxy did (Integer) result on a
java.lang.Long and threw ClassCastException.

Signed-off-by: Muteem <29696635+Muteem@users.noreply.github.com>
2026-05-22 22:20:52 +09:00
Leonard Pop 610e334d4c [Web] Fix poll_export changing current export_preset 2026-05-22 11:08:20 +03:00
Muteem 08c08bfef2 Android: Fix NPE when proxy interface method has no arguments
JDK contract: InvocationHandler.invoke's args parameter is null when
the proxied interface method takes no arguments. The proxy handlers
in AndroidRuntimePlugin used `*args` directly, which spread-deref'd
null and threw NullPointerException.

Signed-off-by: Muteem <29696635+Muteem@users.noreply.github.com>
2026-05-20 16:23:30 +08:00
Thaddeus Crews ef02314f2b Merge pull request #119545 from bruvzg/exp_noti
Fix export notifier.
2026-05-18 11:06:32 -05:00
Thaddeus Crews 0e57853371 Merge pull request #119455 from bruvzg/vs_scons_ver
[Windows] Check if used SCons version supports requested MSVC.
2026-05-18 11:06:32 -05:00
Thaddeus Crews 2c5bdd1f9c Merge pull request #119510 from van800/shakhov/fixes
open_dynamic_library(String(), library, &data) should only be called for apple
2026-05-18 11:06:26 -05:00
Thaddeus Crews 819cae99f8 Merge pull request #119331 from norepro/fix-x11-release-pressed-events
Release X11 pressed events on true focus loss
2026-05-18 11:06:26 -05:00
Thaddeus Crews 8ae90e9442 Merge pull request #119495 from m4gr3d/fix_main_path_use_for_android
[Android] Fix the use of `--main-pack` in template builds
2026-05-18 11:06:25 -05:00
Pāvels Nadtočajevs 2ae09f7184 [Windows] Check if used SCons version supports requested MSVC. 2026-05-18 18:11:51 +03:00
Pāvels Nadtočajevs 4742cd3b80 Fix export notifier. 2026-05-18 15:39:24 +03:00
Ivan Šachovandbruvzg e744959de5 avoiding an incorrect ERR_FILE_NOT_FOUND report when the DLL exists but fails to load for another reason
Co-authored-by: bruvzg <7645683+bruvzg@users.noreply.github.com>
2026-05-16 21:55:33 +02:00
Fredia Huya-Kouadio 948032c89c [Android] Fix the use of --main-pack 2026-05-15 23:03:54 -07:00
Thaddeus Crews 7af66e02ef Merge pull request #119448 from buresu/fix-wayland
Wayland: Fix incorrect fallback value for height in _xdg_popup_on_configure
2026-05-15 15:42:05 -05:00
Michael Alexsander 088cd1faa4 Fix wrong path in EditorExportPlugin._export_begin() when zipping 2026-05-14 19:44:40 -03:00
Naoto Kondo 814d08d77f Wayland: Fix incorrect fallback value for height in _xdg_popup_on_configure 2026-05-14 10:44:44 +09:00
Thaddeus Crews 9a33066a27 Merge pull request #119297 from m4gr3d/misc_bug_fixes
[Android] Miscellaneous bug fixes
2026-05-13 09:53:54 -05:00
Thaddeus Crews e333258f94 Merge pull request #119433 from bruvzg/win_await
[Windows] Remove `await` MSVC flags.
2026-05-13 09:53:53 -05:00
Pāvels Nadtočajevs a9088880c2 [Windows] Remove await MSVC flags. 2026-05-13 10:51:51 +03:00
Anish Kumar 1f5c3cbb7f Fix Android plugin signal regression 2026-05-13 04:29:11 +05:30
norepro 800223a043 Release X11 pressed events on true focus loss
There are two "focus lost" signals in the Godot X11 display server:

1. `FocusOut` - native X11 signal

2. `NOTIFICATION_APPLICATION_FOCUS_OUT` - Godot signal after 250ms of
no other window getting focus.

When focus is lost, the intent is to clear any input pressed events so
that, when focus returns, we have a clean slate.

The bug is that the pressed events are (attempted to be) cleared on the
first signal, X11's `FocusOut`. This is always a no-op because it
returns early if the application still has focus. Godot's X11 server
only sets that flag after the second signal, not the first.

Move the pressed event clearing from the first signal handler to the
second. This makes clearing pressed events do what it says.

This does not affect Wayland because it does not have the 250ms grace
period.

Simple repro is to load any 3D scene, hold 'W' and, while 'W' is held,
click on any non-Godot window. Release 'W', click back to Godot, and
hold RMB. It will zoom forward as if 'W' is still pressed.

After the fix, the same test has RMB look around as expected when no
other keys are pressed.

Fixes #118897
2026-05-08 00:41:20 -07:00