diff --git a/src/win-d3d-fs.cc b/src/win-d3d-fs.cc index c3ca8d1..9c13008 100644 --- a/src/win-d3d-fs.cc +++ b/src/win-d3d-fs.cc @@ -306,6 +306,9 @@ static void d3d_fs_blit_memtoscreen(int x, int y, int y1, int y2, int w, int h) int yy; double l, t, r, b; + if (y1 == y2) + return; /*Nothing to do*/ + d3d_verts[0].tu = d3d_verts[2].tu = d3d_verts[3].tu = 0; d3d_verts[0].tv = d3d_verts[3].tv = d3d_verts[4].tv = 0; d3d_verts[1].tu = d3d_verts[4].tu = d3d_verts[5].tu = (float)w / 2048.0; @@ -396,6 +399,9 @@ static void d3d_fs_blit_memtoscreen_8(int x, int y, int w, int h) int xx, yy; double l, t, r, b; + if (!h) + return; /*Nothing to do*/ + d3d_verts[0].tu = d3d_verts[2].tu = d3d_verts[3].tu = 0; d3d_verts[0].tv = d3d_verts[3].tv = d3d_verts[4].tv = 0; d3d_verts[1].tu = d3d_verts[4].tu = d3d_verts[5].tu = (float)w / 2048.0; diff --git a/src/win-d3d.cc b/src/win-d3d.cc index a1e92ea..d239c2c 100644 --- a/src/win-d3d.cc +++ b/src/win-d3d.cc @@ -232,6 +232,9 @@ void d3d_blit_memtoscreen(int x, int y, int y1, int y2, int w, int h) uint32_t *p, *src; int yy; + if (y1 == y2) + return; /*Nothing to do*/ + d3d_verts[0].tu = d3d_verts[2].tu = d3d_verts[3].tu = 0;//0.5 / 2048.0; d3d_verts[0].tv = d3d_verts[3].tv = d3d_verts[4].tv = 0;//0.5 / 2048.0; d3d_verts[1].tu = d3d_verts[4].tu = d3d_verts[5].tu = (float)w / 2048.0; @@ -306,6 +309,9 @@ void d3d_blit_memtoscreen_8(int x, int y, int w, int h) int yy, xx; HRESULT hr = D3D_OK; + if (h == 0) + return; /*Nothing to do*/ + d3d_verts[0].tu = d3d_verts[2].tu = d3d_verts[3].tu = 0;//0.5 / 2048.0; d3d_verts[0].tv = d3d_verts[3].tv = d3d_verts[4].tv = 0;//0.5 / 2048.0; d3d_verts[1].tu = d3d_verts[4].tu = d3d_verts[5].tu = (float)w / 2048.0;