Bug in gnomepager_applet?
- From: "David Hulse" <dave cs stir ac uk>
- To: <gnome-devel-list gnome org>
- Subject: Bug in gnomepager_applet?
- Date: Fri, 2 Apr 1999 12:56:22 +0100
I've compiled and built the very latest version of GNOME for Alpha running
OSF1. Everything seems to work fine except for gnomepager. When I try to add
it to my panel, it bombs telling me that it is not possible to create
windows of type GDK_WINDOW_ROOT.
I had a look at the code and traced through the GDK stuff and found what I
think is the problem. In this snippet of code from gnomepager_applet.c, the
'window_type' attribute is not initialised, yet the GDK code seems to expect
it to be initialised. What happens is that it somehow either defaults to
being GDK_WINDOW_ROOT or takes the value 0 (which is GDK_WINDOW_ROOT).
Either way, GDK bombs the 'gdk_window_new' request and the pager doesn't
start.
/* advertise to a WM that we exist and are here */
{
GdkAtom atom;
GdkWindow *win;
GdkWindowAttr attr;
Window ww;
atom = gdk_atom_intern("_GNOME_PAGER_ACTIVE", FALSE);
attr.x = -99;
attr.y = -99;
attr.width = 88;
attr.height = 88;
win = gdk_window_new(NULL, &attr, 0);
ww = GDK_WINDOW_XWINDOW(win);
gdk_property_change(GDK_ROOT_PARENT(), atom, (GdkAtom)XA_WINDOW, 32,
GDK_PROP_MODE_REPLACE, (guchar *)(&ww), 1);
gdk_property_change(win, atom, (GdkAtom)XA_WINDOW, 32,
GDK_PROP_MODE_REPLACE, (guchar *)(&ww), 1);
}
My solution, knowing virtually nothing about GDK, was to insert the line:
attr.window_type = GDK_WINDOW_CHILD;
This seemed to fix everything and the pager seems to run fine. I didn't know
what type of window to make it, but this seemed to work okay. Maybe there
would be some kind of hidden problems?
Is this really a pager bug, or is it to do with my OSF1 environment?
Regards,
David Hulse
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]