(get_candidate_list): Fix the timing of refering plist.
authorhanda <handa>
Sat, 29 Oct 2005 03:16:34 +0000 (03:16 +0000)
committerhanda <handa>
Sat, 29 Oct 2005 03:16:34 +0000 (03:16 +0000)
src/input.c

index 541b5bc..a987339 100644 (file)
@@ -1584,9 +1584,13 @@ get_candidate_list (MInputContextInfo *ic_info, MPlist *args)
   column = MPLIST_INTEGER (plist);
 
   plist = MPLIST_PLIST (args);
-  if (charset
-      && (! (plist = adjust_candidates (plist, charset))))
-    return NULL;
+  if (charset)
+    {
+      if (! (plist = adjust_candidates (plist, charset)))
+       return NULL;
+    }
+  else
+    M17N_OBJECT_REF (plist);
 
   if (column > 0)
     {
@@ -1668,8 +1672,6 @@ get_candidate_list (MInputContextInfo *ic_info, MPlist *args)
        }
     }
 
-  if (plist == MPLIST_PLIST (args))
-    M17N_OBJECT_REF (plist);
   return plist;
 }