Xnest: broken probing of upstream visuals (buffer overflow)
Retrieving visuals offered by upstream Xserver is broken in several ways:
a) duplicate elimination breaks out too fast: when a duplicate is found, it doesn't just skips that one, it completely breaks out the loop, so subsequent upstream visuals aren't considered anymore. leading to (unpredictable) limit on available color depths (depending on the order reported by upstream sever)
b) buffer overflow when user specificed different depth/class than default one: xnestOpenScreen() looks into the wrong table (it's local visuals[] array, instead of the global (non-dedup'ed) list retrieved by xlib).
To make it actually work, upstream server needs fix for another bug in the DIX: #1741 (closed) - MR !1644 (closed)
Merge request: !1645 (closed)