Do not call readDefaultValues in constructor function.
authorPeng Huang <shawn.p.huang@gmail.com>
Sat, 29 May 2010 03:18:39 +0000 (11:18 +0800)
committerPeng Huang <shawn.p.huang@gmail.com>
Sat, 29 May 2010 03:18:39 +0000 (11:18 +0800)
src/Config.cc

index 476b803..13bf962 100644 (file)
@@ -70,7 +70,6 @@ Config::Config (Bus & bus, const std::string & name)
     m_init_simp_chinese = TRUE;
     m_special_phrases = TRUE;
 
-    readDefaultValues ();
     g_signal_connect (get<IBusConfig> (),
                       "value-changed",
                       G_CALLBACK (valueChangedCallback),
@@ -282,8 +281,9 @@ PinyinConfig::PinyinConfig (Bus & bus, const std::string & name)
 void
 PinyinConfig::init (Bus & bus)
 {
-    if (PinyinConfig::m_instance == NULL) {
-        PinyinConfig::m_instance.reset (new PinyinConfig (bus));
+    if (m_instance == NULL) {
+        m_instance.reset (new PinyinConfig (bus));
+        m_instance->readDefaultValues ();
     }
 }
 
@@ -404,8 +404,9 @@ BopomofoConfig::BopomofoConfig (Bus & bus)
 void
 BopomofoConfig::init (Bus & bus)
 {
-    if (BopomofoConfig::m_instance == NULL) {
-        BopomofoConfig::m_instance.reset (new BopomofoConfig (bus));
+    if (m_instance == NULL) {
+        m_instance.reset (new BopomofoConfig (bus));
+        m_instance->readDefaultValues ();
     }
 }