From 3a5e6c43577f0efa6d1f740d36ab0322d40a1d5d Mon Sep 17 00:00:00 2001 From: Ken Thomases Date: Wed, 12 Jan 2011 00:17:20 -0600 Subject: [PATCH] winemenubuilder: On Mac, understand and keep 256x256 Vista-style icons. --- programs/winemenubuilder/winemenubuilder.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/programs/winemenubuilder/winemenubuilder.c b/programs/winemenubuilder/winemenubuilder.c index 8996836631f..684e1305ef9 100644 --- a/programs/winemenubuilder/winemenubuilder.c +++ b/programs/winemenubuilder/winemenubuilder.c @@ -863,17 +863,18 @@ static HRESULT platform_write_icon(IStream *icoStream, int exeIndex, LPCWSTR ico for (i = 0; i < numEntries; i++) { int slot; + int width = iconDirEntries[i].bWidth ? iconDirEntries[i].bWidth : 256; + int height = iconDirEntries[i].bHeight ? iconDirEntries[i].bHeight : 256; - WINE_TRACE("[%d]: %d x %d @ %d\n", i, iconDirEntries[i].bWidth, - iconDirEntries[i].bHeight, iconDirEntries[i].wBitCount); - slot = size_to_slot(iconDirEntries[i].bWidth); + WINE_TRACE("[%d]: %d x %d @ %d\n", i, width, height, iconDirEntries[i].wBitCount); + slot = size_to_slot(width); if (slot < 0) continue; if (iconDirEntries[i].wBitCount >= best[slot].maxBits && - (iconDirEntries[i].bHeight * iconDirEntries[i].bWidth) >= best[slot].maxPixels) + (height * width) >= best[slot].maxPixels) { best[slot].index = i; - best[slot].maxPixels = iconDirEntries[i].bHeight * iconDirEntries[i].bWidth; + best[slot].maxPixels = height * width; best[slot].maxBits = iconDirEntries[i].wBitCount; } }