xf86Crtc: handle no outputs with no modes harder.
authorDave Airlie <airlied@redhat.com>
Thu, 20 Oct 2011 13:43:01 +0000 (14:43 +0100)
committerKeith Packard <keithp@keithp.com>
Tue, 25 Oct 2011 01:09:35 +0000 (18:09 -0700)
commit17416e88dcfcc584fe5f87580d5d2b719b3521c3
tree6bb17e68cdcc9700d262bf7ad6ccf061e9ef8904
parentff61592441916b83aeb778c74352bb5b26247f84
xf86Crtc: handle no outputs with no modes harder.

If you started an X server with no connected outputs, we pick a default
1024x768 mode, however if you then ran an xvidmode using app against that
server it would segfault the server due to not finding any valid modes.

This was due to the no output mode set code, only adding the modes to the
scrn->modes once, when something called randr 1.2 xf86SetScrnInfoModes would
get called and remove all the modes and we'd end up with 0.

This change fixes xf86SetScrnInfoModes to always report a scrn mode of at
least 1024x768, and pushes the initial configuration to just call it instead
of setting up the mode itself.

Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=746926

I've seen other bugs like this on other distros so it might also actually fix them.

Signed-off-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
hw/xfree86/modes/xf86Crtc.c