summaryrefslogtreecommitdiff
path: root/gtk/gdk.override
diff options
context:
space:
mode:
authorGian Mario Tagliaretti <gianmt@src.gnome.org>2008-02-06 13:19:30 +0000
committerGian Mario Tagliaretti <gianmt@src.gnome.org>2008-02-06 13:19:30 +0000
commit6f2bca7fe6fa045599053ccb6ac3e67fb498603c (patch)
treea18ea886068a1b49458e3f29810526a3202c5b85 /gtk/gdk.override
parenta54e4c333690602fe6b1adf253d1d69dfb2baac2 (diff)
downloadpygtk-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.override17
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)