diff options
author | Gustavo J. A. M. Carneiro <gjc@src.gnome.org> | 2009-02-01 18:08:56 +0000 |
---|---|---|
committer | Gustavo J. A. M. Carneiro <gjc@src.gnome.org> | 2009-02-01 18:08:56 +0000 |
commit | 8aa47ff924e0f4968b396367349ab627e9419f2c (patch) | |
tree | 2bf572fe169d41296d7bbeaeff1bd7db72133bd3 /gtk | |
parent | c86b5d9b658b102937c2355b645f06603211d70d (diff) | |
download | pygtk-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.override | 6 |
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(); |