[Bf-committers] Xserver crash with new render code
Ton Roosendaal
ton at blender.org
Mon Jan 3 14:40:06 CET 2005
Hi,
Thanks for tracking this down.
When we moved from glut to ghost this issue was never solved... as you
can see in comments in the code still ("do not release after 2.24"!).
Blender still doesnt handle multiple windows properly. Your proposal
will solve issues, but added long note with it to identify it as a WIP
solution.
-Ton-
On 28 Dec, 2004, at 3:01, Brecht Van Lommel wrote:
> Hi Ton,
>
> As I reported on irc my Xserver crashes in some situations with the new
> render code, when doing renderwin related stuff.
>
> I found renderwin_draw is called sometimes after the render has
> finished
> and the main window has been made active again. More precisely when
> do_render has completed, and mainwindow_make_active() has been called
> at
> the end of it.
>
> What happens then is that renderwin_draw sets the renderwin as the
> active window (and draws it ok), but doesn't set the main window back
> as
> the active window, causing a crash.
>
> I couldn't find how exactly to redo, it seems to happen randomly. The
> offending renderwin_draw call is caused by a Ghost redraw event, and
> comes from the Xserver.
>
> Adding the 3 lines of code in renderwin_draw fixed it:
>
> set_back_mainwindow = (winlay_get_active_window() != rw->win);
> window_make_active(rw->win);
>
> ...
>
> window_swap_buffers(rw->win);
> if (set_back_mainwindow)
> mainwindow_make_active();
>
> Cheers,
> Brecht.
>
> _______________________________________________
> Bf-committers mailing list
> Bf-committers at projects.blender.org
> http://projects.blender.org/mailman/listinfo/bf-committers
>
>
------------------------------------------------------------------------
--
Ton Roosendaal Blender Foundation ton at blender.org
http://www.blender.org
More information about the Bf-committers
mailing list