-// -*- mode: C; indent-tabs-mode: nil; -*-
+// -*- mode: C; indent-tabs-mode: nil; c-basic-offset: 2; -*-
#include "../config.h"
#include "display.h"
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));
+
+ Py_INCREF(OBDisplay); // make sure it stays around!!
}
void OtkDisplay_Grab(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);
}