Aaron Plattner <[email protected]> writes: > On 05/09/2017 04:51 PM, Eric Anholt wrote: >> Aaron Plattner <[email protected]> writes: >> >>> Commit 112d0d7d01b9 lost the initialization of the variable i in the loop >>> to add >>> secondary driver matches to the list of configs: >>> >>> @@ -398,8 +412,8 @@ autoConfigDevice(GDevPtr preconf_device) >>> >>> /* for each other driver found, copy the first screen, >>> insert it >>> * into the list of screens and set the driver */ >>> - for (i = 1; i < num_matches; i++) { >>> - if (!copyScreen(slp[0].screen, ptr, i, matches[i])) >>> + while (i++ < md.nmatches) { >>> + if (!copyScreen(slp[0].screen, ptr, i, md.matches[i])) >>> return NULL; >>> } >>> >>> This caused only the first match to be added, because an earlier loop sets >>> i = >>> md.nmatches. >>> >>> Fix this by reverting the while loop back to a for loop. >>> >>> Reported-by: Michel Dänzer <[email protected]> >>> Reported-by: Peter Hutterer <[email protected]> >>> Reported-by: Eric Anholt <[email protected]> >>> Cc: Adam Jackson <[email protected]> >>> Fixes: 112d0d7d01b9 ("xfree86: Improved autoconfig drivers matching") >>> Signed-off-by: Aaron Plattner <[email protected]> >>> --- >>> Resend: forgot to Cc the list. >> >> This is a pretty clear unintended behavior change. >> >> Tested-by: Eric Anholt <[email protected]> >> >> Since we collided on me pushing the revert, shall I squash this into a >> re-cherry-pick of the change as a v2? > > Sounds good to me.
Done. Thanks for the fix!
signature.asc
Description: PGP signature
_______________________________________________ [email protected]: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: https://lists.x.org/mailman/listinfo/xorg-devel
