Skip to content
  • Adam Jackson's avatar
    Fix Xinerama's consolidated visual handling. · ee21aba6
    Adam Jackson authored
    Formerly the code claimed it could only handle up to 256 visuals, which
    was true.  Also true, but not explicitly stated, was that it could only
    handle visuals with VID < 256.  If you have enough screens, and subsystems
    that add lots of visuals, you can easily run off the end.  (Made worse
    because we allocate visual IDs from the same pool as XIDs.)  If your app
    then chooses a visual > 256, then the Xinerama code would throw BadMatch
    on CreateColormap and your app wouldn't start.
    
    With this change, PanoramiXVisualTable is gone.  Other subsystems that
    were using it as a translation table between each screen's visuals now
    use a PanoramiXTranslateVisual() helper.
    ee21aba6