summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMike Fulbright <msf@redhat.com>2002-11-13 21:38:54 +0000
committerMike Fulbright <msf@redhat.com>2002-11-13 21:38:54 +0000
commit0694ca92ac6d6b72548e7c6478a0bc0610864be0 (patch)
treebd8382ac60cddae28ad82dbcc53b5e53a35b624c
parentf91b36569bb85888c2a1ac8d26354ba40541c202 (diff)
downloadanaconda-0694ca92ac6d6b72548e7c6478a0bc0610864be0.tar.gz
anaconda-0694ca92ac6d6b72548e7c6478a0bc0610864be0.tar.xz
anaconda-0694ca92ac6d6b72548e7c6478a0bc0610864be0.zip
handle x server going away after starting up better
-rw-r--r--xserver.py24
-rw-r--r--xutils.c19
2 files changed, 28 insertions, 15 deletions
diff --git a/xserver.py b/xserver.py
index ae6e166ec..1589a62d0 100644
--- a/xserver.py
+++ b/xserver.py
@@ -230,16 +230,20 @@ def testx(hwstate, mouse, keyboard):
if miniwm_pid is not None:
import xutils
- if xutils.screenWidth() > 640:
- dpi = "96"
- else:
- dpi = "75"
-
- xutils.setRootResource('Xft.antialias', '1')
- xutils.setRootResource('Xft.dpi', dpi)
- xutils.setRootResource('Xft.hinting', '1')
- xutils.setRootResource('Xft.hintstyle', 'hintslight')
- xutils.setRootResource('Xft.rgba', 'none')
+ try:
+ if xutils.screenWidth() > 640:
+ dpi = "96"
+ else:
+ dpi = "75"
+
+ xutils.setRootResource('Xft.antialias', '1')
+ xutils.setRootResource('Xft.dpi', dpi)
+ xutils.setRootResource('Xft.hinting', '1')
+ xutils.setRootResource('Xft.hintstyle', 'hintslight')
+ xutils.setRootResource('Xft.rgba', 'none')
+ except:
+ sys.stderr.write("X SERVER STARTED, THEN FAILED");
+ raise RuntimeError, "X server failed to start"
child = os.fork()
if (child):
diff --git a/xutils.c b/xutils.c
index 10b63150f..9a4cf082c 100644
--- a/xutils.c
+++ b/xutils.c
@@ -153,8 +153,10 @@ getRootResources(PyObject *s, PyObject *args) {
Resource **resources, **p;
PyObject *rc;
- if (openDisplay(&dpy, &root) < 0)
+ if (openDisplay(&dpy, &root) < 0) {
+ PyErr_SetString(PyExc_SystemError, "Could not open display.");
return NULL;
+ }
resources = getCurrentResources(dpy);
if (!resources) {
@@ -185,11 +187,14 @@ setRootResource(PyObject *s, PyObject *args)
char *key, *val, *rstring;
int fnd, nrec;
- if (!PyArg_ParseTuple(args, "ss", &key, &val))
+ if (!PyArg_ParseTuple(args, "ss", &key, &val)) {
return NULL;
+ }
- if (openDisplay(&dpy, &root) < 0)
+ if (openDisplay(&dpy, &root) < 0) {
+ PyErr_SetString(PyExc_SystemError, "Could not open display.");
return NULL;
+ }
resources = getCurrentResources(dpy);
fnd = 0;
@@ -273,8 +278,10 @@ screenHeight(PyObject *s, PyObject *args)
int scrn;
PyObject *rc;
- if (openDisplay(&dpy, &root) < 0)
+ if (openDisplay(&dpy, &root) < 0) {
+ PyErr_SetString(PyExc_SystemError, "Could not open display.");
return NULL;
+ }
scrn=DefaultScreen(dpy);
@@ -292,8 +299,10 @@ screenWidth(PyObject *s, PyObject *args)
int scrn;
PyObject *rc;
- if (openDisplay(&dpy, &root) < 0)
+ if (openDisplay(&dpy, &root) < 0) {
+ PyErr_SetString(PyExc_SystemError, "Could not open display.");
return NULL;
+ }
scrn=DefaultScreen(dpy);