mirror of
https://github.com/brl/mutter.git
synced 2025-01-26 19:39:20 +00:00
renderer: Don't allow the COGL_DRIVER env var to override application
Since e07d0fc7441 the COGL_DRIVER environment variable was able to override the application's driver selection. This doesn't seem like a good idea because if the application is specifying a driver explicitly then presumably it can not work with any other driver. This patch changes it so that if a driver is selected in the configuration and by the application then they must match, otherwise it will fail with a CoglError. Reviewed-by: Robert Bragg <robert@linux.intel.com> (cherry picked from commit 4e0942d74c8d69aa48e0176bfecf27f64a950d0f)
This commit is contained in:
parent
e7b50a6cba
commit
7bab449700
@ -505,8 +505,22 @@ _cogl_renderer_choose_driver (CoglRenderer *renderer,
|
|||||||
if (driver_override == COGL_DRIVER_ANY)
|
if (driver_override == COGL_DRIVER_ANY)
|
||||||
invalid_override = driver_name;
|
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)
|
if (driver_override != COGL_DRIVER_ANY)
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user