Re: [AD] Real weird unix bug, help wanted

[ Thread Index | Date Index | More lists.liballeg.org/allegro-developers Archives ]


On Sat, 2006-03-04 at 00:41 +0100, Hans de Goede wrote:
> Hi all,
> 
> As already discussed I've been working on a solution using 3 windows:
> -fs_window (for fullscreen)
> -wm_window (window managed)
> -window    (the real window)
> 2 of which will be created in _xiwn_create_window: wm_window and window. The
> fullscreen window gets (re)created when needed, because reusing it 
> causes the
> same trouble again.
> The real window uses wm_window as parent initially and will be reparened 
> to the
> (freshly created) fullscreen window when requested and reparented back 
> again in
> screen_destroy.
> 
> Idea / concept of 3 windows borrowed from SDL. But somehow SDL manages 
> to reuse the fullscreen window too.

Probably would need to find out what part of the window state exactly is
responsible for the MoveWindow to be ignored (that's still the only
reason we need to completely re-create it, right?). But anyway, having
the actual window as a sub-window sounds like a good work-around in any
case.

> This patch also adds:
> -support for fullscreen without the XF86VM extension
> (I believe xgfxdrv.c needs updating for this too, untested)
> -support for not available resolutions in fullscreen, it
>   chooses the smallest bigger mode and centers the graphics
> -gets completly rid of the center window patch that was disabled because of
> WindowMaker trouble this should no longer be needed, see comments in the 
> patch.

All 3 ideas sound good.

> -integrates xwin_resize_window into xwin_create_window the code was 
> wrong for
> seperate resize and it wasn't use anywhere else. Resizing a toplevel 
> window will
> only send a resize request to the window manager, since our hints say 
> we're not
> resizable the window manager will ignore this request, resulting in nothing
> happening. The unmap might have helped here but we were mapping the 
> window again
> before changing the hints. when testing resizing code for xmame I've 
> even been
> able to resize a window by just setting the hints, the way which always 
> works
> which I found for xmame is:
> *set hints to resizable
> *XResizeWindow
> *set hints to fixed new size

This knowledge will be useful for 4.3, when we add windows resizing
support. Hopefully this is happening soon, and hopefully you are around
then :)

> Please review and test, and let me know what you think.
> 

Sorry, but the patch doesn't seem to work. Maybe you forgot to svn up or
something?

-- 
Elias Pschernig





Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/