]> Dogcows Code - chaz/openbox/blobdiff - otk_c/display.c
kill the printf
[chaz/openbox] / otk_c / display.c
index 47b1191ff96a9c1dec36e31991fd01e7b98ab5f5..c0cae13cb07f5c37cbdd9bc5db25c7ad170aee11 100644 (file)
@@ -1,4 +1,4 @@
-// -*- mode: C; indent-tabs-mode: nil; -*-
+// -*- mode: C; indent-tabs-mode: nil; c-basic-offset: 2; -*-
 
 #include "../config.h"
 #include "display.h"
@@ -33,7 +33,9 @@ extern PyTypeObject OtkDisplay_Type;
 
 static int xerrorHandler(Display *d, XErrorEvent *e);
 
-PyObject *OtkDisplay_New(char *name)
+struct OtkDisplay *OBDisplay = NULL;
+
+void OtkDisplay_Initialize(char *name)
 {
   OtkDisplay* self;
   PyObject *disp_env;
@@ -117,14 +119,15 @@ line argument.\n\n"));
   self->mask_list[6] = ScrollLockMask | NumLockMask;
   self->mask_list[7] = ScrollLockMask | LockMask | NumLockMask;
 
+  // set the global var, for the new screeninfo's
+  OBDisplay = self;
+  
   // Get information on all the screens which are available.
-  self->screenInfoList = PyList_New(ScreenCount(self->display));
+  self->screenInfoList = (PyListObject*)PyList_New(ScreenCount(self->display));
   for (i = 0; i < ScreenCount(self->display); ++i)
-    PyList_SetItem(self->screenInfoList, i, OtkScreenInfo_New(i));
+    PyList_SetItem((PyObject*)self->screenInfoList, i, OtkScreenInfo_New(i));
 
-  self->gccache = OtkGCCache_New(PyList_Size(self->screenInfoList));
-  
-  return (PyObject*)self;
+  Py_INCREF(OBDisplay); // make sure it stays around!!
 }
 
 void OtkDisplay_Grab(OtkDisplay *self)
@@ -145,8 +148,8 @@ void OtkDisplay_Ungrab(OtkDisplay *self)
 
 OtkScreenInfo *OtkDisplay_ScreenInfo(OtkDisplay *self, int num)
 {
-  PyObject *py = PyList_GetItem(self->screenInfoList, num);
-  return (OtkScreenInfo*) py;
+  assert(num >= 0);
+  return (OtkScreenInfo*)PyList_GetItem((PyObject*)self->screenInfoList, num);
 }
 
 
This page took 0.023368 seconds and 4 git commands to generate.