[Xfce4-commits] <thunarx-python:master> Fixed the miserable assertion failed (tp != NULL) error. Must use define-interface and not define-object in defs file

Adam Plumb noreply at xfce.org
Thu May 27 18:10:29 CEST 2010


Updating branch refs/heads/master
         to fb5a7b8f2d8066ff0d1d8be7db5d77efaad10ded (commit)
       from a4a9ee3b87df08dae9d9bab486c9fb44aa17c5c1 (commit)

commit fb5a7b8f2d8066ff0d1d8be7db5d77efaad10ded
Author: Adam Plumb <adamplumb at gmail.com>
Date:   Sun Dec 13 11:25:11 2009 -0500

    Fixed the miserable assertion failed (tp != NULL) error.  Must use define-interface and not define-object in defs file

 src/generate-defs.sh |    6 +++++-
 src/thunarx-python.c |    5 +++--
 src/thunarx.defs     |   16 ++++++++--------
 src/thunarxmodule.c  |    2 +-
 4 files changed, 17 insertions(+), 12 deletions(-)

diff --git a/src/generate-defs.sh b/src/generate-defs.sh
index 39ee17e..9b10fd4 100755
--- a/src/generate-defs.sh
+++ b/src/generate-defs.sh
@@ -3,7 +3,8 @@
 THUNAR_INCLUDEDIR=`pkg-config --variable=includedir thunarx-2`/thunarx-2/thunarx
 CODEGEN=`pkg-config --variable=codegendir pygtk-2.0`/h2def.py
 
-python $CODEGEN ${THUNAR_INCLUDEDIR}/*.h >> thunarx.defs
+python $CODEGEN ${THUNAR_INCLUDEDIR}/*.h > thunarx.defs
+#python $CODEGEN ${THUNAR_INCLUDEDIR}/thunarx-file-info.h >> thunarx.defs
 #python $CODEGEN "${THUNAR_INCLUDEDIR}/thunarx-preferences-provider.h" >> thunarx.defs
 #python $CODEGEN "${THUNAR_INCLUDEDIR}/thunarx-property-page.h" >> thunarx.defs
 #python $CODEGEN "${THUNAR_INCLUDEDIR}/thunarx-property-page-provider.h" >> thunarx.defs
@@ -11,3 +12,6 @@ python $CODEGEN ${THUNAR_INCLUDEDIR}/*.h >> thunarx.defs
 #python $CODEGEN "${THUNAR_INCLUDEDIR}/thunarx-provider-plugin.h" >> thunarx.defs
 #python $CODEGEN "${THUNAR_INCLUDEDIR}/thunarx-renamer.h" >> thunarx.defs
 #python $CODEGEN "${THUNAR_INCLUDEDIR}/thunarx-renamer-provider.h" >> thunarx.defs
+
+
+sed -i 's|define-object|define-interface|g' thunarx.defs
diff --git a/src/thunarx-python.c b/src/thunarx-python.c
index 8e22ef8..07bea1a 100644
--- a/src/thunarx-python.c
+++ b/src/thunarx-python.c
@@ -184,7 +184,7 @@ thunarx_python_init_python (void)
     return FALSE;
   }
 
-	/* Extract types and interfaces from nautilus */
+	/* Extract types and interfaces from thunarx */
 	mdict = PyModule_GetDict(thunarx);
 	
 	_PyGtkWidget_Type = pygobject_lookup_class(GTK_TYPE_WIDGET);
@@ -248,7 +248,7 @@ thunarx_python_load_file (ThunarxProviderPlugin *plugin, const gchar *filename)
       continue;
       
 		if (PyObject_IsSubclass(value, (PyObject*)&PyThunarxMenuProvider_Type) ||
-			PyObject_IsSubclass(value, (PyObject*)&PyThunarxPropertyPageProvider_Type)) {
+		    PyObject_IsSubclass(value, (PyObject*)&PyThunarxPropertyPageProvider_Type)) {
 			
 			new_type = thunarx_python_object_get_type(plugin, value);
 			g_array_append_val(all_types, new_type);
@@ -300,6 +300,7 @@ thunarx_python_load_dir (ThunarxProviderPlugin *plugin, const char *dirname)
 				PyList_Insert(sys_path, 0, py_path);
 				Py_DECREF(py_path);
 			}
+
 			thunarx_python_load_file(plugin, modulename);
 		}
 	}
diff --git a/src/thunarx.defs b/src/thunarx.defs
index ce25741..10c5708 100644
--- a/src/thunarx.defs
+++ b/src/thunarx.defs
@@ -1,50 +1,50 @@
 ;; -*- scheme -*-
 ; object definitions ...
-(define-object FileInfo
+(define-interface FileInfo
   (in-module "Thunarx")
   (c-name "ThunarxFileInfo")
   (gtype-id "THUNARX_TYPE_FILE_INFO")
 )
 
-(define-object MenuProvider
+(define-interface MenuProvider
   (in-module "Thunarx")
   (c-name "ThunarxMenuProvider")
   (gtype-id "THUNARX_TYPE_MENU_PROVIDER")
 )
 
-(define-object PreferencesProvider
+(define-interface PreferencesProvider
   (in-module "Thunarx")
   (c-name "ThunarxPreferencesProvider")
   (gtype-id "THUNARX_TYPE_PREFERENCES_PROVIDER")
 )
 
-(define-object PropertyPage
+(define-interface PropertyPage
   (in-module "Thunarx")
   (parent "GtkBin")
   (c-name "ThunarxPropertyPage")
   (gtype-id "THUNARX_TYPE_PROPERTY_PAGE")
 )
 
-(define-object PropertyPageProvider
+(define-interface PropertyPageProvider
   (in-module "Thunarx")
   (c-name "ThunarxPropertyPageProvider")
   (gtype-id "THUNARX_TYPE_PROPERTY_PAGE_PROVIDER")
 )
 
-(define-object ProviderPlugin
+(define-interface ProviderPlugin
   (in-module "Thunarx")
   (c-name "ThunarxProviderPlugin")
   (gtype-id "THUNARX_TYPE_PROVIDER_PLUGIN")
 )
 
-(define-object Renamer
+(define-interface Renamer
   (in-module "Thunarx")
   (parent "GtkVBox")
   (c-name "ThunarxRenamer")
   (gtype-id "THUNARX_TYPE_RENAMER")
 )
 
-(define-object RenamerProvider
+(define-interface RenamerProvider
   (in-module "Thunarx")
   (c-name "ThunarxRenamerProvider")
   (gtype-id "THUNARX_TYPE_RENAMER_PROVIDER")
diff --git a/src/thunarxmodule.c b/src/thunarxmodule.c
index e89ed94..bebe6c8 100644
--- a/src/thunarxmodule.c
+++ b/src/thunarxmodule.c
@@ -50,7 +50,7 @@ initthunarx(void)
     m = Py_InitModule ("thunarx", pythunarx_functions);
     d = PyModule_GetDict (m);
 
-    pythunarx_register_classes(d);  
+    pythunarx_register_classes(d);
     
     if (PyErr_Occurred())
     {



More information about the Xfce4-commits mailing list