Fix setting window sizes to 0xFFFF from actually making a window
Jeffrey Pfau jeffrey@endrift.com
Wed, 09 Jul 2014 02:24:19 -0700
1 files changed,
4 insertions(+),
4 deletions(-)
M
src/gba/renderers/video-software.c
→
src/gba/renderers/video-software.c
@@ -259,7 +259,7 @@ _updatePalettes(softwareRenderer);
break; case REG_WIN0H: softwareRenderer->winN[0].h.packed = value; - if (softwareRenderer->winN[0].h.start > VIDEO_HORIZONTAL_PIXELS) { + if (softwareRenderer->winN[0].h.start > VIDEO_HORIZONTAL_PIXELS && softwareRenderer->winN[0].h.start != softwareRenderer->winN[0].h.end) { softwareRenderer->winN[0].h.start = 0; } if (softwareRenderer->winN[0].h.start > softwareRenderer->winN[0].h.end || softwareRenderer->winN[0].h.end > VIDEO_HORIZONTAL_PIXELS) {@@ -268,7 +268,7 @@ }
break; case REG_WIN1H: softwareRenderer->winN[1].h.packed = value; - if (softwareRenderer->winN[1].h.start > VIDEO_HORIZONTAL_PIXELS) { + if (softwareRenderer->winN[1].h.start > VIDEO_HORIZONTAL_PIXELS && softwareRenderer->winN[1].h.start != softwareRenderer->winN[1].h.end) { softwareRenderer->winN[1].h.start = 0; } if (softwareRenderer->winN[1].h.start > softwareRenderer->winN[1].h.end || softwareRenderer->winN[1].h.end > VIDEO_HORIZONTAL_PIXELS) {@@ -277,7 +277,7 @@ }
break; case REG_WIN0V: softwareRenderer->winN[0].v.packed = value; - if (softwareRenderer->winN[0].v.start > VIDEO_VERTICAL_PIXELS) { + if (softwareRenderer->winN[0].v.start > VIDEO_VERTICAL_PIXELS && softwareRenderer->winN[0].v.start != softwareRenderer->winN[0].v.end) { softwareRenderer->winN[0].v.start = 0; } if (softwareRenderer->winN[0].v.start > softwareRenderer->winN[0].v.end || softwareRenderer->winN[0].v.end > VIDEO_HORIZONTAL_PIXELS) {@@ -286,7 +286,7 @@ }
break; case REG_WIN1V: softwareRenderer->winN[1].v.packed = value; - if (softwareRenderer->winN[1].v.start > VIDEO_VERTICAL_PIXELS) { + if (softwareRenderer->winN[1].v.start > VIDEO_VERTICAL_PIXELS && softwareRenderer->winN[1].v.start != softwareRenderer->winN[1].v.end) { softwareRenderer->winN[1].v.start = 0; } if (softwareRenderer->winN[1].v.start > softwareRenderer->winN[1].v.end || softwareRenderer->winN[1].v.end > VIDEO_HORIZONTAL_PIXELS) {