summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChris Lumens <clumens@redhat.com>2006-07-31 15:04:13 +0000
committerChris Lumens <clumens@redhat.com>2006-07-31 15:04:13 +0000
commit21e0293cb5060285ffbab957727aa354196a9afc (patch)
tree7f856203fae5005e0139eee0dc319ee13f0f7f32
parentb6f59a7ba2872f7421d636cfc06aee971bc3185d (diff)
downloadanaconda-21e0293cb5060285ffbab957727aa354196a9afc.tar.gz
anaconda-21e0293cb5060285ffbab957727aa354196a9afc.tar.xz
anaconda-21e0293cb5060285ffbab957727aa354196a9afc.zip
Guard xserver.
-rw-r--r--ChangeLog2
-rwxr-xr-xanaconda63
2 files changed, 35 insertions, 30 deletions
diff --git a/ChangeLog b/ChangeLog
index 8817e676c..88f5aab8f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -4,6 +4,8 @@
2006-07-31 Chris Lumens <clumens@redhat.com>
+ * anaconda: Add some guards around accessing xserver.
+
* anaconda.spec: Update rhpxl requirement.
2006-07-29 Peter Jones <pjones@redhat.com>
diff --git a/anaconda b/anaconda
index dfbd01342..a2d78dbb2 100755
--- a/anaconda
+++ b/anaconda
@@ -475,10 +475,10 @@ def probeHW(opts, x_already_set, xserver):
except Exception, e:
stdoutLog.error (_("Unable to instantiate a X hardware state object."))
- # keyboard
- xserver.keyboard = keyboard.Keyboard()
- if opts.keymap:
- xserver.keyboard.set(opts.keymap)
+ # keyboard
+ xserver.keyboard = keyboard.Keyboard()
+ if opts.keymap:
+ xserver.keyboard.set(opts.keymap)
# floppy
return floppy.probeFloppyDevice()
@@ -775,8 +775,12 @@ if __name__ == "__main__":
else:
x_already_set = 0
- xserver = rhpxl.xserver.XServer()
- xserver.resolution = opts.runres
+ if not opts.isHeadless:
+ xserver = rhpxl.xserver.XServer()
+ xserver.resolution = opts.runres
+ else:
+ xserver = None
+
floppyDevice = probeHW(opts, x_already_set, xserver)
#
@@ -864,37 +868,36 @@ if __name__ == "__main__":
anaconda.id.x_already_set = x_already_set
- if xserver.mousehw:
- anaconda.id.setMouse(xserver.mousehw)
+ if xserver:
+ if xserver.mousehw:
+ anaconda.id.setMouse(xserver.mousehw)
- if xserver.videohw:
- anaconda.id.setVideoCard(xserver.videohw)
+ if xserver.videohw:
+ anaconda.id.setVideoCard(xserver.videohw)
- if xserver.monitorhw:
- anaconda.id.setMonitor(xserver.monitorhw)
+ if xserver.monitorhw:
+ anaconda.id.setMonitor(xserver.monitorhw)
- #
- # not sure what to do here - somehow we didn't detect anything
- #
- if xserver.hwstate is None and not opts.isHeadless:
- try:
- xserver.setHWState()
- except Exception, e:
- stdoutLog.error (_("Unable to instantiate a X hardware state object."))
- xserver.hwstate = None
+ if xserver.keyboard:
+ anaconda.id.setKeyboard(xserver.keyboard)
- if xserver.hwstate is not None:
- xsetup = xsetup.XSetup(xserver)
+ # not sure what to do here - somehow we didn't detect anything
+ if xserver.hwstate is None and not opts.isHeadless:
+ try:
+ xserver.setHWState()
+ except Exception, e:
+ stdoutLog.error (_("Unable to instantiate a X hardware state object."))
+ xserver.hwstate = None
- # HACK - if user overrides resolution then use it and disable
- # choosing a sane default for them
- if runres_override:
- xsetup.imposed_sane_default = 1
+ if xserver.hwstate is not None:
+ xsetup = xsetup.XSetup(xserver)
- anaconda.id.setXSetup(xsetup)
+ # HACK - if user overrides resolution then use it and disable
+ # choosing a sane default for them
+ if runres_override:
+ xsetup.imposed_sane_default = 1
- if xserver.keyboard:
- anaconda.id.setKeyboard(xserver.keyboard)
+ anaconda.id.setXSetup(xsetup)
anaconda.id.setDisplayMode(opts.display_mode)
instClass.setInstallData(anaconda)