Looking at the libx11-dev package source code I see that the 'Display'
value is optimized out into a register variable, which is a pain since
that is likely key to the bug and doesn't show up in gdb output.

libx11/src/DefCursor.c:

int
XDefineCursor (
    register Display *dpy,
    Window w,
    Cursor cursor)
{


This function is called from 
gtk+2.0-2.16.1/gdk/x11/gdkwindow-x11.c::gdk_window_x11_set_cursor()

  if (!GDK_WINDOW_DESTROYED (window))
    {
      XDefineCursor (GDK_WINDOW_XDISPLAY (window),
                     GDK_WINDOW_XID (window),
                     xcursor);
      
      if (cursor)
        impl->cursor = gdk_cursor_ref (cursor);
    }

Which comes from:

#define GDK_WINDOW_XDISPLAY(win)      (GDK_SCREEN_X11 (GDK_WINDOW_SCREEN
(win))->xdisplay)

#define GDK_SCREEN_X11(object)           (G_TYPE_CHECK_INSTANCE_CAST
((object), GDK_TYPE_SCREEN_X11, GdkScreenX11))

#define GDK_WINDOW_SCREEN(win)        (GDK_DRAWABLE_IMPL_X11 
(((GdkWindowObject) 
win)->impl)->screen)

-- 
two xscreens -> gnome panel crashes
https://bugs.launchpad.net/bugs/278261
You received this bug notification because you are a member of Ubuntu-X,
which is subscribed to libxcb in ubuntu.

_______________________________________________
Mailing list: https://launchpad.net/~ubuntu-x-swat
Post to     : ubuntu-x-swat@lists.launchpad.net
Unsubscribe : https://launchpad.net/~ubuntu-x-swat
More help   : https://help.launchpad.net/ListHelp

Reply via email to