summaryrefslogtreecommitdiff
path: root/cogl/cogl-renderer.c
diff options
context:
space:
mode:
Diffstat (limited to 'cogl/cogl-renderer.c')
-rw-r--r--cogl/cogl-renderer.c18
1 files changed, 16 insertions, 2 deletions
diff --git a/cogl/cogl-renderer.c b/cogl/cogl-renderer.c
index ecbf8bd1..33e086c5 100644
--- a/cogl/cogl-renderer.c
+++ b/cogl/cogl-renderer.c
@@ -501,8 +501,22 @@ _cogl_renderer_choose_driver (CoglRenderer *renderer,
if (driver_override == COGL_DRIVER_ANY)
invalid_override = driver_name;
}
- else
- driver_override = renderer->driver_override;
+
+ if (renderer->driver_override != COGL_DRIVER_ANY)
+ {
+ if (driver_override != COGL_DRIVER_ANY &&
+ renderer->driver_override != driver_override)
+ {
+ _cogl_set_error (error,
+ COGL_RENDERER_ERROR,
+ COGL_RENDERER_ERROR_BAD_CONSTRAINT,
+ "Application driver selection conflicts with driver "
+ "specified in configuration");
+ return FALSE;
+ }
+
+ driver_override = renderer->driver_override;
+ }
if (driver_override != COGL_DRIVER_ANY)
{