As this is an RC bug, I've been investigating it a little. Here's
what I've determined so far:
(a) debugging SVGALib programs sucks. (sorry, had to get that off my
chest :) )
(b) The proximate cause of the crash is invoking memset with a pointer
to unallocated memory. This is done when the program tries to
draw into a NULL graph buffer (so it calculates an offset of X
from 0 and crashes...)
(c) The graph buffer is properly initialized when SVGALib starts up.
(d) The graph buffer remains initialized until a function called
rawmode_init() is invoked. rawmode_init() has no documentation,
does not exist in any header in /usr/include, and turns up nothing
useful on Google, except that it looks like it has something to
do with the keyboard (maybe it's supposed to put the terminal
into raw mode?). In particular, I can't see why calling it
should scribble on the program's memory.
(e) If I comment out the call to rawmode_init(), the program runs
successfully and gets to a menu ... then it just hangs. I
hypothesize that it can't read from the keyboard because the
keyboard isn't in raw mode.
(f) I am seriously wondering whether porting the whole *&$# thing to
SDL wouldn't be easier than trying to make the svgalib version
work as expected.
Daniel
--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]