diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 5219136c..0030936d 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -115,11 +115,11 @@ jobs: artifact_path: "build/bin/Release/" package_cmd: | mkdir package - cp -r build/bin/Release/* package/ - cp -r assets package/ - cp LICENSE package/ - cp README.md package/ - cd package && 7z a ../yaze-windows-x64.zip * + xcopy /E /I build\bin\Release\* package\ + xcopy /E /I assets package\assets + copy LICENSE package\ + copy README.md package\ + cd package && 7z a ..\yaze-windows-x64.zip * - name: "Windows x86" os: windows-2022 @@ -130,11 +130,11 @@ jobs: artifact_path: "build/bin/Release/" package_cmd: | mkdir package - cp -r build/bin/Release/* package/ - cp -r assets package/ - cp LICENSE package/ - cp README.md package/ - cd package && 7z a ../yaze-windows-x86.zip * + xcopy /E /I build\bin\Release\* package\ + xcopy /E /I assets package\assets + copy LICENSE package\ + copy README.md package\ + cd package && 7z a ..\yaze-windows-x86.zip * - name: "macOS Universal" os: macos-14 @@ -172,35 +172,35 @@ jobs: else # Create a basic Info.plist VERSION_NUM=$(echo "${{ needs.validate-and-prepare.outputs.tag_name }}" | sed 's/^v//') - cat > "Yaze.app/Contents/Info.plist" << EOF - - - - - CFBundleExecutable - yaze - CFBundleIdentifier - com.yaze.editor - CFBundleName - Yaze - CFBundleVersion - $VERSION_NUM - CFBundleShortVersionString - $VERSION_NUM - CFBundlePackageType - APPL - - -EOF + cat > "Yaze.app/Contents/Info.plist" < + + + + CFBundleExecutable + yaze + CFBundleIdentifier + com.yaze.editor + CFBundleName + Yaze + CFBundleVersion + $VERSION_NUM + CFBundleShortVersionString + $VERSION_NUM + CFBundlePackageType + APPL + + + EOF fi fi # Create DMG mkdir dmg_staging cp -r Yaze.app dmg_staging/ - cp LICENSE dmg_staging/ - cp README.md dmg_staging/ - cp -r docs dmg_staging/ + cp LICENSE dmg_staging/ 2>/dev/null || echo "LICENSE not found" + cp README.md dmg_staging/ 2>/dev/null || echo "README.md not found" + cp -r docs dmg_staging/ 2>/dev/null || echo "docs directory not found" hdiutil create -srcfolder dmg_staging -format UDZO -volname "Yaze ${{ needs.validate-and-prepare.outputs.tag_name }}" yaze-macos.dmg - name: "Linux x64" @@ -210,10 +210,10 @@ EOF package_cmd: | mkdir package cp build/bin/yaze package/ - cp -r assets package/ - cp -r docs package/ - cp LICENSE package/ - cp README.md package/ + cp -r assets package/ 2>/dev/null || echo "assets directory not found" + cp -r docs package/ 2>/dev/null || echo "docs directory not found" + cp LICENSE package/ 2>/dev/null || echo "LICENSE not found" + cp README.md package/ 2>/dev/null || echo "README.md not found" tar -czf yaze-linux-x64.tar.gz -C package . runs-on: ${{ matrix.os }} @@ -439,6 +439,14 @@ EOF run: | $ErrorActionPreference = "Stop" + # Debug: List build directory contents + Write-Host "Build directory contents:" -ForegroundColor Cyan + if (Test-Path "build") { + Get-ChildItem -Recurse build -Name | Select-Object -First 20 + } else { + Write-Host "build directory does not exist" -ForegroundColor Red + } + # Determine executable path based on platform if ("${{ runner.os }}" -eq "Windows") { $exePath = "build\bin\${{ env.BUILD_TYPE }}\yaze.exe" @@ -473,7 +481,7 @@ EOF # Package - name: Package - shell: bash + shell: ${{ runner.os == 'Windows' && 'cmd' || 'bash' }} run: ${{ matrix.package_cmd }} # Create release with artifacts (will create release if it doesn't exist) diff --git a/src/app/core/platform/font_loader.cc b/src/app/core/platform/font_loader.cc index e5ca79de..cd21db4d 100644 --- a/src/app/core/platform/font_loader.cc +++ b/src/app/core/platform/font_loader.cc @@ -251,14 +251,14 @@ void LoadSystemFonts() { if (result == ERROR_SUCCESS && valueCount > 0) { // Allocate buffers with proper size limits - const size_t maxNameSize = std::min(static_cast(maxValueNameSize) + 1, size_t(1024)); - const size_t maxDataSize = std::min(static_cast(maxValueDataSize) + 1, size_t(4096)); + const size_t maxNameSize = (std::min)(static_cast(maxValueNameSize) + 1, size_t(1024)); + const size_t maxDataSize = (std::min)(static_cast(maxValueDataSize) + 1, size_t(4096)); std::vector valueName(maxNameSize); std::vector valueData(maxDataSize); // Enumerate font entries (limit to prevent excessive loading) - const DWORD maxFontsToLoad = std::min(valueCount, DWORD(50)); + const DWORD maxFontsToLoad = (std::min)(valueCount, DWORD(50)); for (DWORD i = 0; i < maxFontsToLoad; i++) { DWORD valueNameSize = static_cast(maxNameSize);