summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog27
-rwxr-xr-xautogen.sh8
-rw-r--r--codegen/codegen.py44
-rw-r--r--codegen/override.py6
-rw-r--r--gobject/gobjectmodule.c5
-rw-r--r--gobjectmodule.c5
-rw-r--r--gtk/gtk.defs11
-rw-r--r--gtk/gtk.override12
-rw-r--r--pygtk.spec.in4
9 files changed, 83 insertions, 39 deletions
diff --git a/ChangeLog b/ChangeLog
index 7c8a1101..9c1a2ec8 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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
diff --git a/autogen.sh b/autogen.sh
index 082e882b..1242fde1 100755
--- a/autogen.sh
+++ b/autogen.sh
@@ -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