Am Freitag 11 Mai 2007 11:29 schrieb Alexandre Julliard: > Stefan Dösinger <[EMAIL PROTECTED]> writes: > > @@ -2731,9 +2792,13 @@ IDirectDrawImpl_EnumSurfaces(IDirectDraw7 *iface, > > desc = surf->surface_desc; > > IDirectDrawSurface7_AddRef(ICOM_INTERFACE(surf, > > IDirectDrawSurface7)); if(Callback( ICOM_INTERFACE(surf, > > IDirectDrawSurface7), &desc, Context) != DDENUMRET_OK) + { > > + DDOBJ_UNLOCK(This); > > return DD_OK; > > + } > > It don't think you can call an arbitrary callback function with the > lock held. Makes sense. I'll write a test to see how windows behaves if another thread creates a surface while a thread sleeps in the callback.