diff --git a/cogl/cogl-renderer.c b/cogl/cogl-renderer.c index 8136fe1e8..61cda6ff6 100644 --- a/cogl/cogl-renderer.c +++ b/cogl/cogl-renderer.c @@ -505,8 +505,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) {