gnome_pager likes to crash (patch?)



Hi!

[Sorry if you have seen this twice, it means the list doesn't throw away
non-subscriber posts quietly..]

I'm just over kinda installing gnome, after a long time, and it's quite
cool of course.  However, I found that gnome_pager, while useful, is a
bit fragile, it "usually" exits with segfault when I try to open it's
properties window via the question mark, and there's no open window on
the desktop.  It will also reliably do this, when started by hand (with
the appropriate black magic arguments), then the first properties window
will show, and at the second open, it always segfaults.

It's also a bit wierd, since it starts every time with the "Apply"
button active, as if something was changed, but that could be a feature.
:)

Trying to trace what happens, I found out that it crashes in
cb_filter_intercept, because, in some cases, when xevent->type==12
(Expose?), the event->any.window can be 1 (can it be?), which makes the
function gdk_window_get_type puke on it.  As I'm completely unfamiliar
with X internals, I attempted the following, certainly very wrong idea:
when the event is Expose, I let it return GDK_FILTER_REMOVE.  It is
probably very wrong, but now gnome_pager doesn't crash anymore.  What
have I done, and what should the correct fix be?

-- 
Janos - Don't worry, my address is real.  I'm just bored of spam.

Index: gnomepager_applet.c
===================================================================
RCS file: /cvs/gnome/gnome-core/applets/gnome-pager/gnomepager_applet.c,v
retrieving revision 1.51
diff -u -r1.51 gnomepager_applet.c
--- gnomepager_applet.c	1999/02/24 22:28:21	1.51
+++ gnomepager_applet.c	1999/03/06 20:56:10
@@ -866,6 +866,8 @@
 	  ptr = ptr->next;
 	}
       break;
+    case Expose:
+      return GDK_FILTER_REMOVE;
      default:
       if ((event->any.window) &&
 	  (gdk_window_get_type(event->any.window) == GDK_WINDOW_FOREIGN))




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