dri2: Fix detection of wrong prime_id in GetScreenPrime.
Checking the iterating variable ("slave") against null can not detect if the xorg_list_for_each_entry finished without break being invoked - slave variable will be always non-null. This caused segfault whenever someone tried to use DRI_PRIME with incorrect id while having at least one render offloading slave configured. Restructurize the GetScreenPrime to work as expected. Reviewed-by: Dave Airlie <airlied@redhat.com> Signed-off-by: Keith Packard <keithp@keithp.com>
This commit is contained in:
parent
c08d2b8ccb
commit
3dba171f5e
|
@ -156,11 +156,9 @@ GetScreenPrime(ScreenPtr master, int prime_id)
|
||||||
|
|
||||||
ds = DRI2GetScreen(slave);
|
ds = DRI2GetScreen(slave);
|
||||||
if (ds->prime_id == prime_id)
|
if (ds->prime_id == prime_id)
|
||||||
break;
|
return slave;
|
||||||
}
|
}
|
||||||
if (!slave)
|
return master;
|
||||||
return master;
|
|
||||||
return slave;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static DRI2ScreenPtr
|
static DRI2ScreenPtr
|
||||||
|
|
Loading…
Reference in New Issue
Block a user