gears: Fail if compiled without cairo-egl
This commit is contained in:
parent
0c99163d9b
commit
1a89f28c7d
|
@ -207,9 +207,12 @@ draw_gears(struct gears *gears)
|
|||
window_get_child_allocation(gears->window, &allocation);
|
||||
window_get_allocation(gears->window, &window_allocation);
|
||||
|
||||
display_acquire_window_surface(gears->d,
|
||||
gears->window,
|
||||
gears->context);
|
||||
if (display_acquire_window_surface(gears->d,
|
||||
gears->window,
|
||||
gears->context) < 0) {
|
||||
die("Unable to acquire window surface, "
|
||||
"compiled without cairo-egl?\n");
|
||||
}
|
||||
|
||||
glViewport(allocation.x,
|
||||
window_allocation.height - allocation.height - allocation.x,
|
||||
|
|
|
@ -2211,7 +2211,7 @@ display_get_shell(struct display *display)
|
|||
return display->shell;
|
||||
}
|
||||
|
||||
void
|
||||
int
|
||||
display_acquire_window_surface(struct display *display,
|
||||
struct window *window,
|
||||
EGLContext ctx)
|
||||
|
@ -2221,10 +2221,10 @@ display_acquire_window_surface(struct display *display,
|
|||
cairo_device_t *device;
|
||||
|
||||
if (!window->cairo_surface)
|
||||
return;
|
||||
return -1;
|
||||
device = cairo_surface_get_device(window->cairo_surface);
|
||||
if (!device)
|
||||
return;
|
||||
return -1;
|
||||
|
||||
if (!ctx) {
|
||||
if (device == display->rgb_device)
|
||||
|
@ -2241,6 +2241,10 @@ display_acquire_window_surface(struct display *display,
|
|||
cairo_device_acquire(device);
|
||||
if (!eglMakeCurrent(display->dpy, data->surf, data->surf, ctx))
|
||||
fprintf(stderr, "failed to make surface current\n");
|
||||
|
||||
return 0;
|
||||
#else
|
||||
return -1;
|
||||
#endif
|
||||
}
|
||||
|
||||
|
|
|
@ -67,7 +67,7 @@ display_get_rgb_egl_config(struct display *d);
|
|||
EGLConfig
|
||||
display_get_argb_egl_config(struct display *d);
|
||||
|
||||
void
|
||||
int
|
||||
display_acquire_window_surface(struct display *display,
|
||||
struct window *window,
|
||||
EGLContext ctx);
|
||||
|
|
Loading…
Reference in New Issue