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);
|
||||
if (ds->prime_id == prime_id)
|
||||
break;
|
||||
return slave;
|
||||
}
|
||||
if (!slave)
|
||||
return master;
|
||||
return slave;
|
||||
return master;
|
||||
}
|
||||
|
||||
static DRI2ScreenPtr
|
||||
|
|
Loading…
Reference in New Issue
Block a user