From 68acb6b716cafbe9bb6f58d6a2b48443a76a50a7 Mon Sep 17 00:00:00 2001
From: John Scipione <jscipione@gmail.com>
Date: Thu, 21 Mar 2013 09:33:20 -0400
Subject: [PATCH] Allow Tracker to load image resources with any size
---
src/kits/tracker/Bitmaps.cpp | 11 ++++-------
1 file changed, 4 insertions(+), 7 deletions(-)
diff --git a/src/kits/tracker/Bitmaps.cpp b/src/kits/tracker/Bitmaps.cpp
index a148342..6d3d99e 100644
a
|
b
|
BImageResources::GetIconResource(int32 id, icon_size size,
|
153 | 153 | && BIconUtils::GetVectorIcon((uint8*)data, length, dest) == B_OK) { |
154 | 154 | return B_OK; |
155 | 155 | } |
156 | | #endif |
157 | | |
158 | | // fall back to R5 icon |
| 156 | #else |
159 | 157 | if (size != B_LARGE_ICON && size != B_MINI_ICON) |
160 | 158 | return B_ERROR; |
| 159 | #endif |
161 | 160 | |
| 161 | // fall back to R5 icon |
162 | 162 | length = 0; |
163 | 163 | data = LoadResource(size == B_LARGE_ICON ? 'ICON' : 'MICN', id, &length); |
164 | 164 | |
165 | | if (data == NULL |
166 | | || length != (size_t)(size == B_LARGE_ICON ? 1024 : 256)) { |
| 165 | if (data == NULL || length != (size_t)(size * size)) { |
167 | 166 | TRESPASS(); |
168 | 167 | return B_ERROR; |
169 | 168 | } |
170 | 169 | |
171 | | #ifdef __HAIKU__ |
172 | 170 | if (dest->ColorSpace() != B_CMAP8) { |
173 | 171 | return BIconUtils::ConvertFromCMAP8((uint8*)data, size, size, |
174 | 172 | size, dest); |
175 | 173 | } |
176 | | #endif |
177 | 174 | |
178 | 175 | dest->SetBits(data, (int32)length, 0, B_CMAP8); |
179 | 176 | return B_OK; |