Review: http://codereview.appspot.com/3969041/

Fixed dangling pointers in Surface.

When the surface is reset, either because of device lost or a window
resize, and any of these fail:

CreateDepthStencilSurface
CreateTexture

Some subsset of mSwapChain and/or mDepthStencil would be left
uninitialized. This seemed to happen frequently on WIndows XP boxes.

Example crash dumps:

Thread 0 *CRASHED* ( EXCEPTION_ACCESS_VIOLATION_READ @
0xffffffff800f0004 )

0x014f1aac       [libegl.dll     -
surface.cpp:479]        egl::Surface::getDepthStencil()
0x1001324c       [libglesv2.dll  -
context.cpp:301]        gl::Context::makeCurrent(egl::Display *,egl::Surface *)
0x10018c7e       [libglesv2.dll  - main.cpp:85] gl::makeCurrent(gl::Context
*,egl::Display *,egl::Surface *)
0x10017366       [libglesv2.dll  - context.cpp:3524]    glMakeCurrent
0x014f607c       [libegl.dll     - libegl.cpp:884]      eglMakeCurrent

Thread 0 *CRASHED* ( EXCEPTION_ACCESS_VIOLATION_READ @
0xffffffffe95b5a5d )

0x01131a14       [libegl.dll     - surface.cpp:433]     egl::Surface::swap()
0x01136310       [libegl.dll     - libegl.cpp:1043]     eglSwapBuffers
0x0214ac64       [chrome.dll     -
gl_context_egl.cc:240]  gfx::NativeViewEGLContext::SwapBuffers()


git-svn-id: https://angleproject.googlecode.com/svn/trunk@531 736b8ea6-26fd-11df-bfd4-992fa37f6226
1 file changed