fixes digit labels gen.
authorPeng Wu <alexepico@gmail.com>
Tue, 22 Jun 2010 07:16:15 +0000 (15:16 +0800)
committerPeng Wu <alexepico@gmail.com>
Tue, 22 Jun 2010 09:44:42 +0000 (17:44 +0800)
fixes label key '0' to '9'.

lua/lua-plugin-init.c
src/ExtEditor.cc

index 46e82f8..66aab44 100644 (file)
@@ -181,6 +181,7 @@ static int ime_register_command(lua_State * L){
   lua_command_t new_command;
   size_t l;
 
+  memset(&new_command, 0, sizeof(new_command));
   new_command.command_name = luaL_checklstring(L, 1, &l);
   if ( 2 != l ){
     return luaL_error(L, "ime_register_command is called with command_name: %s, whose length is not 2.\n", new_command.command_name);
index 28f0566..c015bc9 100644 (file)
@@ -224,10 +224,10 @@ ExtEditor::processLabelKey (guint keyval)
     switch (m_mode) {
     case LABEL_LIST_DIGIT:
         switch (keyval) {
-        case 1 ... 9:
+        case '1' ... '9':
             return selectCandidateInPage (keyval - '1');
             break;
-        case 0:
+        case '0':
             return selectCandidateInPage (9);
             break;
         }
@@ -528,7 +528,7 @@ ExtEditor::updateStateFromInput (void)
                 m_mode = LABEL_NONE;
                 clearLookupTable ();
                 m_lookup_table.clear ();
-                return false;
+                return FALSE;
             }
 
             if ( command->help ){
@@ -623,7 +623,7 @@ ExtEditor::fillCommand (std::string command_name, const char * argument)
     //Generate labels according to m_mode
     if ( LABEL_LIST_DIGIT == m_mode ) {
         for ( int i = 1; i <= 10; ++i )
-            m_lookup_table.setLabel ( i - 1, Text (i - 1 + '0') );
+            m_lookup_table.setLabel ( i - 1, Text (i - 1 + '1') );
     }
 
     if ( LABEL_LIST_ALPHA == m_mode) {