seed r829 - in trunk: libseed tests/c tests/javascript



Author: hortont
Date: Mon Feb  2 11:46:08 2009
New Revision: 829
URL: http://svn.gnome.org/viewvc/seed?rev=829&view=rev

Log:
Fix silly nested switch in seed-types, add test that doesn't work (something's broken with return types of Seed-installed signals).


Modified:
   trunk/libseed/seed-types.c
   trunk/tests/c/Makefile.am
   trunk/tests/c/main.c
   trunk/tests/javascript/gtype-signal-args.js

Modified: trunk/libseed/seed-types.c
==============================================================================
--- trunk/libseed/seed-types.c	(original)
+++ trunk/libseed/seed-types.c	Mon Feb  2 11:46:08 2009
@@ -911,44 +911,39 @@
 			return TRUE;
 		}
 	case G_TYPE_LONG:
+		{
+			g_value_init(ret, G_TYPE_LONG);
+			g_value_set_long(ret, seed_value_to_long(ctx, val, exception));
+			return TRUE;
+		}
 	case G_TYPE_ULONG:
+		{
+			g_value_init(ret, G_TYPE_ULONG);
+			g_value_set_ulong(ret, seed_value_to_ulong(ctx, val, exception));
+			return TRUE;
+		}
 	case G_TYPE_INT64:
+		{
+			g_value_init(ret, G_TYPE_INT64);
+			g_value_set_int64(ret, seed_value_to_int64(ctx, val, exception));
+			return TRUE;
+		}
 	case G_TYPE_UINT64:
+		{
+			g_value_init(ret, G_TYPE_UINT64);
+			g_value_set_uint64(ret, seed_value_to_uint64(ctx, val, exception));
+			return TRUE;
+		}
 	case G_TYPE_FLOAT:
+		{
+			g_value_init(ret, G_TYPE_FLOAT);
+			g_value_set_float(ret, seed_value_to_float(ctx, val, exception));
+			return TRUE;
+		}
 	case G_TYPE_DOUBLE:
 		{
-			switch (type)
-			{
-			case G_TYPE_LONG:
-				g_value_init(ret, G_TYPE_LONG);
-				g_value_set_long(ret, seed_value_to_long(ctx, val, exception));
-				break;
-			case G_TYPE_ULONG:
-				g_value_init(ret, G_TYPE_ULONG);
-				g_value_set_ulong(ret, seed_value_to_ulong(ctx,
-														   val, exception));
-				break;
-			case G_TYPE_INT64:
-				g_value_init(ret, G_TYPE_INT64);
-				g_value_set_int64(ret, seed_value_to_int64(ctx,
-														   val, exception));
-				break;
-			case G_TYPE_UINT64:
-				g_value_init(ret, G_TYPE_UINT64);
-				g_value_set_uint64(ret, seed_value_to_uint64(ctx,
-															 val, exception));
-				break;
-			case G_TYPE_FLOAT:
-				g_value_init(ret, G_TYPE_FLOAT);
-				g_value_set_float(ret, seed_value_to_float(ctx,
-														   val, exception));
-				break;
-			case G_TYPE_DOUBLE:
-				g_value_init(ret, G_TYPE_DOUBLE);
-				g_value_set_double(ret, seed_value_to_double(ctx,
-															 val, exception));
-				break;
-			}
+			g_value_init(ret, G_TYPE_DOUBLE);
+			g_value_set_double(ret, seed_value_to_double(ctx, val, exception));
 			return TRUE;
 		}
 	case G_TYPE_STRING:

Modified: trunk/tests/c/Makefile.am
==============================================================================
--- trunk/tests/c/Makefile.am	(original)
+++ trunk/tests/c/Makefile.am	Mon Feb  2 11:46:08 2009
@@ -4,7 +4,8 @@
 	main.c						\
 	basic.c						\
 	api-types.c					\
-	api-closure.c
+	api-closure.c				\
+	api-js-signal-from-c.c
 
 EXTRA_DIST =					\
 	test-common.h

Modified: trunk/tests/c/main.c
==============================================================================
--- trunk/tests/c/main.c	(original)
+++ trunk/tests/c/main.c	Mon Feb  2 11:46:08 2009
@@ -46,6 +46,7 @@
 	TEST_SIMPLE ("/", basic);
 	TEST_SIMPLE ("/", closures);
 	TEST_SIMPLE ("/types/", basic_types);
+	TEST_SIMPLE ("/js-signal-from-c/", js_signal_from_c);
 
 	return g_test_run ();
 }

Modified: trunk/tests/javascript/gtype-signal-args.js
==============================================================================
--- trunk/tests/javascript/gtype-signal-args.js	(original)
+++ trunk/tests/javascript/gtype-signal-args.js	Mon Feb  2 11:46:08 2009
@@ -25,9 +25,12 @@
 
 w.signal.hello.connect(function(object, number, string)
                        {
+                           var win = new Gtk.Window();
                            Seed.print(number + " " + string);
-                           return new Gtk.Window();
+                           return win;
                        });
 
-Seed.print(w.signal.hello.emit(2, "Test"));
+w.signal.hello.emit(2, "Test");
+
+//Seed.print(w.signal.hello.emit(2, "Test"));
 



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