gears: Fail if compiled without cairo-egl

dev
Benjamin Franzke 13 years ago
parent 0c99163d9b
commit 1a89f28c7d
  1. 7
      clients/gears.c
  2. 10
      clients/window.c
  3. 2
      clients/window.h

@ -207,9 +207,12 @@ draw_gears(struct gears *gears)
window_get_child_allocation(gears->window, &allocation); window_get_child_allocation(gears->window, &allocation);
window_get_allocation(gears->window, &window_allocation); window_get_allocation(gears->window, &window_allocation);
display_acquire_window_surface(gears->d, if (display_acquire_window_surface(gears->d,
gears->window, gears->window,
gears->context); gears->context) < 0) {
die("Unable to acquire window surface, "
"compiled without cairo-egl?\n");
}
glViewport(allocation.x, glViewport(allocation.x,
window_allocation.height - allocation.height - allocation.x, window_allocation.height - allocation.height - allocation.x,

@ -2211,7 +2211,7 @@ display_get_shell(struct display *display)
return display->shell; return display->shell;
} }
void int
display_acquire_window_surface(struct display *display, display_acquire_window_surface(struct display *display,
struct window *window, struct window *window,
EGLContext ctx) EGLContext ctx)
@ -2221,10 +2221,10 @@ display_acquire_window_surface(struct display *display,
cairo_device_t *device; cairo_device_t *device;
if (!window->cairo_surface) if (!window->cairo_surface)
return; return -1;
device = cairo_surface_get_device(window->cairo_surface); device = cairo_surface_get_device(window->cairo_surface);
if (!device) if (!device)
return; return -1;
if (!ctx) { if (!ctx) {
if (device == display->rgb_device) if (device == display->rgb_device)
@ -2241,6 +2241,10 @@ display_acquire_window_surface(struct display *display,
cairo_device_acquire(device); cairo_device_acquire(device);
if (!eglMakeCurrent(display->dpy, data->surf, data->surf, ctx)) if (!eglMakeCurrent(display->dpy, data->surf, data->surf, ctx))
fprintf(stderr, "failed to make surface current\n"); fprintf(stderr, "failed to make surface current\n");
return 0;
#else
return -1;
#endif #endif
} }

@ -67,7 +67,7 @@ display_get_rgb_egl_config(struct display *d);
EGLConfig EGLConfig
display_get_argb_egl_config(struct display *d); display_get_argb_egl_config(struct display *d);
void int
display_acquire_window_surface(struct display *display, display_acquire_window_surface(struct display *display,
struct window *window, struct window *window,
EGLContext ctx); EGLContext ctx);

Loading…
Cancel
Save