summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorTormod Volden <debian.tormod@gmail.com>2009-01-22 01:22:53 -0500
committerAlex Deucher <alexdeucher@gmail.com>2009-01-22 01:22:53 -0500
commit0fae48235841f05d7e52e61a2450835fdb8892b3 (patch)
treefe6c6b0997edb98c9ada8170ce0b8a920d780e53 /src
parent8241b8edaf1f100b0d9f308fdf921b2ab548f3dc (diff)
Savage: Do not add panel modes when there is no panel
SavageGetPanelInfo will reset DisplayType if the panel is not active, so check again before calling SavageAddPanelMode so that bogus modes are not added. This fixes startup failures in some cases, for instance when there is no real panel and EDID is missing. The bogus sync ranges (typically 0 Hz) would also block the default sync ranges from being applied. Thanks to Peter Belew for testing. https://bugs.launchpad.net/bugs/294899
Diffstat (limited to 'src')
-rw-r--r--src/savage_driver.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/savage_driver.c b/src/savage_driver.c
index da472e9..4115fb0 100644
--- a/src/savage_driver.c
+++ b/src/savage_driver.c
@@ -2206,10 +2206,11 @@ static Bool SavagePreInit(ScrnInfoPtr pScrn, int flags)
/* Check LCD panel information */
if(psav->DisplayType == MT_LCD)
- {
SavageGetPanelInfo(pScrn);
+
+ /* DisplayType will be reset if panel is not active */
+ if(psav->DisplayType == MT_LCD)
SavageAddPanelMode(pScrn);
- }
#if 0
if (psav->CrtOnly && !psav->UseBIOS) {