[Kde-bindings] KDE/kdebindings

Arno Rehn kde at arnorehn.de
Sat Aug 9 11:17:19 UTC 2008


SVN commit 844325 by arnorehn:

* Fix TryDispose() for custom subclasses that don't implement Dispose().
* Add a new soprano header.

CCMAIL: kde-bindings at kde.org



 M  +4 -0      csharp/qyoto/ChangeLog  
 M  +1 -1      csharp/qyoto/examples/itemviews/simpletreemodel/main.cs  
 M  +5 -8      csharp/qyoto/src/SmokeMarshallers.cs  
 M  +1 -0      smoke/soprano/soprano_header_list  


--- trunk/KDE/kdebindings/csharp/qyoto/ChangeLog #844324:844325
@@ -1,3 +1,7 @@
+2008-08-09  Arno Rehn  <arno at arnorehn.de>
+
+	* Fix TryDispose() for custom subclasses that don't implement Dispose().
+
 2008-07-31  Arno Rehn  <arno at arnorehn.de>
 
 	* If a custom subclass of one of the binding's classes is destroyed, try to
--- trunk/KDE/kdebindings/csharp/qyoto/examples/itemviews/simpletreemodel/main.cs #844324:844325
@@ -10,7 +10,7 @@
 		
 		QFile file = new QFile(":/default.txt");
 		file.Open((int) QIODevice.OpenModeFlag.ReadOnly);
-		TreeModel model = new TreeModel(file.ReadAll().Data());
+		TreeModel model = new TreeModel(file.ReadAll().ConstData());
 		file.Close();
 		
 		QTreeView view = new QTreeView();
--- trunk/KDE/kdebindings/csharp/qyoto/src/SmokeMarshallers.cs #844324:844325
@@ -816,14 +816,11 @@
 		
 		public static void TryDispose(IntPtr obj) {
 			object o = ((GCHandle) obj).Target;
-			if (IsSmokeClass(o.GetType())) return;
-			try {
-				((IDisposable) o).Dispose();
-			} catch (Exception e) {
-#if DEBUG
-				Console.WriteLine("Disposing {0} failed, reason: {1}", obj, e);
-#endif
-			}
+			Type t = o.GetType();
+			MethodInfo mi = t.GetMethod("Dispose");
+			if (mi == null) return;
+			if (IsSmokeClass(mi.DeclaringType)) return;
+			((IDisposable) o).Dispose();
 		}
 #endregion
 		
--- trunk/KDE/kdebindings/smoke/soprano/soprano_header_list #844324:844325
@@ -1,4 +1,5 @@
 soprano/asyncmodel.h
+soprano/asyncresult.h
 soprano/backend.h
 soprano/bindingset.h
 soprano/cluceneindex.h



More information about the Kde-bindings mailing list