X-Git-Url: https://git.brokenzipper.com/gitweb?a=blobdiff_plain;f=src%2Fscreen.cc;h=e97c05b295236b7e2bde13a0e1e4b8275ec6ed55;hb=385de86d903c95e9897bd106b04e3ef1f70d9d2d;hp=c650872eecdeca156cdb8eaabf872c13ad3e3452;hpb=b1739374a61d0c33270bafe84da9d787e79c0686;p=chaz%2Fopenbox diff --git a/src/screen.cc b/src/screen.cc index c650872e..e97c05b2 100644 --- a/src/screen.cc +++ b/src/screen.cc @@ -140,9 +140,8 @@ OBScreen::OBScreen(int screen) Openbox::instance->registerHandler(_info->rootWindow(), this); // call the python Startup callbacks - EventData *data = new_event_data(_number, 0, EventShutdown, 0); - Openbox::instance->bindings()->fireEvent(data); - Py_XDECREF((PyObject*)data); + EventData data(_number, 0, EventShutdown, 0); + Openbox::instance->bindings()->fireEvent(&data); } @@ -157,9 +156,8 @@ OBScreen::~OBScreen() unmanageWindow(clients.front()); // call the python Shutdown callbacks - EventData *data = new_event_data(_number, 0, EventShutdown, 0); - Openbox::instance->bindings()->fireEvent(data); - Py_XDECREF((PyObject*)data); + EventData data(_number, 0, EventShutdown, 0); + Openbox::instance->bindings()->fireEvent(&data); XDestroyWindow(otk::OBDisplay::display, _focuswindow); XDestroyWindow(otk::OBDisplay::display, _supportwindow); @@ -497,9 +495,8 @@ void OBScreen::manageWindow(Window window) client->positionRequested())) { // position the window intelligenty .. hopefully :) // call the python PLACEWINDOW binding - EventData *data = new_event_data(_number, window, EventPlaceWindow, 0); - Openbox::instance->bindings()->fireEvent(data); - Py_DECREF((PyObject*)data); + EventData data(_number, client, EventPlaceWindow, 0); + Openbox::instance->bindings()->fireEvent(&data); } // create the decoration frame for the client window @@ -542,9 +539,8 @@ void OBScreen::manageWindow(Window window) Openbox::instance->bindings()->grabButtons(true, client); // call the python NEWWINDOW binding - EventData *data = new_event_data(_number, window, EventNewWindow, 0); - Openbox::instance->bindings()->fireEvent(data); - Py_DECREF((PyObject*)data); + EventData data(_number, client, EventNewWindow, 0); + Openbox::instance->bindings()->fireEvent(&data); #ifdef DEBUG printf("Managed window 0x%lx\n", window); @@ -557,10 +553,8 @@ void OBScreen::unmanageWindow(OBClient *client) OBFrame *frame = client->frame; // call the python CLOSEWINDOW binding - EventData *data = new_event_data(_number, client->window(), - EventCloseWindow, 0); - Openbox::instance->bindings()->fireEvent(data); - Py_DECREF((PyObject*)data); + EventData data(_number, client, EventCloseWindow, 0); + Openbox::instance->bindings()->fireEvent(&data); Openbox::instance->bindings()->grabButtons(false, client);