diff --git a/.github/workflows/ecode-nightly.yml b/.github/workflows/ecode-nightly.yml index b61b220cc..04317e68b 100644 --- a/.github/workflows/ecode-nightly.yml +++ b/.github/workflows/ecode-nightly.yml @@ -325,8 +325,8 @@ jobs: - name: Install Dependencies run: | brew install bash create-dmg premake p7zip - curl -OL https://github.com/libsdl-org/SDL/releases/download/release-2.30.9/SDL2-2.30.9.dmg - hdiutil attach SDL2-2.30.9.dmg + curl -OL https://github.com/libsdl-org/SDL/releases/download/release-2.32.2/SDL2-2.32.2.dmg + hdiutil attach SDL2-2.32.2.dmg sudo cp -r /Volumes/SDL2/SDL2.framework /Library/Frameworks/ hdiutil detach /Volumes/SDL2 - name: Build diff --git a/premake4.lua b/premake4.lua index 866644234..7ad2ab5f0 100644 --- a/premake4.lua +++ b/premake4.lua @@ -344,7 +344,7 @@ os_links = { } backends = { } static_backends = { } backend_selected = false -remote_sdl2_version = "SDL2-2.30.3" +remote_sdl2_version = "SDL2-2.32.2" function build_arch_configuration() if os.is_real("mingw32") or os.is_real("mingw64") then diff --git a/premake5.lua b/premake5.lua index 01eaca407..d439f57d3 100644 --- a/premake5.lua +++ b/premake5.lua @@ -152,10 +152,12 @@ os_links = { } backends = { } static_backends = { } backend_selected = false -remote_sdl2_version = "SDL2-2.30.9" -remote_sdl2_devel_src_url = "https://libsdl.org/release/SDL2-2.30.9.zip" -remote_sdl2_devel_vc_url = "https://www.libsdl.org/release/SDL2-devel-2.30.9-VC.zip" -remote_sdl2_devel_mingw_url = "https://www.libsdl.org/release/SDL2-devel-2.30.9-mingw.zip" +remote_sdl2_version_number = "2.32.2" +remote_sdl2_version = "SDL2-" .. remote_sdl2_version_number +remote_sdl2_devel_src_url = "https://libsdl.org/release/" .. remote_sdl2_version .. ".zip" +remote_sdl2_devel_vc_url = "https://www.libsdl.org/release/SDL2-devel-" .. remote_sdl2_version_number .. "-VC.zip" +remote_sdl2_devel_mingw_url = "https://www.libsdl.org/release/SDL2-devel-" .. remote_sdl2_version_number .. "-mingw.zip" + remote_sdl2_arm64_cross_tools_path = "/usr/local/cross-tools/aarch64-w64-mingw32" function incdirs( dirs ) diff --git a/projects/linux/scripts/install_sdl2.sh b/projects/linux/scripts/install_sdl2.sh index acd753eff..43e999803 100644 --- a/projects/linux/scripts/install_sdl2.sh +++ b/projects/linux/scripts/install_sdl2.sh @@ -1,7 +1,7 @@ #!/bin/bash # Define SDL version and download URL -SDL_VERSION="2.30.9" +SDL_VERSION="2.32.2" SDL_URL="https://libsdl.org/release/SDL2-${SDL_VERSION}.zip" ARCH="x86_64" # Default architecture for host @@ -30,7 +30,8 @@ install_dependencies() { libxss-dev \ libxt-dev \ libxv-dev \ - libxxf86vm-dev || exit + libxxf86vm-dev \ + libdecor-0-dev || exit } # Function to install cross-compile dependencies for aarch64 @@ -57,7 +58,8 @@ install_cross_dependencies() { libxss-dev:arm64 \ libxt-dev:arm64 \ libxv-dev:arm64 \ - libxxf86vm-dev:arm64 || exit + libxxf86vm-dev:arm64 \ + libdecor-0-dev:arm64 || exit } # Function to configure for cross-compilation @@ -67,7 +69,7 @@ configure_for_aarch64() { export AR=aarch64-linux-gnu-ar export RANLIB=aarch64-linux-gnu-ranlib export STRIP=aarch64-linux-gnu-strip - ./configure --host=aarch64-linux-gnu --prefix=/usr --enable-video-x11 --enable-video-wayland --enable-wayland-shared || exit + ./configure --host=aarch64-linux-gnu --prefix=/usr --enable-video-x11 --enable-video-wayland --enable-wayland-shared --enable-libdecor --enable-libdecor-shared || exit } # Parse options @@ -100,7 +102,7 @@ if [ "$ARCH" == "aarch64" ]; then configure_for_aarch64 else echo "Configuring SDL2 for host system..." - ./configure --enable-video-x11 --enable-video-wayland --enable-wayland-shared || exit + ./configure --enable-video-x11 --enable-video-wayland --enable-wayland-shared --enable-libdecor --enable-libdecor-shared || exit fi # Build and install SDL2 diff --git a/src/tools/ecode/ecode.cpp b/src/tools/ecode/ecode.cpp index 816b0a6e2..d5eefb863 100644 --- a/src/tools/ecode/ecode.cpp +++ b/src/tools/ecode/ecode.cpp @@ -3609,6 +3609,12 @@ void App::init( const LogLevel& logLevel, std::string file, const Float& pidelDe if ( mFallbackFont ) FontManager::instance()->addFallbackFont( mFallbackFont ); + if ( mConfig.ui.fallbackFont != "fonts/DroidSansFallbackFull.ttf" ) { + mUserFallbackFont = loadFont( "fallback-font", mConfig.ui.fallbackFont ); + if ( mUserFallbackFont ) + FontManager::instance()->addFallbackFont( mUserFallbackFont ); + } + Log::info( "Fonts loaded in: %s", fontsClock.getElapsedTime().toString() ); mAsyncResourcesLoaded = true; diff --git a/src/tools/ecode/ecode.hpp b/src/tools/ecode/ecode.hpp index 7f6122b12..a7f1674c7 100644 --- a/src/tools/ecode/ecode.hpp +++ b/src/tools/ecode/ecode.hpp @@ -550,6 +550,7 @@ class App : public UICodeEditorSplitter::Client, public PluginContextProvider { FontTrueType* mFontMono{ nullptr }; FontTrueType* mTerminalFont{ nullptr }; FontTrueType* mFallbackFont{ nullptr }; + FontTrueType* mUserFallbackFont{ nullptr }; FontTrueType* mRemixIconFont{ nullptr }; FontTrueType* mNoniconsFont{ nullptr }; FontTrueType* mCodIconFont{ nullptr };