2009/12/10 Stefan Dösinger <ste...@codeweavers.com>: > @@ -6304,7 +6304,7 @@ HRESULT create_primary_opengl_context(IWineD3DDevice > *iface, IWineD3DSwapChain * ... > - swapchain->context[0]->render_offscreen = swapchain->render_to_fbo; > + swapchain->context[0]->render_offscreen = surface_is_offscreen(target); This will introduce a warning, surface_is_offscreen() takes an IWineD3DSurface pointer.
> - > - swapchain->context[0]->render_offscreen = swapchain->render_to_fbo; ... > + if(swapchain->context[0]) > + { > + swapchain->context[0]->render_offscreen = > swapchain->render_to_fbo; > + } That's pretty ugly, couple of points: - It doesn't make sense for "render_to_fbo" to be TRUE for a swapchain without back buffer. - Setting "render_offscreen" is really the responsibility of the context_create() call, similar to create_primary_opengl_context(). - The line is actually wrong, the relevant context has been setup to render to the front buffer, so "render_offscreen" should always be FALSE, even if there is a back buffer.