hi, > Wow. This patch is messy, if I may say so. There must be a more > elegant way to do this, especially given the fact that you remove > atexit(sdl_cleanup)s without explanation.
well, the diff output is messy, because I added sdl_resize2() above sdl_resize() to avoid adding a forward declaration.
the patch itself might be messy as well, but that depends on your point of view. I don't think it is too messy. I did it that way because I wanted the patch to be as less invasively as possible. I did not change any existing function prototypes and all the changes are restricted to one source file.
just as an example: changing the function prototype of sdl_resize() would lead to much more changes at other places as well to make things consistent again. I don't think this would make the patch less messy.
I didn't remove the atexit() call, it is just moved some lines upwards (look carefully) because now there is a check if the initial resize to 640x400 fails. If it fails we call exit() and that means the call to atexit() must be done before a possible call to exit().
However, I agree with you that there should exist another solution. Does qemu have access to the maximum resolution of the host display? cheers, Andi