[Cogl] [PATCH 4/7] examples/cogl-x11-tfp.c: Wait for the window to be mapped
otaylor at redhat.com
otaylor at redhat.com
Thu Jun 12 11:11:41 PDT 2014
From: "Owen W. Taylor" <otaylor at fishsoup.net>
Wait for the main window (and hence the window we create within
the main window to redirect) to be mapped and become viewable
before we try to call XCompositeNameWindowPixmap() -
XComposeNameWindowPixmap() produces a BadMatch error on a
non-viewable window.
---
examples/cogl-x11-tfp.c | 11 ++++++++++-
1 file changed, 10 insertions(+), 1 deletion(-)
diff --git a/examples/cogl-x11-tfp.c b/examples/cogl-x11-tfp.c
index 91979a6..7d4d756 100644
--- a/examples/cogl-x11-tfp.c
+++ b/examples/cogl-x11-tfp.c
@@ -147,7 +147,8 @@ main (int argc, char **argv)
DefaultRootWindow (xdpy),
xvisinfo->visual,
AllocNone);
- mask = CWBorderPixel | CWColormap;
+ xattr.event_mask = StructureNotifyMask;
+ mask = CWBorderPixel | CWColormap | CWEventMask;
xwin = XCreateWindow (xdpy,
DefaultRootWindow (xdpy),
@@ -179,6 +180,14 @@ main (int argc, char **argv)
gc = XCreateGC (xdpy, tfp_xwin, 0, NULL);
+ while (TRUE)
+ {
+ XWindowEvent (xdpy, xwin, StructureNotifyMask, &xev);
+
+ if (xev.xany.type == MapNotify)
+ break;
+ }
+
pixmap = XCompositeNameWindowPixmap (xdpy, tfp_xwin);
tfp = cogl_texture_pixmap_x11_new (ctx, pixmap, TRUE, &error);
--
1.9.3
More information about the Cogl
mailing list