[seed] Load default extension script in all global contexts, even in imports.



commit dbccc6990cc823a4c5cd6e85d15d09c97a2832e4
Author: Tim Horton <hortont svn gnome org>
Date:   Thu May 21 10:38:50 2009 -0400

    Load default extension script in all global contexts, even in imports.
---
 libseed/seed-engine.c |    5 ++---
 libseed/seed-engine.h |    2 ++
 2 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/libseed/seed-engine.c b/libseed/seed-engine.c
index 15ef966..f5add30 100644
--- a/libseed/seed-engine.c
+++ b/libseed/seed-engine.c
@@ -63,6 +63,8 @@ seed_prepare_global_context (JSContextRef ctx)
   seed_object_set_property (ctx, global, "imports", importer);
   seed_object_set_property (ctx, global, "GType", seed_gtype_constructor);
   seed_object_set_property (ctx, global, "Seed", seed_obj_ref);
+
+  JSEvaluateScript (ctx, defaults_script, NULL, NULL, 0, NULL);
 }
 
 static JSObjectRef
@@ -1303,8 +1305,6 @@ seed_parse_args (int *argc, char ***argv)
 SeedEngine *
 seed_init (gint * argc, gchar *** argv)
 {
-  JSStringRef defaults_script;
-
   g_type_init ();
   g_log_set_handler ("GLib-GObject", G_LOG_LEVEL_WARNING, seed_log_handler,
 		     0);
@@ -1373,7 +1373,6 @@ seed_init (gint * argc, gchar *** argv)
 					 "Seed.include(\"/usr/local/share"
 					 "/seed/extensions/Seed.js\");");
   JSEvaluateScript (eng->context, defaults_script, NULL, NULL, 0, NULL);
-  JSStringRelease (defaults_script);
 
   base_info_info =
     g_irepository_find_by_name (0, "GIRepository", "IBaseInfo");
diff --git a/libseed/seed-engine.h b/libseed/seed-engine.h
index 03f1b70..a10672d 100644
--- a/libseed/seed-engine.h
+++ b/libseed/seed-engine.h
@@ -38,6 +38,8 @@ extern JSObjectRef seed_obj_ref;
 
 extern JSContextGroupRef context_group;
 
+JSStringRef defaults_script;
+
 typedef struct _SeedScript
 {
   JSStringRef script;



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