Module: wine Branch: master Commit: 3a5e6c43577f0efa6d1f740d36ab0322d40a1d5d URL: http://source.winehq.org/git/wine.git/?a=commit;h=3a5e6c43577f0efa6d1f740d36...
Author: Ken Thomases ken@codeweavers.com Date: Wed Jan 12 00:17:20 2011 -0600
winemenubuilder: On Mac, understand and keep 256x256 Vista-style icons.
---
programs/winemenubuilder/winemenubuilder.c | 11 ++++++----- 1 files changed, 6 insertions(+), 5 deletions(-)
diff --git a/programs/winemenubuilder/winemenubuilder.c b/programs/winemenubuilder/winemenubuilder.c index 8996836..684e130 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; } }