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);