diff --git a/.github/workflows/debug_build.yml b/.github/workflows/debug_build.yml index f399e6a..5c6dceb 100644 --- a/.github/workflows/debug_build.yml +++ b/.github/workflows/debug_build.yml @@ -21,7 +21,7 @@ jobs: steps: - name: Install dependencies run: | - sudo apt update && sudo apt install -y libarchive-tools binutils-aarch64-linux-gnu binutils-arm-linux-gnueabihf + sudo apt update && sudo apt install -y libarchive-tools - name: Clone repository uses: actions/checkout@v4 with: diff --git a/app/src/main/cpp/pixman b/app/src/main/cpp/pixman index 37216a3..54cad71 160000 --- a/app/src/main/cpp/pixman +++ b/app/src/main/cpp/pixman @@ -1 +1 @@ -Subproject commit 37216a32839f59e8dcaa4c3951b3fcfc3f07852c +Subproject commit 54cad71674ec485cbbbf49876feaa8a69b97c828 diff --git a/app/src/main/cpp/recipes/pixman.cmake b/app/src/main/cpp/recipes/pixman.cmake index ccc7a62..4833b59 100644 --- a/app/src/main/cpp/recipes/pixman.cmake +++ b/app/src/main/cpp/recipes/pixman.cmake @@ -1,3 +1,6 @@ +file(GENERATE + OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/pixman-config.h" + CONTENT "") file(GENERATE OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/pixman-version.h" CONTENT " @@ -7,11 +10,11 @@ file(GENERATE #endif #define PIXMAN_VERSION_MAJOR 0 -#define PIXMAN_VERSION_MINOR 42 -#define PIXMAN_VERSION_MICRO 2 +#define PIXMAN_VERSION_MINOR 43 +#define PIXMAN_VERSION_MICRO 4 -#define PIXMAN_VERSION_STRING \"0.42.2\" -#define PIXMAN_VERSION 4202 +#define PIXMAN_VERSION_STRING \"0.43.4\" +#define PIXMAN_VERSION 4304 #ifndef PIXMAN_API # define PIXMAN_API @@ -64,7 +67,7 @@ if("${CMAKE_ANDROID_ARCH_ABI}" STREQUAL "arm64-v8a") "pixman/pixman/pixman-arm-neon.c" "pixman/pixman/pixman-arma64-neon-asm.S" "pixman/pixman/pixman-arma64-neon-asm-bilinear.S") - set(PIXMAN_CFLAGS ${PIXMAN_CFLAGS} "-DUSE_ARM_A64_NEON=1" "-fno-integrated-as" "-B" "/usr/aarch64-linux-gnu/bin") + set(PIXMAN_CFLAGS ${PIXMAN_CFLAGS} "-DUSE_ARM_A64_NEON=1") endif() if("${CMAKE_ANDROID_ARCH_ABI}" STREQUAL "armeabi-v7a") @@ -74,7 +77,7 @@ if("${CMAKE_ANDROID_ARCH_ABI}" STREQUAL "armeabi-v7a") "pixman/pixman/pixman-arm-neon-asm-bilinear.S" "pixman/pixman/pixman-arm-simd-asm.S" "pixman/pixman/pixman-arm-simd-asm-scaled.S") - set(PIXMAN_CFLAGS ${PIXMAN_CFLAGS} "-DUSE_ARM_SIMD=1" "-DUSE_ARM_NEON=1" "-fno-integrated-as" "-B" "/usr/arm-linux-gnueabihf/bin" "-v") + set(PIXMAN_CFLAGS ${PIXMAN_CFLAGS} "-DUSE_ARM_SIMD=1" "-DUSE_ARM_NEON=1" "-v") endif() if ("${CMAKE_ANDROID_ARCH_ABI}" STREQUAL "x86" OR "${CMAKE_ANDROID_ARCH_ABI}" STREQUAL "x86_64") diff --git a/app/src/main/java/com/termux/x11/CmdEntryPoint.java b/app/src/main/java/com/termux/x11/CmdEntryPoint.java index d50ab66..19d450a 100644 --- a/app/src/main/java/com/termux/x11/CmdEntryPoint.java +++ b/app/src/main/java/com/termux/x11/CmdEntryPoint.java @@ -183,7 +183,7 @@ public class CmdEntryPoint extends ICmdEntryInterface.Stub { /** @noinspection DataFlowIssue*/ @SuppressLint("DiscouragedPrivateApi") public static Context createContext() { - Context context = null; + Context context; PrintStream err = System.err; try { java.lang.reflect.Field f = Class.forName("sun.misc.Unsafe").getDeclaredField("theUnsafe"); @@ -217,6 +217,15 @@ public class CmdEntryPoint extends ICmdEntryInterface.Stub { private static native boolean connected(); static { + try { + if (Looper.getMainLooper() == null) + Looper.prepareMainLooper(); + } catch (Exception e) { + Log.e("CmdEntryPoint", "Something went wrong when preparing MainLooper", e); + } + handler = new Handler(); + ctx = createContext(); + String path = "lib/" + Build.SUPPORTED_ABIS[0] + "/libXlorie.so"; ClassLoader loader = CmdEntryPoint.class.getClassLoader(); URL res = loader != null ? loader.getResource(path) : null; @@ -236,14 +245,5 @@ public class CmdEntryPoint extends ICmdEntryInterface.Stub { System.exit(134); } } - - try { - if (Looper.getMainLooper() == null) - Looper.prepareMainLooper(); - } catch (Exception e) { - Log.e("CmdEntryPoint", "Something went wrong when preparing MainLooper", e); - } - handler = new Handler(); - ctx = createContext(); } }