Bill,

> > Any pointers on the definition and use of the variable Output would be
> > appreciated!
> 
> It's declared as a global in data.c along with the other global structs
> such as Crosshair and Settings.

Thanks!  I found that after I posted.  However, I am still working out
how it gets built.  Following along with gdb does show that it gets
built correctly, AFAICT.


> Stuart, would it help to know if others running Fedora do or don't have
> this problem?  Maybe they could chime in with a yes or no... Anybody?
> Or does anybody see it on another distribution?

I have observed it on both Fedora 2 & Fedora 3.  I use only the
vanilla Fedora installs (i.e. no fancy themes or skins).  

I get the warning spew both when I
load a new board via "File->Load layout", and also when I start a new
board via "File->Start new layout". 

The warning spew comes after program flow leavs the fcn
gui_output_drawing_area_expose_event_cb.  At that point, the gtk
dispatcher is running around making sure all widgets got the
"GDK_EVENT_EXPOSE" signal.  It is basically doing internal gkt
housekeeping.  When it invokes the internal GTK fcn
"flush_all_displays", then the warning spew occurs.

Note that the warning spew doesn't always occur after leaving
gui_output_drawing_area_expose_event_cb.  It only occurs in the
context of loading a board or starting a new layout.  Therefore, the
act of loading or starting a board must do something funny.  Any ideas
what's unique about those actions?

While tracing this bug with gdb I have noticed that
gui_output_drawing_area_expose_event_cb is frequently called with bad
args.  Perhaps this is a part of the puzzle?  Here is an example:

Breakpoint 1, gui_output_drawing_area_expose_event_cb
(widget=0xfeeb56f0, 
    ev=0xfeeb56f0, out=0x80f7720) at gui-output-events.c:908

Note that widget and ev both point to the same place.  However, they
shouldn't!  widget is a GTK widget (pointer), and ev is a GDK event (pointer).

When I go up to the calling fcn, I find that the calling args are
correct.  This kind of problem with the stack is usually due to a
loose pointer or bad memory malloc or something like that.  However, I
haven't found any obvious problems yet.  

Any ideas?

Stuart

Reply via email to