gnomepager_applet SIGSEGV (from gtk+)



This is repeatable for me, YMMV,

I'm in Enlightenment, fairly recent CVS version.  Gnome is really recent
CVS, Netscape is 4.08, gtk+ version is very recent 1.3 out of cvs
Here's how I can repeat it:
1. Call up gnome pager's properties on one desktop in E.
2. Switch to another desktop with Netscape running.
3. Make Netscape sticky and jump back to original desktop

And voila, you've crashed gtk+:
(gdb) c
Continuing.

Program received signal SIGSEGV, Segmentation fault.
gdk_window_get_type (window=0x60) at gdkwindow.c:1460
1460      return window_private->window_type;
(gdb) bt
#0  gdk_window_get_type (window=0x60) at gdkwindow.c:1460
#1  0x804e83d in cb_filter_intercept (gdk_xevent=0xbffffb60,
event=0xbffffa40, 
    data=0x0) at gnomepager_applet.c:940
#2  0x40311a1b in gdk_event_apply_filters (xevent=0xbffffb60, 
    event=0xbffffa40, filters=0x80cfde0) at gdkevents.c:936
#3  0x40311049 in gdk_compress_exposures (xevent=0xbffffb60,
window=0x80c5d38)
    at gdkevents.c:456
#4  0x40312725 in gdk_event_translate (event=0x80b0300, xevent=0xbffffb60)
    at gdkevents.c:1520
#5  0x4031307e in gdk_events_queue () at gdkevents.c:2004
#6  0x4031327c in gdk_event_dispatch (source_data=0x0, 
    current_time=0xbffffc50, user_data=0x0) at gdkevents.c:2080
#7  0x400820b2 in g_main_dispatch (current_time=0xbffffc50) at gmain.c:644
#8  0x4008269b in g_main_iterate (block=1, dispatch=1) at gmain.c:851
#9  0x40082851 in g_main_run (loop=0x807b390) at gmain.c:909
#10 0x4025efcb in gtk_main () at gtkmain.c:507
#11 0x40013085 in applet_widget_gtk_main () at applet-widget.c:871
#12 0x804fa76 in main (argc=3, argv=0xbffffd24) at
gnomepager_applet.c:1576


This only seems to happen with Netscrape however, any substituite any
other window and gtk+ seems to be fine.

Now what's really odd, here's the function that's dying:
GdkWindowType
gdk_window_get_type (GdkWindow *window)
{
  GdkWindowPrivate *window_private;

  g_return_val_if_fail (window != NULL, (GdkWindowType) -1);

  window_private = (GdkWindowPrivate*) window;
  return window_private->window_type;
}

(Same gdb session):
(gdb) p window_private->window_type
No symbol "window_private" in current context.
(gdb) print window
$1 = (GdkWindow *) 0x60
(gdb) print window_private
No symbol "window_private" in current context.

My C isn't all that bad, but if window is valid, then that type cast
should work, but window_private is no where to be found?

Well, I have to get back to work, so I'll let someone else figure it out I
guess.

--

Jamie Fifield <fifield@cs.dal.ca>

Using encryption on the Internet is the equivalent of arranging
an armored car to deliver credit-card information from someone
living in a cardboard box to someone living on a park bench.
		      Gene Spafford




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