Skip to content

Commit ed30684

Browse files
committed
Qt: patch androidjnimain.cpp to make sure JNI is initialised when statically compiled
1 parent e4c319e commit ed30684

File tree

2 files changed

+20
-1
lines changed

2 files changed

+20
-1
lines changed

depends/packages/qt.mk

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ $(package)_dependencies=openssl zlib
88
$(package)_linux_dependencies=freetype fontconfig libxcb
99
$(package)_build_subdir=qtbase
1010
$(package)_qt_libs=corelib network widgets gui plugins testlib
11-
$(package)_patches=fix_qt_pkgconfig.patch mac-qmake.conf fix_configure_mac.patch fix_no_printer.patch fix_rcc_determinism.patch fix_riscv64_arch.patch xkb-default.patch no-xlib.patch fix_android_qmake_conf.patch
11+
$(package)_patches=fix_qt_pkgconfig.patch mac-qmake.conf fix_configure_mac.patch fix_no_printer.patch fix_rcc_determinism.patch fix_riscv64_arch.patch xkb-default.patch no-xlib.patch fix_android_qmake_conf.patch fix_android_jni_static.patch
1212

1313
$(package)_qttranslations_file_name=qttranslations-$($(package)_suffix)
1414
$(package)_qttranslations_sha256_hash=fb5a47799754af73d3bf501fe513342cfe2fc37f64e80df5533f6110e804220c
@@ -184,6 +184,7 @@ define $(package)_preprocess_cmds
184184
patch -p1 -i $($(package)_patch_dir)/fix_rcc_determinism.patch &&\
185185
patch -p1 -i $($(package)_patch_dir)/xkb-default.patch &&\
186186
patch -p1 -i $($(package)_patch_dir)/fix_android_qmake_conf.patch &&\
187+
patch -p1 -i $($(package)_patch_dir)/fix_android_jni_static.patch &&\
187188
echo "!host_build: QMAKE_CFLAGS += $($(package)_cflags) $($(package)_cppflags)" >> qtbase/mkspecs/common/gcc-base.conf && \
188189
echo "!host_build: QMAKE_CXXFLAGS += $($(package)_cxxflags) $($(package)_cppflags)" >> qtbase/mkspecs/common/gcc-base.conf && \
189190
echo "!host_build: QMAKE_LFLAGS += $($(package)_ldflags)" >> qtbase/mkspecs/common/gcc-base.conf && \
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
--- old/qtbase/src/plugins/platforms/android/androidjnimain.cpp
2+
+++ new/qtbase/src/plugins/platforms/android/androidjnimain.cpp
3+
@@ -890,6 +890,14 @@
4+
__android_log_print(ANDROID_LOG_FATAL, "Qt", "registerNatives failed");
5+
return -1;
6+
}
7+
+
8+
+ const jint ret = QT_PREPEND_NAMESPACE(QtAndroidPrivate::initJNI(vm, env));
9+
+ if (ret != 0)
10+
+ {
11+
+ __android_log_print(ANDROID_LOG_FATAL, "Qt", "initJNI failed");
12+
+ return ret;
13+
+ }
14+
+
15+
QWindowSystemInterfacePrivate::TabletEvent::setPlatformSynthesizesMouse(false);
16+
17+
m_javaVM = vm;
18+

0 commit comments

Comments
 (0)