summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Ehresman <jpe@wingware.com>2005-09-16 20:31:48 +0000
committerJohn Ehresman <jpe@src.gnome.org>2005-09-16 20:31:48 +0000
commita66bbba01ca6882757d03eff265ee94a24f5b45f (patch)
treedffdd5a08c11f633f19d55123210488d1dc6d877
parent8ac845e3999ba1e721e32944e3f25d566cd0e72e (diff)
downloadpygtk-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--ChangeLog5
-rw-r--r--gtk/gdk.override10
2 files changed, 13 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 78d3b1bb..1f4597f7 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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);