diff options
| author | Franklin Wei <git@fwei.tk> | 2017-05-18 18:03:53 -0400 |
|---|---|---|
| committer | Franklin Wei <git@fwei.tk> | 2017-05-18 18:03:53 -0400 |
| commit | 504346ab485e22a212a8df7e3fa73b1312528908 (patch) | |
| tree | 8e3a782fc85191a8b66e072ebe011426af42b838 /apps/plugins | |
| parent | 7b6f34a4561c544739c4271ecc27c1d5a7b0af7d (diff) | |
| download | rockbox-504346ab485e22a212a8df7e3fa73b1312528908.zip rockbox-504346ab485e22a212a8df7e3fa73b1312528908.tar.gz rockbox-504346ab485e22a212a8df7e3fa73b1312528908.tar.bz2 rockbox-504346ab485e22a212a8df7e3fa73b1312528908.tar.xz | |
puzzles: fix Bridges crash on Clip Zip
- small screen could lead to invalid viewport coordinates
Change-Id: I1f2a323554e4ed31f250218220b464a02bffa308
Diffstat (limited to 'apps/plugins')
| -rw-r--r-- | apps/plugins/puzzles/rockbox.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/apps/plugins/puzzles/rockbox.c b/apps/plugins/puzzles/rockbox.c index 7a29f34..94482ce 100644 --- a/apps/plugins/puzzles/rockbox.c +++ b/apps/plugins/puzzles/rockbox.c @@ -86,10 +86,10 @@ static void rb_clip(void *handle, int x, int y, int w, int h) if(!settings.clipoff) { LOGF("rb_clip(%d %d %d %d)", x, y, w, h); - clip_rect.x = x; - clip_rect.y = y; - clip_rect.width = w; - clip_rect.height = h; + clip_rect.x = MAX(0, x); + clip_rect.y = MAX(0, y); + clip_rect.width = MIN(LCD_WIDTH, w); + clip_rect.height = MIN(LCD_HEIGHT, h); clip_rect.font = FONT_UI; clip_rect.drawmode = DRMODE_SOLID; #if LCD_DEPTH > 1 @@ -663,7 +663,7 @@ static void rb_end_draw(void *handle) LOGF("rb_end_draw"); if(need_draw_update) - rb->lcd_update_rect(ud_l, ud_u, ud_r - ud_l, ud_d - ud_u); + rb->lcd_update_rect(MAX(0, ud_l), MAX(0, ud_u), MIN(LCD_WIDTH, ud_r - ud_l), MIN(LCD_HEIGHT, ud_d - ud_u)); } static char *titlebar = NULL; |