• Alex Goins's avatar
    randr: Check rrPrivKey before autobinding GPU screens · 6172bd2b
    Alex Goins authored
    RRProviderAutoConfigGpuScreen() is called from outside RandR, so there is no
    guarantee that RandR has been initialized when it is called.
    
    As mentioned in commit 4226c6d0, it's possible that RandR has not been
    initialized if the server is configured with Xinerama and there is more than one
    X screen. Calling rrGetScrPriv when RandR isn't initialized causes an assertion
    failure that aborts the server:
    
      Xorg: ../include/privates.h:121: dixGetPrivateAddr: Assertion
      key->initialized' failed.
    
    Just as in commit 4226c6d0
    
    , fix the problem by checking
    dixPrivateKeyRegistered(rrPrivKey) before calling rrGetScrPriv.
    Signed-off-by: Alex Goins's avatarAlex Goins <agoins@nvidia.com>
    6172bd2b
rrprovider.c 15 KB