[Kazehakase-cvs] kazehakase-svn [2962] * src/kz-module.[ch]: moved to workaround for kz-gecko-embed.cpp

Back to archive index

svnno****@sourc***** svnno****@sourc*****
Thu Mar 22 20:45:39 JST 2007


Revision: 2962
          http://svn.sourceforge.jp/cgi-bin/viewcvs.cgi?root=kazehakase&view=rev&rev=2962
Author:   kous
Date:     2007-03-22 20:45:39 +0900 (Thu, 22 Mar 2007)

Log Message:
-----------
* src/kz-module.[ch]: moved to workaround for kz-gecko-embed.cpp
  to ...
* src/kz-embed.c: ... here.

Modified Paths:
--------------
    kazehakase/trunk/ChangeLog
    kazehakase/trunk/src/kz-embed.c
    kazehakase/trunk/src/kz-module.c
    kazehakase/trunk/src/kz-module.h

Modified: kazehakase/trunk/ChangeLog
===================================================================
--- kazehakase/trunk/ChangeLog	2007-03-22 09:17:50 UTC (rev 2961)
+++ kazehakase/trunk/ChangeLog	2007-03-22 11:45:39 UTC (rev 2962)
@@ -1,5 +1,9 @@
 2007-03-22  Kouhei Sutou  <kou****@cozmi*****>
 
+	* src/kz-module.[ch]: moved to workaround for kz-gecko-embed.cpp
+	to ...
+	* src/kz-embed.c: ... here.
+
 	* src/Makefile.am, src/kz-ext-impl.h: removed kz-ext-impl.h.
 
 	* src/kz-ext.[ch], ext/ruby/kz-rb-ext.c, ext/ruby/Makefile.am:

Modified: kazehakase/trunk/src/kz-embed.c
===================================================================
--- kazehakase/trunk/src/kz-embed.c	2007-03-22 09:17:50 UTC (rev 2961)
+++ kazehakase/trunk/src/kz-embed.c	2007-03-22 11:45:39 UTC (rev 2962)
@@ -55,18 +55,20 @@
 void
 kz_embed_exit (void)
 {
+#warning FIXME: workaround for kz-gecko-embed.cpp.
+	g_list_foreach(embeds, (GFunc)g_type_module_unuse, NULL);
 	g_list_foreach(embeds, (GFunc)kz_module_exit, NULL);
 }
 
 static GtkWidget *
-_kz_embed_new (const gchar *name, const gchar *first_property, ...)
+_kz_embed_new (KzModule *module, const gchar *name,
+	       const gchar *first_property, ...)
 {
 	GObject *embed;
 	va_list var_args;
 
 	va_start(var_args, first_property);
-	embed = kz_module_find_and_instantiate(embeds, name,
-					       first_property, var_args);
+	embed = kz_module_instantiate(module, first_property, var_args);
 	va_end(var_args);
 
 	return GTK_WIDGET(embed);
@@ -75,10 +77,20 @@
 GtkWidget *
 kz_embed_new (const gchar *name)
 {
-	if (!kz_module_load_module(&embeds, _kz_embed_module_dir(), name))
-		return NULL;
+	KzModule *module;
 
-	return _kz_embed_new(name, NULL);
+	module = kz_module_find(embeds, name);
+	if (!module)
+	{
+		module = kz_module_load_module(_kz_embed_module_dir(), name);
+		if (!module)
+			return NULL;
+#warning FIXME: workaround for kz-gecko-embed.cpp.
+		g_type_module_use(G_TYPE_MODULE(module));
+		embeds = g_list_prepend(embeds, module);
+	}
+
+	return _kz_embed_new(module, name, NULL);
 }
 
 

Modified: kazehakase/trunk/src/kz-module.c
===================================================================
--- kazehakase/trunk/src/kz-module.c	2007-03-22 09:17:50 UTC (rev 2961)
+++ kazehakase/trunk/src/kz-module.c	2007-03-22 11:45:39 UTC (rev 2962)
@@ -171,8 +171,8 @@
 	g_free(message);
 }
 
-static KzModule *
-_kz_module_find (GList *modules, const gchar *name)
+KzModule *
+kz_module_find (GList *modules, const gchar *name)
 {
 	GList *node;
 
@@ -189,20 +189,6 @@
 }
 
 GObject *
-kz_module_find_and_instantiate (GList *modules, const gchar *name,
-				const gchar *first_property, va_list var_args)
-{
-	GObject *object = NULL;
-	KzModule *module;
-
-	module = _kz_module_find(modules, name);
-	if (module)
-		object = kz_module_instantiate(module, first_property, var_args);
-
-	return object;
-}
-
-GObject *
 kz_module_instantiate (KzModule *module,
 		       const gchar *first_property, va_list var_args)
 {
@@ -260,8 +246,8 @@
 	}
 }
 
-static KzModule *
-_kz_module_load (const gchar *base_dir, const gchar *name)
+KzModule *
+kz_module_load_module (const gchar *base_dir, const gchar *name)
 {
 	gchar *mod_base_name, *mod_path;
 	KzModule *module = NULL;
@@ -286,25 +272,6 @@
 	return module;
 }
 
-gboolean
-kz_module_load_module (GList **modules, const gchar *base_dir, const gchar *name)
-{
-	KzModule *module;
-
-	if (_kz_module_find(*modules, name))
-		return TRUE;
-
-	module = _kz_module_load(base_dir, name);
-	if (module)
-	{
-#warning FIXME: remove this
-		g_type_module_use(G_TYPE_MODULE(module));
-		*modules = g_list_prepend(*modules, module);
-	}
-
-	return module != NULL;
-}
-
 GList *
 kz_module_load_modules (const gchar *base_dir)
 {
@@ -317,7 +284,7 @@
 
 		while ((entry = g_dir_read_name(dir))) {
 			KzModule *module;
-			module = _kz_module_load(base_dir, entry);
+			module = kz_module_load_module(base_dir, entry);
 			if (module)
 				modules = g_list_prepend(modules, module);
 		}
@@ -362,7 +329,6 @@
 		g_type_module_unuse(G_TYPE_MODULE(module));
 	}
 
-#warning FIXME: remove this
 	g_type_module_unuse(G_TYPE_MODULE(module));
 }
 

Modified: kazehakase/trunk/src/kz-module.h
===================================================================
--- kazehakase/trunk/src/kz-module.h	2007-03-22 09:17:50 UTC (rev 2961)
+++ kazehakase/trunk/src/kz-module.h	2007-03-22 11:45:39 UTC (rev 2962)
@@ -48,17 +48,13 @@
 GType     kz_module_get_type		(void) G_GNUC_CONST;
 
 
-gboolean  kz_module_load_module		(GList		**modules,
-					 const gchar	 *base_dir,
+KzModule *kz_module_load_module		(const gchar	 *base_dir,
 					 const gchar	 *name);
 GList    *kz_module_load_modules	(const gchar *base_dir);
 
-GObject  *kz_module_find_and_instantiate(GList       *modules,
-					 const gchar *name,
-					 const gchar *first_property,
-					 va_list      var_args);
+KzModule *kz_module_find		(GList       *modules,
+					 const gchar *name);
 
-
 GObject  *kz_module_instantiate		(KzModule	*module,
 					 const gchar	*first_property,
 					 va_list	 var_args);




More information about the Kazehakase-cvs mailing list
Back to archive index