gears: Fail if compiled without cairo-egl
diff --git a/clients/gears.c b/clients/gears.c
index a2fc0de..6af505b 100644
--- a/clients/gears.c
+++ b/clients/gears.c
@@ -207,9 +207,12 @@
 	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,
diff --git a/clients/window.c b/clients/window.c
index 8f5da49..3bb4cb7 100644
--- a/clients/window.c
+++ b/clients/window.c
@@ -2211,7 +2211,7 @@
 	return display->shell;
 }
 
-void
+int
 display_acquire_window_surface(struct display *display,
 			       struct window *window,
 			       EGLContext ctx)
@@ -2221,10 +2221,10 @@
 	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 @@
 	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
 }
 
diff --git a/clients/window.h b/clients/window.h
index 42b8b13..6a4ce9f 100644
--- a/clients/window.h
+++ b/clients/window.h
@@ -67,7 +67,7 @@
 EGLConfig
 display_get_argb_egl_config(struct display *d);
 
-void
+int
 display_acquire_window_surface(struct display *display,
 			       struct window *window,
 			       EGLContext ctx);