diff --git a/ChangeLog b/ChangeLog index 446578070..baae0d52f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,6 +1,7 @@ 2009-02-07 Richard Frith-Macdonald * Source/GSThemeTools.m: Add a few checks for tile sizes + * Source/GSTheme.m: Limit icon size to 48x48 2009-02-06 Richard Frith-Macdonald diff --git a/Source/GSTheme.m b/Source/GSTheme.m index 301155a79..2db4da1a8 100644 --- a/Source/GSTheme.m +++ b/Source/GSTheme.m @@ -603,6 +603,23 @@ typedef struct { { _icon = RETAIN([NSImage imageNamed: @"GNUstep"]); } + else + { + NSSize s = [_icon size]; + float scale = 1.0; + + if (s.height > 48.0) + scale = 48.0 / s.height; + if (48.0 / s.width < scale) + scale = 48.0 / s.width; + if (scale != 1.0) + { + [_icon setScalesWhenResized: YES]; + s.height *= scale; + s.width *= scale; + [_icon setSize: s]; + } + } } return _icon; }