[Tomoe-cvs 1418] CVS update: tomoe/lib

Back to archive index

Kouhei Sutou kous****@users*****
2006年 11月 30日 (木) 11:53:15 JST


Index: tomoe/lib/tomoe-char.c
diff -u tomoe/lib/tomoe-char.c:1.57 tomoe/lib/tomoe-char.c:1.58
--- tomoe/lib/tomoe-char.c:1.57	Thu Nov 30 11:22:31 2006
+++ tomoe/lib/tomoe-char.c	Thu Nov 30 11:53:15 2006
@@ -18,7 +18,7 @@
  *  Free Software Foundation, Inc., 59 Temple Place, Suite 330,
  *  Boston, MA  02111-1307  USA
  *
- *  $Id: tomoe-char.c,v 1.57 2006/11/30 02:22:31 kous Exp $
+ *  $Id: tomoe-char.c,v 1.58 2006/11/30 02:53:15 kous Exp $
  */
 
 #include <stdlib.h>
@@ -41,7 +41,7 @@
     GList                *readings;
     GList                *radicals;
     TomoeWriting         *writing;
-    TomoeChar            *variant;
+    gchar                *variant;
     GHashTable           *meta_data;
 };
 
@@ -99,10 +99,10 @@
                                 G_PARAM_READABLE | G_PARAM_WRITABLE);
     g_object_class_install_property (gobject_class, PROP_WRITING, spec);
 
-    spec = g_param_spec_object ("variant",
+    spec = g_param_spec_string ("variant",
                                 N_("Variant"),
                                 N_("Variant of the character."),
-                                TOMOE_TYPE_CHAR,
+                                NULL,
                                 G_PARAM_READABLE | G_PARAM_WRITABLE);
     g_object_class_install_property (gobject_class, PROP_VARIANT, spec);
 
@@ -147,13 +147,13 @@
         g_list_free (priv->readings);
     }
     if (priv->radicals) {
-        g_list_foreach (priv->radicals, (GFunc)g_object_unref, NULL);
+        g_list_foreach (priv->radicals, (GFunc)g_free, NULL);
         g_list_free (priv->radicals);
     }
     if (priv->writing)
         g_object_unref (G_OBJECT (priv->writing));
     if (priv->variant)
-        g_object_unref (G_OBJECT (priv->variant));
+        g_free (priv->variant);
     if (priv->meta_data)
         g_hash_table_destroy (priv->meta_data);
 
@@ -188,7 +188,7 @@
         tomoe_char_set_writing (chr, g_value_get_object (value));
         break;
       case PROP_VARIANT:
-        tomoe_char_set_variant (chr, g_value_get_object (value));
+        tomoe_char_set_variant (chr, g_value_get_string (value));
         break;
       default:
         G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec);
@@ -219,7 +219,7 @@
         g_value_set_object (value, priv->writing);
         break;
       case PROP_VARIANT:
-        g_value_set_object (value, priv->variant);
+        g_value_set_string (value, priv->variant);
         break;
       default:
         G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec);
@@ -307,15 +307,16 @@
 }
 
 void
-tomoe_char_add_radical (TomoeChar* chr, TomoeChar *radical)
+tomoe_char_add_radical (TomoeChar* chr, const gchar *radical)
 {
     TomoeCharPrivate *priv;
 
     g_return_if_fail (TOMOE_IS_CHAR (chr));
+    g_return_if_fail (radical && radical[0] != '\0');
 
     priv = TOMOE_CHAR_GET_PRIVATE (chr);
 
-    priv->radicals = g_list_prepend (priv->radicals, g_object_ref (radical));
+    priv->radicals = g_list_prepend (priv->radicals, g_strdup (radical));
 }
 
 TomoeWriting *
@@ -344,7 +345,7 @@
     priv->writing = g_object_ref (writing);
 }
 
-TomoeChar *
+const gchar *
 tomoe_char_get_variant (TomoeChar *chr)
 {
     TomoeCharPrivate *priv;
@@ -357,7 +358,7 @@
 }
 
 void
-tomoe_char_set_variant (TomoeChar *chr, TomoeChar *variant)
+tomoe_char_set_variant (TomoeChar *chr, const gchar *variant)
 {
     TomoeCharPrivate *priv;
 
@@ -366,8 +367,8 @@
     priv = TOMOE_CHAR_GET_PRIVATE (chr);
 
     if (priv->variant)
-        g_object_unref (G_OBJECT (priv->variant));
-    priv->variant = g_object_ref (variant);
+        g_free (priv->variant);
+    priv->variant = variant ? g_strdup (variant) : NULL;
 }
 
 void
Index: tomoe/lib/tomoe-char.h
diff -u tomoe/lib/tomoe-char.h:1.51 tomoe/lib/tomoe-char.h:1.52
--- tomoe/lib/tomoe-char.h:1.51	Thu Nov 30 11:22:31 2006
+++ tomoe/lib/tomoe-char.h	Thu Nov 30 11:53:15 2006
@@ -18,7 +18,7 @@
  *  Free Software Foundation, Inc., 59 Temple Place, Suite 330,
  *  Boston, MA  02111-1307  USA
  *
- *  $Id: tomoe-char.h,v 1.51 2006/11/30 02:22:31 kous Exp $
+ *  $Id: tomoe-char.h,v 1.52 2006/11/30 02:53:15 kous Exp $
  */
 
 /** @file tomoe-char.h
@@ -76,13 +76,13 @@
                                                  TomoeReading  *reading);
 const GList    *tomoe_char_get_radicals         (TomoeChar     *chr);
 void            tomoe_char_add_radical          (TomoeChar     *chr,
-                                                 TomoeChar     *radical);
+                                                 const gchar   *radical);
 TomoeWriting   *tomoe_char_get_writing          (TomoeChar     *chr);
 void            tomoe_char_set_writing          (TomoeChar     *chr,
                                                  TomoeWriting  *writing);
-TomoeChar      *tomoe_char_get_variant          (TomoeChar     *chr);
+const gchar    *tomoe_char_get_variant          (TomoeChar     *chr);
 void            tomoe_char_set_variant          (TomoeChar     *chr,
-                                                 TomoeChar     *variant);
+                                                 const gchar   *variant);
 const gchar    *tomoe_char_get_meta_data        (TomoeChar     *chr,
                                                  const gchar   *key);
 void            tomoe_char_register_meta_data   (TomoeChar     *chr,


tomoe-cvs メーリングリストの案内
Back to archive index