Release v0.4.1: harden update checksum and fix Settings overlap

This commit is contained in:
2026-10-28 22:22:08 +02:00
parent dc615d0223
commit d1eabfca88
10 changed files with 41 additions and 21 deletions
+5
View File
@@ -487,6 +487,11 @@ int main(int argc, char **argv) {
ks::showSettings(app,false);
auto settings=app.settingsWindow;
require(settings&&!IsWindowVisible(settings),"settings layout tested without changing user focus");
for(auto pair:{std::pair{207,215},std::pair{207,232},std::pair{207,220},std::pair{232,230},std::pair{230,231},std::pair{231,253}}) {
RECT first{},second{},overlap{};
GetWindowRect(GetDlgItem(settings,pair.first),&first); GetWindowRect(GetDlgItem(settings,pair.second),&second);
require(!IntersectRect(&overlap,&first,&second),"capture hotkey and layout controls do not overlap");
}
RECT frame{},client{},cancel{};
GetWindowRect(settings,&frame);
MONITORINFO monitor{sizeof(monitor)};
+5
View File
@@ -43,6 +43,11 @@ try {
$sum=Join-Path $root 'SHA256SUMS.txt'
((Get-FileHash -LiteralPath $archive -Algorithm SHA256).Hash+' KSwitcher-win-x64.zip') | Set-Content -LiteralPath $sum
Assert-Checksum $archive $sum; ++$script:checks
& {
function Get-FileHash { throw 'Get-FileHash unavailable in inherited module environment' }
Assert-Checksum $archive $sum
}
++$script:checks
$stage=Join-Path $root 'stage'
Expand-Release $archive $stage $binaryVersion; ++$script:checks
Reject { Expand-Release $archive (Join-Path $root 'wrong-version') ([version]'9.0.0') } 'version mismatch rejected'