diff --git a/zsnes/src/linux/gl_draw.c b/zsnes/src/linux/gl_draw.c index 1cc9fa1c..e3d83389 100644 --- a/zsnes/src/linux/gl_draw.c +++ b/zsnes/src/linux/gl_draw.c @@ -33,8 +33,10 @@ extern Uint8 FilteredGUI; extern Uint8 GUIOn2; extern unsigned int vidbuffer; +extern unsigned char curblank; void gl_clearwin(); +void UpdateVFrame(void); int gl_start(int width, int height, int req_depth, int FullScreen) { @@ -256,6 +258,9 @@ void gl_drawwin() // the value of newengen is equal to 1. // (see ProcessTransparencies in newgfx16.asm // for ZSNES' current transparency code) + UpdateVFrame(); + if (curblank != 0) + return; LockSurface(); diff --git a/zsnes/src/linux/sdllink.c b/zsnes/src/linux/sdllink.c index 67deacb1..a35c03b7 100644 --- a/zsnes/src/linux/sdllink.c +++ b/zsnes/src/linux/sdllink.c @@ -865,7 +865,6 @@ void UpdateSound(void *userdata, Uint8 * stream, int len) void UpdateVFrame(void) { Main_Proc(); - // WinUpdateDevices(); removed since it is an empty function CheckTimers(); } @@ -879,14 +878,8 @@ void clearwin() sw_clearwin(); } -extern unsigned char curblank; - void drawscreenwin(void) { - UpdateVFrame(); - if (curblank != 0) - return; - #ifdef __OPENGL__ if (UseOpenGL) gl_drawwin(); diff --git a/zsnes/src/linux/sw_draw.c b/zsnes/src/linux/sw_draw.c index cf12b794..fca408c5 100644 --- a/zsnes/src/linux/sw_draw.c +++ b/zsnes/src/linux/sw_draw.c @@ -22,6 +22,8 @@ extern void LinuxExit(); extern unsigned int vidbuffer; extern DWORD converta; extern unsigned int BitConv32Ptr; +extern unsigned char curblank; +void UpdateVFrame(void); BOOL sw_start(int width, int height, int req_depth, int FullScreen) { @@ -164,6 +166,10 @@ void sw_drawwin() // the value of newengen is equal to 1. // (see ProcessTransparencies in newgfx16.asm // for ZSNES' current transparency code) + UpdateVFrame(); + if (curblank != 0) + return; + LockSurface(); ScreenPtr = vidbuffer;