diff options
author | Gian Mario Tagliaretti <gianmt@src.gnome.org> | 2008-02-06 13:19:30 +0000 |
---|---|---|
committer | Gian Mario Tagliaretti <gianmt@src.gnome.org> | 2008-02-06 13:19:30 +0000 |
commit | 6f2bca7fe6fa045599053ccb6ac3e67fb498603c (patch) | |
tree | a18ea886068a1b49458e3f29810526a3202c5b85 /gtk/gdk.override | |
parent | a54e4c333690602fe6b1adf253d1d69dfb2baac2 (diff) | |
download | pygtk-6f2bca7fe6fa045599053ccb6ac3e67fb498603c.tar.gz |
Create instance of GdkScreen using gdk_screen_get_default() to avoid segfault. Fix #444974.
svn path=/trunk/; revision=2960
Diffstat (limited to 'gtk/gdk.override')
-rw-r--r-- | gtk/gdk.override | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/gtk/gdk.override b/gtk/gdk.override index 2b06b2a1..7633fa69 100644 --- a/gtk/gdk.override +++ b/gtk/gdk.override @@ -922,6 +922,23 @@ _wrap_gdk_display_manager_list_displays(PyGObject *self) return py_list; } %% +override gdk_screen_new noargs +static int +_wrap_gdk_screen_new (PyGObject *self) +{ + self->obj = (GObject *)gdk_screen_get_default(); + if (!self->obj) { + PyErr_SetString(PyExc_RuntimeError, + "could not get default display"); + return -1; + } + + g_object_ref(self->obj); + + pygobject_register_wrapper((PyObject *)self); + return 0; +} +%% override gdk_screen_list_visuals noargs static PyObject * _wrap_gdk_screen_list_visuals(PyGObject *self) |