diff --git a/dlls/wined3d/pixelshader.c b/dlls/wined3d/pixelshader.c index 68dd80162fc..6b4a30b0cb0 100644 --- a/dlls/wined3d/pixelshader.c +++ b/dlls/wined3d/pixelshader.c @@ -530,7 +530,8 @@ GLuint find_gl_pshader(IWineD3DPixelShaderImpl *shader, const struct ps_compile_ TRACE("No matching GL shader found, compiling a new shader\n"); if(shader->shader_array_size == shader->num_gl_shaders) { - if(shader->gl_shaders) { + if (shader->num_gl_shaders) + { new_size = shader->shader_array_size + max(1, shader->shader_array_size / 2); new_array = HeapReAlloc(GetProcessHeap(), 0, shader->gl_shaders, new_size * sizeof(*shader->gl_shaders)); diff --git a/dlls/wined3d/vertexshader.c b/dlls/wined3d/vertexshader.c index e8d4b84d85d..4888c2a3101 100644 --- a/dlls/wined3d/vertexshader.c +++ b/dlls/wined3d/vertexshader.c @@ -465,7 +465,8 @@ GLuint find_gl_vshader(IWineD3DVertexShaderImpl *shader, const struct vs_compile TRACE("No matching GL shader found, compiling a new shader\n"); if(shader->shader_array_size == shader->num_gl_shaders) { - if(shader->gl_shaders) { + if (shader->num_gl_shaders) + { new_size = shader->shader_array_size + max(1, shader->shader_array_size / 2); new_array = HeapReAlloc(GetProcessHeap(), 0, shader->gl_shaders, new_size * sizeof(*shader->gl_shaders));