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]

Reply via email to