diff options
author | John Ehresman <jpe@wingware.com> | 2005-09-16 20:31:48 +0000 |
---|---|---|
committer | John Ehresman <jpe@src.gnome.org> | 2005-09-16 20:31:48 +0000 |
commit | a66bbba01ca6882757d03eff265ee94a24f5b45f (patch) | |
tree | dffdd5a08c11f633f19d55123210488d1dc6d877 | |
parent | 8ac845e3999ba1e721e32944e3f25d566cd0e72e (diff) | |
download | pygtk-a66bbba01ca6882757d03eff265ee94a24f5b45f.tar.gz |
Allow subwindow to be set for enter & leave notify events.
2005-09-16 John Ehresman <jpe@wingware.com>
* gtk/gdk.override (_wrap_gdk_event_tp_setattr): Allow subwindow
to be set for enter & leave notify events.
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | gtk/gdk.override | 10 |
2 files changed, 13 insertions, 2 deletions
@@ -1,5 +1,10 @@ 2005-09-16 John Ehresman <jpe@wingware.com> + * gtk/gdk.override (_wrap_gdk_event_tp_setattr): Allow subwindow + to be set for enter & leave notify events. + +2005-09-16 John Ehresman <jpe@wingware.com> + * gobjectmodule.c (initgobject): Add gobject.Warning Warning subclass and redirect all g_log messages for the "GLib", "Glib-GObject", and "GThread" domains to the python warning system diff --git a/gtk/gdk.override b/gtk/gdk.override index 779795b5..d145d378 100644 --- a/gtk/gdk.override +++ b/gtk/gdk.override @@ -1012,8 +1012,14 @@ _wrap_gdk_event_tp_setattr(PyObject *self, char *attr, PyObject *value) case GDK_ENTER_NOTIFY: /*GdkEventCrossing crossing*/ case GDK_LEAVE_NOTIFY: /*GdkEventCrossing crossing*/ if (!strcmp(attr, "subwindow")) { - PyErr_SetString(PyExc_TypeError, "subwindow is not writable"); - return -1; + if (!pygobject_check(value, &PyGdkWindow_Type)) { + PyErr_SetString(PyExc_TypeError, "subwindow must be a GdkWindow"); + return -1; + } + if (event->crossing.subwindow) + g_object_unref(event->crossing.subwindow); + event->crossing.subwindow = g_object_ref(GDK_WINDOW(((PyGObject*)value)->obj)); + return 0; } else if (!strcmp(attr, "time")) { INT_CHECK(); event->crossing.time = PyInt_AsLong(value); |