minor recovery fixes
- protect against missing/malformed bitmaps: fail to display them but
don't crash.
- don't draw animation overlays until the overlay offset is computed.
- logging cleanup
Change-Id: Ieb1c155cfbb11e643000bdb5d1a57900c8757739
diff --git a/minui/graphics.c b/minui/graphics.c
index 88572a8..287878e 100644
--- a/minui/graphics.c
+++ b/minui/graphics.c
@@ -245,6 +245,9 @@
}
void gr_texticon(int x, int y, gr_surface icon) {
+ if (gr_context == NULL || icon == NULL) {
+ return;
+ }
GGLContext* gl = gr_context;
gl->bindTexture(gl, (GGLSurface*) icon);
@@ -268,7 +271,7 @@
}
void gr_blit(gr_surface source, int sx, int sy, int w, int h, int dx, int dy) {
- if (gr_context == NULL) {
+ if (gr_context == NULL || source == NULL) {
return;
}
GGLContext *gl = gr_context;
diff --git a/minui/resources.c b/minui/resources.c
index ac7bdac..065f431 100644
--- a/minui/resources.c
+++ b/minui/resources.c
@@ -178,8 +178,6 @@
static int matches_locale(const char* loc) {
if (locale == NULL) return 0;
- printf("matching loc=[%s] vs locale=[%s]\n", loc, locale);
-
if (strcmp(loc, locale) == 0) return 1;
// if loc does *not* have an underscore, and it matches the start
@@ -190,7 +188,6 @@
int i;
for (i = 0; loc[i] != 0 && loc[i] != '_'; ++i);
if (loc[i] == '_') return 0;
- printf(" partial match possible; i = %d\n", i);
return (strncmp(locale, loc, i) == 0 && locale[i] == '_');
}
@@ -268,9 +265,9 @@
int len = row[4];
char* loc = row+5;
- printf("row %d: %s %d x %d\n", y, loc, w, h);
-
if (y+1+h >= height || matches_locale(loc)) {
+ printf(" %20s: %s (%d x %d @ %d)\n", name, loc, w, h, y);
+
surface = malloc(sizeof(GGLSurface));
if (surface == NULL) {
result = -8;