vala r1336 - in trunk: . gobject vala



Author: juergbi
Date: Fri May  2 20:58:58 2008
New Revision: 1336
URL: http://svn.gnome.org/viewvc/vala?rev=1336&view=rev

Log:
2008-05-02  Juerg Billeter  <j bitron ch>

	* vala/valaarraytype.vala:
	* vala/valadatatype.vala:
	* gobject/valaccodegeneratorsignal.vala:

	Fix crash when using arrays in D-Bus services, fixes bug 530455


Modified:
   trunk/ChangeLog
   trunk/gobject/valaccodegeneratorsignal.vala
   trunk/vala/valaarraytype.vala
   trunk/vala/valadatatype.vala

Modified: trunk/gobject/valaccodegeneratorsignal.vala
==============================================================================
--- trunk/gobject/valaccodegeneratorsignal.vala	(original)
+++ trunk/gobject/valaccodegeneratorsignal.vala	Fri May  2 20:58:58 2008
@@ -29,6 +29,8 @@
 			return ("POINTER");
 		} else if (t is ErrorType) {
 			return ("POINTER");
+		} else if (t is ArrayType) {
+			return ("POINTER");
 		} else if (t is VoidType) {
 			return ("VOID");
 		} else {

Modified: trunk/vala/valaarraytype.vala
==============================================================================
--- trunk/vala/valaarraytype.vala	(original)
+++ trunk/vala/valaarraytype.vala	Fri May  2 20:58:58 2008
@@ -169,4 +169,14 @@
 	public override bool is_reference_type_or_type_parameter () {
 		return true;
 	}
+
+	public override string? get_type_signature () {
+		string element_type_signature = element_type.get_type_signature ();
+
+		if (element_type_signature == null) {
+			return null;
+		}
+
+		return "a" + element_type_signature;
+	}
 }

Modified: trunk/vala/valadatatype.vala
==============================================================================
--- trunk/vala/valadatatype.vala	(original)
+++ trunk/vala/valadatatype.vala	Fri May  2 20:58:58 2008
@@ -419,7 +419,7 @@
 	/**
 	 * Returns type signature as used for GVariant and D-Bus.
 	 */
-	public string? get_type_signature () {
+	public virtual string? get_type_signature () {
 		if (data_type != null) {
 			return data_type.get_type_signature ();
 		} else {



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]