wined3d: At the start of RemoveContextFromArray numContexts is decreased by 1, the loop which loops through the whole array doesn't take this into account.

Discovered by Peter Oberndorfer.
This commit is contained in:
Roderick Colenbrander 2008-05-03 20:15:58 +00:00 committed by Alexandre Julliard
parent ed67a1f350
commit e3b662bb20
1 changed files with 2 additions and 1 deletions

View File

@ -546,7 +546,8 @@ static void RemoveContextFromArray(IWineD3DDeviceImpl *This, WineD3DContext *con
ERR("Cannot allocate a new context array, PANIC!!!\n");
}
t = 0;
for(s = 0; s < This->numContexts; s++) {
/* Note that we decreased numContexts a few lines up, so use '<=' instead of '<' */
for(s = 0; s <= This->numContexts; s++) {
if(oldArray[s] == context) continue;
This->contexts[t] = oldArray[s];
t++;