BIG BUG in gtk+!



Here's the gdb output:
Breakpoint 1, pause (w=0x80debe8, main_data=0x7ffffba4) at gtkui.c:118
118   if (main_data->mpeg)
(gdb) continue
Continuing.

Breakpoint 3, stop (w=0x80dec30, main_data=0x7ffffba4) at gtkui.c:125
125   if (main_data->mpeg)
(gdb) continue
Continuing.

Breakpoint 2, delete_event (w=0x80da050, main_data=0x80eb128) at
gtkui.c:28
28   if (main_data->mpeg)
(gdb)

Whenever a pointer is sent as an argument to a signal hander function
for "delete_event",
the pointer is messed up.  This happened in three programs (two of which
aren't mine)
that I've checked.  This causes the program to crash if you utilize one
of the members...

What I originally thought was when gtk+ calls the function for
"delete_event", it makes
a second pointer and the pointer in the argument reflects a pointer to
the pointer...
I just tested it in gdb... proved wrong because:
(gdb) print &main_data
$1 = (xtheater_struct **) 0x7ffff718
and
0x7ffff718 != 0x7ffffba4

I don't know... this is a very weird bug



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]