=== modified file 'bank/bank-repository.c'
--- bank/bank-repository.c	2008-10-25 14:50:37 +0000
+++ bank/bank-repository.c	2009-03-20 20:59:05 +0000
@@ -173,6 +173,23 @@
 }
 
 static PyObject *
+_wrap_g_irepository_get_c_prefix(PyGIRepository *self,
+				 PyObject *args,
+				 PyObject *kwargs)
+{
+    static char *kwlist[] = { "namespace", NULL };
+    char *namespace;
+
+
+    if (!PyArg_ParseTupleAndKeywords(args, kwargs,
+				     "s:GIRepository.getCPrefix",
+				     kwlist, &namespace))
+        return NULL;
+
+    return PyString_FromString(g_irepository_get_c_prefix(self->repo, namespace));
+}
+
+static PyObject *
 _wrap_g_irepository_get_default(PyObject *_)
 {
     static PyGIRepository *self = NULL;
@@ -196,6 +213,7 @@
     { "getDefault", (PyCFunction)_wrap_g_irepository_get_default, METH_STATIC|METH_NOARGS },
     { "findByName", (PyCFunction)_wrap_g_irepository_find_by_name, METH_VARARGS|METH_KEYWORDS },
     { "isRegistered", (PyCFunction)_wrap_g_irepository_is_registered, METH_VARARGS|METH_KEYWORDS },
+    { "getCPrefix", (PyCFunction)_wrap_g_irepository_get_c_prefix, METH_VARARGS|METH_KEYWORDS },
     { NULL, NULL, 0 }
 };
 

=== modified file 'bank/btypes.py'
--- bank/btypes.py	2009-01-15 22:35:05 +0000
+++ bank/btypes.py	2009-03-20 21:06:48 +0000
@@ -219,14 +219,13 @@
     for method in info.getMethods():
         if method.isConstructor():
             constructors.append(method)
-            continue
         elif method.isMethod():
-            pass
-        else:
-            raise AssertionError
-        methodName = method.getName()
-        setattr(newType, methodName, new.instancemethod(Method(method, className),
-                                                        None, newType))
+            methodName = method.getName()
+            setattr(newType, methodName, new.instancemethod(Method(method, className),
+                                                            None, newType))
+        else: # probably a static method
+            func = Method(method, className, call_type=Method.STATIC_METHOD)
+            setattr(newType, method.getName(), staticmethod(func))
 
     setupConstructors(className, newType, constructors)
 

=== removed file 'bank/gobject.py'
--- bank/gobject.py	2009-01-15 22:35:05 +0000
+++ bank/gobject.py	1970-01-01 00:00:00 +0000
@@ -1,22 +0,0 @@
-# -*- Mode: Python; py-indent-offset: 4 -*-
-#
-# Copyright (C) 2005, 2007  Johan Dahlin <johan@gnome.org>
-#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Lesser General Public
-# License as published by the Free Software Foundation; either
-# version 2.1 of the License, or (at your option) any later version.
-#
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-# Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public
-# License along with this library; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-#
-
-
-class GEnum(int):
-    pass

=== modified file 'bank/module.py'
--- bank/module.py	2008-12-05 14:14:46 +0000
+++ bank/module.py	2009-03-20 21:06:55 +0000
@@ -20,9 +20,9 @@
 import os
 
 import gobject
+from gobject import GEnum
 
 from .btypes import Function, buildClass
-from .gobject import GEnum
 from .repo import EnumInfo, FunctionInfo, ObjectInfo, UnresolvedInfo
 from .repository import repository
 
@@ -115,11 +115,10 @@
     def _create_object(self, object_info):
         name = object_info.getName()
 
-        namespace = object_info.getNamespace()
-        if namespace == 'GObject':
-            namespace = 'G'
+        namespace = repository.get_c_prefix(object_info.getNamespace())
         full_name = namespace + name
         object_info.getGType()
+        gtype = None
         try:
             gtype = gobject.GType.from_name(full_name)
         except RuntimeError:

=== modified file 'bank/repository.py'
--- bank/repository.py	2008-12-05 14:14:46 +0000
+++ bank/repository.py	2009-03-20 21:01:01 +0000
@@ -44,5 +44,8 @@
     def get_infos(self, namespace):
         return self._repo.getInfos(namespace)
 
+    def get_c_prefix(self, namespace):
+        return self._repo.getCPrefix(namespace)
+
 repository = _Repository()
-repository.register(gobject, 'GObject', None)
\ No newline at end of file
+repository.register(gobject, 'GObject', None)

=== modified file 'webkittest.py'
--- webkittest.py	2008-08-22 07:18:23 +0000
+++ webkittest.py	2009-03-20 21:04:23 +0000
@@ -1,9 +1,13 @@
 import bank
 
+import GLib
 import Gtk
 import WebKit
 
+GLib.thread_init(None)
+
 win = Gtk.Window(Gtk.WindowType.TOPLEVEL)
+win.connect('delete-event', lambda *args: Gtk.main_quit())
 
 sw = Gtk.ScrolledWindow(None, None)
 win.add(sw)

