egl_dri2: Fix one context, multiple surfaces.
authorChia-I Wu <olv@lunarg.com>
Wed, 24 Nov 2010 05:42:06 +0000 (13:42 +0800)
committerChia-I Wu <olv@lunarg.com>
Wed, 24 Nov 2010 06:06:30 +0000 (14:06 +0800)
commit1f4c55128b7e4a2aa08600ae9338071a97cee8fa
tree1fd1a34900ad24795af3a02deaf8d7ffc26aa8cf
parent78a340fd487c56468ace7347a53f95a0c751c419
egl_dri2: Fix one context, multiple surfaces.

When a context was made current to another surface, the old code did
this

  dri2_dpy->core->bindContext(cctx, ddraw, rdraw);
  dri2_dpy->core->unbindContext(old_cctx);

and there will be no current context due to the second line.

unbindContext should be called only when bindContext is not.  This fixes
a regression since d19afc57.  Thanks to Neil Roberts for noticing the
issue and creating a test case.
src/egl/drivers/dri2/egl_dri2.c