diff options
-rw-r--r-- | ChangeLog | 27 | ||||
-rwxr-xr-x | autogen.sh | 8 | ||||
-rw-r--r-- | codegen/codegen.py | 44 | ||||
-rw-r--r-- | codegen/override.py | 6 | ||||
-rw-r--r-- | gobject/gobjectmodule.c | 5 | ||||
-rw-r--r-- | gobjectmodule.c | 5 | ||||
-rw-r--r-- | gtk/gtk.defs | 11 | ||||
-rw-r--r-- | gtk/gtk.override | 12 | ||||
-rw-r--r-- | pygtk.spec.in | 4 |
9 files changed, 83 insertions, 39 deletions
@@ -1,3 +1,30 @@ +2002-03-19 Matt Wilson <msw@redhat.com> + + * autogen.sh: allow override of autoconf and autoheader + + * gtk/gtk.defs (GtkTreeModel.get_iter_root): use the + gtk_tree_model_get_iter_first code, get_iter_root is going to be + deprecated. + (GtkTreeModel.get_iter_first): added + + * gtk/gtk.override (_wrap_gtk_tree_model_get_iter_root): check the + return value of gtk_tree_model_get_iter_root and return None if it + failed. Rename to _wrap_gtk_tree_model_get_iter_first. + + * codegen/codegen.py (write_class, write_interface, write_boxed + write_pointer): use overrides.is_already_included to prevent from + having the same override code included twice in one file. This + allows two methods to point to the same function. + + * codegen/override.py (Overrides.is_already_included): added a + function that returns true if the override code has been emitted + already. + +2002-03-11 Matt Wilson <msw@redhat.com> + + * gobjectmodule.c: remove pygobject_exception_notifiers and + pyg_fatal_exceptions_notify. + 2002-03-18 James Henstridge <james@daa.com.au> * pango.defs: remove indic functions -- they are part of the @@ -14,6 +14,8 @@ DIE=0 test -z "$AUTOMAKE" && AUTOMAKE=automake test -z "$ACLOCAL" && ACLOCAL=aclocal +test -z "$AUTOCONF" && AUTOCONF=autoconf +test -z "$AUTOHEADER" && AUTOHEADER=autoheader (autoconf --version) < /dev/null > /dev/null 2>&1 || { echo @@ -85,14 +87,14 @@ fi $ACLOCAL $ACLOCAL_FLAGS # optionally feature autoheader -(autoheader --version) < /dev/null > /dev/null 2>&1 && autoheader +($AUTOHEADER --version) < /dev/null > /dev/null 2>&1 && $AUTOHEADER # run libtoolize ... libtoolize --force $AUTOMAKE -a $am_opt -autoheader -autoconf +$AUTOHEADER +$AUTOCONF cd $ORIGDIR $srcdir/configure --enable-maintainer-mode "$@" diff --git a/codegen/codegen.py b/codegen/codegen.py index 4dee7969..eefcce01 100644 --- a/codegen/codegen.py +++ b/codegen/codegen.py @@ -586,11 +586,12 @@ def write_class(parser, objobj, overrides, fp=sys.stdout): try: methtype = 'METH_VARARGS' if overrides.is_overriden(meth.c_name): - lineno, filename = overrides.getstartline(meth.c_name) - fp.setline(lineno, filename) - fp.write(overrides.override(meth.c_name)) - fp.resetline() - fp.write('\n\n') + if not overrides.is_already_included(meth.c_name): + lineno, filename = overrides.getstartline(meth.c_name) + fp.setline(lineno, filename) + fp.write(overrides.override(meth.c_name)) + fp.resetline() + fp.write('\n\n') if overrides.wants_kwargs(meth.c_name): methtype = methtype + '|METH_KEYWORDS' elif overrides.wants_noargs(meth.c_name): @@ -651,11 +652,12 @@ def write_interface(parser, interface, overrides, fp=sys.stdout): try: methtype = 'METH_VARARGS' if overrides.is_overriden(meth.c_name): - lineno, filename = overrides.getstartline(meth.c_name) - fp.setline(lineno, filename) - fp.write(overrides.override(meth.c_name)) - fp.resetline() - fp.write('\n\n') + if not overrides.is_already_included(meth.c_name): + lineno, filename = overrides.getstartline(meth.c_name) + fp.setline(lineno, filename) + fp.write(overrides.override(meth.c_name)) + fp.resetline() + fp.write('\n\n') if overrides.wants_kwargs(meth.c_name): methtype = methtype + '|METH_KEYWORDS' elif overrides.wants_noargs(meth.c_name): @@ -861,11 +863,12 @@ def write_boxed(parser, boxedobj, overrides, fp=sys.stdout): try: methtype = 'METH_VARARGS' if overrides.is_overriden(meth.c_name): - lineno, filename = overrides.getstartline(meth.c_name) - fp.setline(lineno, filename) - fp.write(overrides.override(meth.c_name)) - fp.resetline() - fp.write('\n\n') + if not overrides.is_already_included(meth.c_name): + lineno, filename = overrides.getstartline(meth.c_name) + fp.setline(lineno, filename) + fp.write(overrides.override(meth.c_name)) + fp.resetline() + fp.write('\n\n') if overrides.wants_kwargs(meth.c_name): methtype = methtype + '|METH_KEYWORDS' elif overrides.wants_noargs(meth.c_name): @@ -1076,11 +1079,12 @@ def write_pointer(parser, pointerobj, overrides, fp=sys.stdout): try: methtype = 'METH_VARARGS' if overrides.is_overriden(meth.c_name): - lineno, filename = overrides.getstartline(meth.c_name) - fp.setline(lineno, filename) - fp.write(overrides.override(meth.c_name)) - fp.resetline() - fp.write('\n\n') + if not overrides.is_already_included(meth.c_name): + lineno, filename = overrides.getstartline(meth.c_name) + fp.setline(lineno, filename) + fp.write(overrides.override(meth.c_name)) + fp.resetline() + fp.write('\n\n') if overrides.wants_kwargs(meth.c_name): methtype = methtype + '|METH_KEYWORDS' elif overrides.wants_noargs(meth.c_name): diff --git a/codegen/override.py b/codegen/override.py index bf512a31..574f0576 100644 --- a/codegen/override.py +++ b/codegen/override.py @@ -15,6 +15,7 @@ class Overrides: self.ignores = {} self.glob_ignores = [] self.overrides = {} + self.overridden = {} self.kwargs = {} self.noargs = {} self.startlines = {} @@ -104,8 +105,11 @@ class Overrides: return 0 def is_overriden(self, name): return self.overrides.has_key(name) + def is_already_included(self, name): + return self.overridden.has_key(name) def override(self, name): - return self.overrides[name] + self.overridden[name] = 1 + return self.overrides[name] def getstartline(self, name): return self.startlines[name] def wants_kwargs(self, name): diff --git a/gobject/gobjectmodule.c b/gobject/gobjectmodule.c index e13ccdbc..1dc0e083 100644 --- a/gobject/gobjectmodule.c +++ b/gobject/gobjectmodule.c @@ -8,11 +8,6 @@ static PyObject *gerror_exc = NULL; -static GList *pygobject_exception_notifiers = NULL; - -static int pyg_fatal_exceptions_notify(void); - - /* -------------- GDK threading hooks ---------------------------- */ static void diff --git a/gobjectmodule.c b/gobjectmodule.c index e13ccdbc..1dc0e083 100644 --- a/gobjectmodule.c +++ b/gobjectmodule.c @@ -8,11 +8,6 @@ static PyObject *gerror_exc = NULL; -static GList *pygobject_exception_notifiers = NULL; - -static int pyg_fatal_exceptions_notify(void); - - /* -------------- GDK threading hooks ---------------------------- */ static void diff --git a/gtk/gtk.defs b/gtk/gtk.defs index 86541b9e..a6c0f1c9 100644 --- a/gtk/gtk.defs +++ b/gtk/gtk.defs @@ -14311,7 +14311,16 @@ (define-method get_iter_root (of-object "GtkTreeModel") - (c-name "gtk_tree_model_get_iter_root") + (c-name "gtk_tree_model_get_iter_first") + (return-type "gboolean") + (parameters + '("GtkTreeIter*" "iter") + ) +) + +(define-method get_iter_first + (of-object "GtkTreeModel") + (c-name "gtk_tree_model_get_iter_first") (return-type "gboolean") (parameters '("GtkTreeIter*" "iter") diff --git a/gtk/gtk.override b/gtk/gtk.override index bf015cb3..cdd520e4 100644 --- a/gtk/gtk.override +++ b/gtk/gtk.override @@ -1662,14 +1662,18 @@ _wrap_gtk_tree_store_append(PyGObject *self, PyObject *args, PyObject *kwargs) return pyg_boxed_new(GTK_TYPE_TREE_ITER, &iter, TRUE, TRUE); } %% -override gtk_tree_model_get_iter_root noargs +override gtk_tree_model_get_iter_first noargs static PyObject * -_wrap_gtk_tree_model_get_iter_root(PyGObject *self) +_wrap_gtk_tree_model_get_iter_first(PyGObject *self) { GtkTreeIter iter; - gtk_tree_model_get_iter_root(GTK_TREE_MODEL(self->obj), &iter); - return pyg_boxed_new(GTK_TYPE_TREE_ITER, &iter, TRUE, TRUE); + if (gtk_tree_model_get_iter_first(GTK_TREE_MODEL(self->obj), &iter)) + return pyg_boxed_new(GTK_TYPE_TREE_ITER, &iter, TRUE, TRUE); + else { + Py_INCREF(Py_None); + return Py_None; + } } %% override gtk_tree_model_iter_children kwargs diff --git a/pygtk.spec.in b/pygtk.spec.in index 26fe96c2..5a422bcf 100644 --- a/pygtk.spec.in +++ b/pygtk.spec.in @@ -12,6 +12,7 @@ Packager: James Henstridge <james@daa.com.au> Requires: gtk2 >= 1.3.9 Requires: python2 >= 2.2 Buildrequires: python2-devel >= 2.2 +Buildrequires: libglade2-devel %description PyGTK is an extension module for python that gives you access to the GTK+ @@ -38,6 +39,9 @@ This package contains files required to build wrappers for GTK+ addon libraries so that they interoperate with pygtk. %changelog +* Wed Feb 27 2002 Matt Wilson <msw@redhat.com> +- 1.99.8 + * Mon Jan 28 2002 Matt Wilson <msw@redhat.com> - added atkmodule.so to file list |