int ret;
LocoList *it;
+ XGrabServer(obt_display);
+ XSync(obt_display, FALSE);
+
/* XXX if (full_redraw_required) */
glClear(GL_COLOR_BUFFER_BIT);
}
glXSwapBuffers(obt_display, sc->overlay);
+ XUngrabServer(obt_display);
+
loco_screen_redraw_done(sc);
}
if (lw->pixmap) return;
/* make sure the window exists */
- XGrabServer(obt_display);
- XSync(obt_display, FALSE);
-
if (!XCheckIfEvent(obt_display, &ce, look_for_destroy, (XPointer)&lw->id))
lw->pixmap = XCompositeNameWindowPixmap(obt_display, lw->id);
- XUngrabServer(obt_display);
}
static void texture_create(LocoWindow *lw)
};
if (lw->glpixmap) return;
-
- g_assert(lw->pixmap);
+ if (!lw->pixmap) return;
if (!lw->screen->glxFBConfig[lw->depth]) {
g_print("no glxFBConfig for depth %d for window 0x%lx\n",