[openi18n-im:01462] Re: key release issue with iiimxcf
Federic Zhang <[email protected]> Mon, 11 Jul 2005 11:16:38 +0800
| Newsgroups | gmane.comp.internationalization.input-methods |
|---|---|
| Message-ID | <[email protected]> |
Kasha, It's really one good idea to use iiimp_inputmethod_descriptor2_new to fix the libiiimp.so compatibility issue. Thanks a lot for this fix! Do you think additional change should be made to client framework to fix the libiiimcf.so compatibility issue? -federic > Date: Fri, 08 Jul 2005 14:06:44 +0800 > From: Federic Zhang <[email protected]>: > > > > Thanks for your commit. Can you post it in patch format? It would be > > easier for me to take a look at it. > > Sure. This mail include diffs for r2747. > > Thanks, > -- > kasha > > ------------------------------------------------------------------------ > r2747 | kasha | 2005-07-07 14:36:39 +0900 (Thu, 07 Jul 2005) | 2 lines > > fix libiiimp.so compatibility issue - imeinfo > > ------------------------------------------------------------------------ > Index: iiimsf/src/ChangeLog > =================================================================== > --- iiimsf/src/ChangeLog (revision 2746) > +++ iiimsf/src/ChangeLog (revision 2747) > @@ -1,3 +1,9 @@ > +2005-07-07 AShiZaWa KaZuNoRi <[email protected]> > + > + * IIIMP_IMState.cpp (create_input_method_descriptors): call > + iiimp_inputmethod_descriptor2_new() instead of > + iiimp_inputmethod_descriptor_new(). > + > 2005-06-30 Federic Zhang <[email protected]> > > Enable Input Method Engine (IME) switching and display IME list in the language submenu of GIMLET. > Index: iiimsf/src/IIIMP_IMState.cpp > =================================================================== > --- iiimsf/src/IIIMP_IMState.cpp (revision 2746) > +++ iiimsf/src/IIIMP_IMState.cpp (revision 2747) > @@ -568,14 +568,14 @@ > } > > pil = create_language_list(it->get_languages()); > - imeinfo = create_imeinfo_list (it->get_imeinfos()); > - pimd2 = iiimp_inputmethod_descriptor_new(pdata_s, > - it->get_attribid(), > - pidname, > - pihrn, > - pil, > - pidomain, > - imeinfo); > + imeinfo = create_imeinfo_list (it->get_imeinfos()); > + pimd2 = iiimp_inputmethod_descriptor2_new(pdata_s, > + it->get_attribid(), > + pidname, > + pihrn, > + pil, > + pidomain, > + imeinfo); > > if (!pimd2) goto memory_error; > > Index: include/ChangeLog > =================================================================== > --- include/ChangeLog (revision 2746) > +++ include/ChangeLog (revision 2747) > @@ -1,3 +1,13 @@ > +2005-07-07 AShiZaWa KaZuNoRi <[email protected]> > + > + * iiimp/iiimp-data.h: IIIMP_imeinfo - editorial change > + IIIMP_inputmethod_descriptor - editorial change > + iiimp_imeinfo_new() - editorial change > + iiimp_inputmethod_descriptor_new() - revert > + iiimp_inputmethod_descriptor2_new() - new > + iiimp_inputmethod_descriptor_create() - revert > + iiimp_inputmethod_descriptor2_create() - new > + > 2005-06-30 Federic Zhang <[email protected]> > > Enable Input Method Engine (IME) switching and display IME list in the language > Index: include/iiimp/iiimp-data.h > =================================================================== > --- include/iiimp/iiimp-data.h (revision 2746) > +++ include/iiimp/iiimp-data.h (revision 2747) > @@ -167,17 +167,19 @@ > > /* struct to hold the information of Input Method Engine */ > typedef struct iiimp_imeinfo { > - size_t nbyte; > - IIIMP_card32 enable; /* identify the status of the ime: enable/disable */ > - IIIMP_string * ime_id; /* unique identification for the ime (in ASCII) */ > - IIIMP_string * imename; /* the name of ime */ > - IIIMP_string * version; > - IIIMP_string * description; /* can hold the hinting information */ > - IIIMP_string * author; > - IIIMP_string * copyright; > - IIIMP_string * reserved1; /* Padding for future expansion */ > - IIIMP_string * reserved2; > - struct iiimp_imeinfo * next; > + size_t nbyte; > + IIIMP_card32 enable; /* identify the status of the ime: > + enable/disable */ > + IIIMP_string * ime_id; /* unique identification for the ime > + (in ASCII) */ > + IIIMP_string * imename; /* the name of ime */ > + IIIMP_string * version; > + IIIMP_string * description; /* can hold the hinting information */ > + IIIMP_string * author; > + IIIMP_string * copyright; > + IIIMP_string * reserved1; /* Padding for future expansion */ > + IIIMP_string * reserved2; > + struct iiimp_imeinfo * next; > } IIIMP_imeinfo; > > typedef struct { > @@ -194,9 +196,10 @@ > IIIMP_string * hrn; /* human readable name */ > size_t language_nbyte; > IIIMP_language * language; /* supported language list */ > - IIIMP_string * rdun; /* reverse domain unique name */ > - size_t imeinfo_nbyte; > - IIIMP_imeinfo * imeinfo; /* (Optional) the information of input method engine */ > + IIIMP_string * rdun; /* reverse domain unique name */ > + size_t imeinfo_nbyte; > + IIIMP_imeinfo * imeinfo; /* (Optional) the information of > + input method engine */ > struct iiimp_inputmethod_descriptor * next; > } IIIMP_inputmethod_descriptor; > > @@ -1639,16 +1642,16 @@ > > extern IIIMP_imeinfo * > iiimp_imeinfo_new( > - IIIMP_data_s * data_s, > - IIIMP_card32 enable, > - IIIMP_string * ime_id, > - IIIMP_string * imename, > - IIIMP_string * version, > - IIIMP_string * description, > - IIIMP_string * author, > - IIIMP_string * copyright, > - IIIMP_string * reserved1, > - IIIMP_string * reserved2); > + IIIMP_data_s * data_s, > + IIIMP_card32 enable, > + IIIMP_string * ime_id, > + IIIMP_string * imename, > + IIIMP_string * version, > + IIIMP_string * description, > + IIIMP_string * author, > + IIIMP_string * copyright, > + IIIMP_string * reserved1, > + IIIMP_string * reserved2); > > extern IIIMP_jarfile_object * > iiimp_jarfile_object_new( > @@ -1664,8 +1667,17 @@ > IIIMP_string * idname, > IIIMP_string * hrn, > IIIMP_language * language, > + IIIMP_string * rdun); > + > +extern IIIMP_inputmethod_descriptor * > +iiimp_inputmethod_descriptor2_new( > + IIIMP_data_s * data_s, > + IIIMP_card16 id, > + IIIMP_string * idname, > + IIIMP_string * hrn, > + IIIMP_language * language, > IIIMP_string * rdun, > - IIIMP_imeinfo * imeinfo); > + IIIMP_imeinfo * imeinfo); > > extern IIIMP_binaryfile_object * > iiimp_binaryfile_object_new( > @@ -2581,6 +2593,16 @@ > IIIMP_string * idname, > IIIMP_string * hrn, > IIIMP_language * language, > + IIIMP_string * rdun); > + > +extern IIIMP_status > +iiimp_inputmethod_descriptor2_create( > + IIIMP_data_s * data_s, > + IIIMP_inputmethod_descriptor ** ptr_ret, > + IIIMP_card16 id, > + IIIMP_string * idname, > + IIIMP_string * hrn, > + IIIMP_language * language, > IIIMP_string * rdun, > IIIMP_imeinfo * imeinfo); > > Index: lib/iiimp/ChangeLog > =================================================================== > --- lib/iiimp/ChangeLog (revision 2746) > +++ lib/iiimp/ChangeLog (revision 2747) > @@ -1,3 +1,13 @@ > +2005-07-07 AShiZaWa KaZuNoRi <[email protected]> > + > + * data/comp-inputmethod-descriptor.c > + (iiimp_inputmethod_descriptor_new): revert to original argument > + (iiimp_inputmethod_descriptor2_new): new to support imeinfo > + * data/comp-misc.c (iiimp_inputmethod_descriptor2_create): > + iiimp_inputmethod_descriptor_create() - revert > + iiimp_inputmethod_descriptor2_create() - new > + * data/iiimp-dataP.h: editorial changes > + > 2005-06-21 Federic Zhang <[email protected]> > > Export the information of input method engine to client. > Index: lib/iiimp/data/iiimp-dataP.h > =================================================================== > --- lib/iiimp/data/iiimp-dataP.h (revision 2746) > +++ lib/iiimp/data/iiimp-dataP.h (revision 2747) > @@ -418,8 +418,8 @@ > IIIMP_ccdef * iiimp_ccdef_unpack(IIIMP_dal); > IIIMP_language * iiimp_language_unpack(IIIMP_dal); > IIIMP_language * iiimp_language_list_unpack(IIIMP_dal); > -IIIMP_imeinfo * iiimp_imeinfo_unpack(IIIMP_dal); > -IIIMP_imeinfo * iiimp_imeinfo_list_unpack(IIIMP_dal); > +IIIMP_imeinfo * iiimp_imeinfo_unpack(IIIMP_dal); > +IIIMP_imeinfo * iiimp_imeinfo_list_unpack(IIIMP_dal); > IIIMP_jarfile_object * iiimp_jarfile_object_unpack(IIIMP_dal); > IIIMP_inputmethod_descriptor * iiimp_inputmethod_descriptor_unpack(IIIMP_dal); > IIIMP_inputmethod_descriptor * iiimp_inputmethod_descriptor_list_unpack(IIIMP_dal); > @@ -616,15 +616,15 @@ > > extern void iiimp_imeinfo_pack( > IIIMP_data_s * data_s, > - IIIMP_imeinfo * m, > - size_t * nbyte, > - uchar_t ** ptr); > + IIIMP_imeinfo * m, > + size_t * nbyte, > + uchar_t ** ptr); > > extern void iiimp_imeinfo_list_pack( > IIIMP_data_s * data_s, > - IIIMP_imeinfo * m, > - size_t * nbyte, > - uchar_t ** ptr); > + IIIMP_imeinfo * m, > + size_t * nbyte, > + uchar_t ** ptr); > > extern void iiimp_jarfile_object_pack( > IIIMP_data_s * data_s, > Index: lib/iiimp/data/comp-misc.c > =================================================================== > --- lib/iiimp/data/comp-misc.c (revision 2746) > +++ lib/iiimp/data/comp-misc.c (revision 2747) > @@ -590,11 +590,27 @@ > IIIMP_string * idname, > IIIMP_string * hrn, > IIIMP_language * language, > + IIIMP_string * rdun) > +{ > + *ptr_ret = iiimp_inputmethod_descriptor_new(data_s, id, idname, hrn, > + language, rdun); > + return ((NULL == *ptr_ret) ? data_s->status : IIIMP_DATA_NO_ERROR); > +} > + > + > +IIIMP_status > +iiimp_inputmethod_descriptor2_create( > + IIIMP_data_s * data_s, > + IIIMP_inputmethod_descriptor ** ptr_ret, > + IIIMP_card16 id, > + IIIMP_string * idname, > + IIIMP_string * hrn, > + IIIMP_language * language, > IIIMP_string * rdun, > IIIMP_imeinfo * imeinfo) > { > - *ptr_ret = iiimp_inputmethod_descriptor_new(data_s, id, idname, hrn, > - language, rdun, imeinfo); > + *ptr_ret = iiimp_inputmethod_descriptor2_new(data_s, id, idname, hrn, > + language, rdun, imeinfo); > return ((NULL == *ptr_ret) ? data_s->status : IIIMP_DATA_NO_ERROR); > } > > Index: lib/iiimp/data/comp-inputmethod-descriptor.c > =================================================================== > --- lib/iiimp/data/comp-inputmethod-descriptor.c (revision 2746) > +++ lib/iiimp/data/comp-inputmethod-descriptor.c (revision 2747) > @@ -15,6 +15,20 @@ > IIIMP_string * idname, > IIIMP_string * hrn, > IIIMP_language * language, > + IIIMP_string * rdun) > +{ > + return iiimp_inputmethod_descriptor2_new(data_s, id, idname, hrn, > + language, rdun, NULL); > +} > + > + > +IIIMP_inputmethod_descriptor * > +iiimp_inputmethod_descriptor2_new( > + IIIMP_data_s * data_s, > + IIIMP_card16 id, > + IIIMP_string * idname, > + IIIMP_string * hrn, > + IIIMP_language * language, > IIIMP_string * rdun, > IIIMP_imeinfo * imeinfo) > {