X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=gp2x%2Fgp2x.c;h=c0396d9d7162ff9456a2e8bd7bbbb81b78e52ad5;hb=b9f8cb3d6d8d0b5965fab83a27fc356a56442ddb;hp=d6a701c97801ec529ccc681f899531d0e4e5c6a4;hpb=95151aea9d153b3a4a546da74fa338509b9b2db9;p=libpicofe.git diff --git a/gp2x/gp2x.c b/gp2x/gp2x.c index d6a701c..c0396d9 100644 --- a/gp2x/gp2x.c +++ b/gp2x/gp2x.c @@ -159,10 +159,11 @@ void gp2x_video_wait_vsync(void) void gp2x_memcpy_buffers(int buffers, void *data, int offset, int len) { - if (buffers & (1<<0)) memcpy((char *)gp2x_screens[0] + offset, data, len); - if (buffers & (1<<1)) memcpy((char *)gp2x_screens[1] + offset, data, len); - if (buffers & (1<<2)) memcpy((char *)gp2x_screens[2] + offset, data, len); - if (buffers & (1<<3)) memcpy((char *)gp2x_screens[3] + offset, data, len); + char *dst; + if (buffers & (1<<0)) { dst = (char *)gp2x_screens[0] + offset; if (dst != data) memcpy(dst, data, len); } + if (buffers & (1<<1)) { dst = (char *)gp2x_screens[1] + offset; if (dst != data) memcpy(dst, data, len); } + if (buffers & (1<<2)) { dst = (char *)gp2x_screens[2] + offset; if (dst != data) memcpy(dst, data, len); } + if (buffers & (1<<3)) { dst = (char *)gp2x_screens[3] + offset; if (dst != data) memcpy(dst, data, len); } }