diff -ur vte-0.22.5-orig/python/vte.override vte-0.22.5-python-get-text/python/vte.override
--- vte-0.22.5-orig/python/vte.override 2010-01-16 20:54:40.515014436 -0500
+++ vte-0.22.5-python-get-text/python/vte.override 2010-01-16 22:14:40.881828300 -0500
@@ -306,9 +306,9 @@
}
cb = PySequence_GetItem(data, 0); /* INCREFs */
- Py_XDECREF(cb);
if (!PyCallable_Check(cb)) {
+ Py_XDECREF(cb);
PyErr_SetString(PyExc_TypeError, "callback is not a callable object");
return FALSE;
}
@@ -320,6 +320,7 @@
PyTuple_SetItem(args, 3, PySequence_GetItem(data, 2));
result = PyObject_CallObject(cb, args);
+ Py_XDECREF(cb);
Py_DECREF(args);
ret = (result && PyObject_IsTrue(result));
@@ -332,7 +333,7 @@
build_attributes(GArray *attrs)
{
PyObject *py_attrs = PyTuple_New(attrs->len);
- int count;
+ guint count;
PyObject *row = PyString_FromString("row");
PyObject *column = PyString_FromString("column");
PyObject *fore = PyString_FromString("fore");
@@ -344,6 +345,8 @@
VteCharAttributes *cht;
PyObject *py_char_attr;
+ cht = &g_array_index(attrs, VteCharAttributes, count);
+
py_char_attr = Py_BuildValue("{S:l,S:l,S:N,S:N,S:I,S:I}",
row, cht->row,
column, cht->column,
@@ -380,10 +383,9 @@
GArray *attrs = NULL;
char *text;
PyObject *py_attrs;
- int count;
long length;
- if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O|OO:terminal_get_text",
+ if (!PyArg_ParseTupleAndKeywords(args, kwargs, "|OOO:terminal_get_text",
kwlist, &callback, &do_attr, &data)) {
return NULL;
}
@@ -451,10 +453,9 @@
GArray *attrs = NULL;
char *text;
PyObject *py_attrs;
- int count;
long length;
- if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O|OO:terminal_get_text_include_trailing_spaces",
+ if (!PyArg_ParseTupleAndKeywords(args, kwargs, "|OOO:terminal_get_text_include_trailing_spaces",
kwlist, &callback, &do_attr, &data)) {
return NULL;
}
@@ -522,11 +523,10 @@
GArray *attrs = NULL;
char *text;
PyObject *py_attrs;
- int count;
long length;
if (!PyArg_ParseTupleAndKeywords(args, kwargs,
- "llllO|OO:terminal_get_text_range",
+ "llll|OOO:terminal_get_text_range",
kwlist,
&start_row, &start_col, &end_row, &end_col,
&callback, &do_attr, &data)) {
@@ -641,7 +641,7 @@
static char *kwlist[] = { "column", "row", NULL };
gchar *ret;
glong column, row;
- int *tag;
+ int tag;
if (!PyArg_ParseTupleAndKeywords(args, kwargs, "ll:VteTerminal.match_check", kwlist, &column, &row))
return NULL;