vala r1170 - in trunk: . gobject tests



Author: juergbi
Date: Mon Apr  7 15:01:17 2008
New Revision: 1170
URL: http://svn.gnome.org/viewvc/vala?rev=1170&view=rev

Log:
2008-04-07  Juerg Billeter  <j bitron ch>

	* gobject/valaccodeassignmentbinding.vala: fix element access
	  assignment with pointers, fixes bug 519933

	* tests/pointers.vala: test pointer element access


Modified:
   trunk/ChangeLog
   trunk/gobject/valaccodeassignmentbinding.vala
   trunk/tests/pointers.vala

Modified: trunk/gobject/valaccodeassignmentbinding.vala
==============================================================================
--- trunk/gobject/valaccodeassignmentbinding.vala	(original)
+++ trunk/gobject/valaccodeassignmentbinding.vala	Mon Apr  7 15:01:17 2008
@@ -541,7 +541,9 @@
 			emit_property_assignment ();
 		} else if (assignment.left.symbol_reference is Signal) {
 			emit_signal_assignment ();
-		} else if (assignment.left is ElementAccess && !(((ElementAccess) assignment.left).container.static_type is ArrayType)) {
+		} else if (assignment.left is ElementAccess
+		           && !(((ElementAccess) assignment.left).container.static_type is ArrayType)
+		           && !(((ElementAccess) assignment.left).container.static_type is PointerType)) {
 			emit_non_array_element_access ();
 		} else {
 			emit_simple_assignment ();

Modified: trunk/tests/pointers.vala
==============================================================================
--- trunk/tests/pointers.vala	(original)
+++ trunk/tests/pointers.vala	Mon Apr  7 15:01:17 2008
@@ -11,6 +11,16 @@
 		SimpleStruct* st = new SimpleStruct[1];
 		st->field = 1;
 		assert (st->field == st->test ());
+		delete st;
+
+		test_pointers_element_access ();
+	}
+
+	static void test_pointers_element_access () {
+		int* array = new int[42];
+		array[0] = 23;
+		assert (array[0] == 23);
+		delete array;
 	}
 }
 



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