Hi Alex,

> Why do you have to access it through the same display though? The
> drawable is just an id for the pixmap, and its the same independent on
> what connection to the x server (==display) you use.
Simply because it doesn't work, it generates BadDrawable X error.
Check out the code below:
<code>
/* test.c
  * gcc test.c -o test -g -Wall `pkg-config --cflags --libs gdk-2.0`
 */

#include <gdk/gdk.h>
#include <X11/Xlib.h>
#include <stdio.h>

int main(int argc, char** argv)
{
    gdk_init(&argc, &argv);

    Display* display = XOpenDisplay(NULL);
    if (!display)
        return -1;

    Drawable xid = XCreatePixmap(display, DefaultRootWindow(display),
                                 20, 20, 24);

    GdkPixmap* pixmap =
gdk_pixmap_foreign_new_for_display(gdk_display_get_default(), xid);

    printf("Foreign pixmap = %p\n", pixmap);

    return 0;
}
</code>

gdk_pixmap_foreign_new_for_display generates BadDrawable.
This example shows what I eventually need.

Kirill
_______________________________________________
gtk-devel-list mailing list
gtk-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gtk-devel-list

Reply via email to