summaryrefslogtreecommitdiff
path: root/gtk
diff options
context:
space:
mode:
authorGustavo J. A. M. Carneiro <gjc@src.gnome.org>2009-02-01 18:08:56 +0000
committerGustavo J. A. M. Carneiro <gjc@src.gnome.org>2009-02-01 18:08:56 +0000
commit8aa47ff924e0f4968b396367349ab627e9419f2c (patch)
tree2bf572fe169d41296d7bbeaeff1bd7db72133bd3 /gtk
parentc86b5d9b658b102937c2355b645f06603211d70d (diff)
downloadpygtk-8aa47ff924e0f4968b396367349ab627e9419f2c.tar.gz
Bug 567747 – ugly trace when copy/pasting in a custom gtk.TextView
svn path=/trunk/; revision=3081
Diffstat (limited to 'gtk')
-rw-r--r--gtk/gtktextview.override6
1 files changed, 5 insertions, 1 deletions
diff --git a/gtk/gtktextview.override b/gtk/gtktextview.override
index 61e29817..28e8167e 100644
--- a/gtk/gtktextview.override
+++ b/gtk/gtktextview.override
@@ -1379,6 +1379,7 @@ _wrap_gtk_text_buffer_serialize(PyGObject *self, PyObject *args,
guint8 *ret;
PyGObject *content_buffer;
GtkTextIter *start = NULL, *end = NULL;
+ PyObject *py_retval;
if (!PyArg_ParseTupleAndKeywords(args, kwargs,
"O!OOO:GtkTextBuffer.serialize",
@@ -1407,7 +1408,9 @@ _wrap_gtk_text_buffer_serialize(PyGObject *self, PyObject *args,
ret = gtk_text_buffer_serialize(GTK_TEXT_BUFFER(self->obj),
GTK_TEXT_BUFFER(content_buffer->obj),
format, start, end, &length);
- return PyString_FromStringAndSize((char *) ret, (Py_ssize_t) length);
+ py_retval = PyString_FromStringAndSize((char *) ret, (Py_ssize_t) length);
+ g_free(ret);
+ return py_retval;
}
%%
override gtk_text_buffer_register_deserialize_format kwargs
@@ -1529,6 +1532,7 @@ pygtk_text_buffer_register_serialize_format_cb(GtkTextBuffer *register_buf,
if (retobj != NULL) {
PyString_AsStringAndSize(retobj, (gchar**)&ret, (Py_ssize_t*) length);
+ ret = g_memdup(ret, *length);
Py_DECREF(retobj);
} else {
PyErr_Print();