Fixed bug 1977 - D3D_UpdateClipRect() sets the wrong width for the clip rect

Bithika Mookherjee

SDL_RenderSetClipRect() calls into renderer->UpdateClipRect(renderer).

I am not sure if UpdateClipRect() can point to a number of clip rect update functions, but on my platform it calls D3D_UpdateClipRect().

In that function, the rect to pass to IDirect3DDevice9_SetScissorRect() has it's right field set as:

    r.right = rect->w + rect->w;

But actually, this should be:

    r.right = rect->x + rect->w;
This commit is contained in:
Sam Lantinga 2013-07-19 22:43:14 -07:00
parent 93f82137fd
commit a663b9c637

View file

@ -902,7 +902,7 @@ D3D_UpdateClipRect(SDL_Renderer * renderer)
IDirect3DDevice9_SetRenderState(data->device, D3DRS_SCISSORTESTENABLE, TRUE);
r.left = rect->x;
r.top = rect->y;
r.right = rect->w + rect->w;
r.right = rect->x + rect->w;
r.bottom = rect->y + rect->h;
result = IDirect3DDevice9_SetScissorRect(data->device, &r);