Lines Matching refs:icb
92 XimInstCallback icb, picb, tmp;
113 for( icb = callback_list; icb; icb = icb->next ) {
114 if( !icb->call && !icb->destroy ) {
115 xim = (*icb->lcd->methods->open_im)( icb->lcd, display,
116 icb->rdb,
117 icb->res_name,
118 icb->res_class );
122 icb->call = True;
123 icb->callback( icb->display, icb->client_data, NULL );
132 for( icb = callback_list, picb = NULL; icb; ) {
133 if( icb->destroy ) {
135 picb->next = icb->next;
137 callback_list = icb->next;
138 tmp = icb;
139 icb = icb->next;
143 picb = icb;
144 icb = icb->next;
163 XimInstCallback icb, tmp;
172 icb = Xmalloc(sizeof(XimInstCallbackRec));
173 if( !icb )
178 Xfree(icb);
182 icb->call = icb->destroy = False;
183 icb->display = display;
184 icb->lcd = lcd;
185 MakeLocale( lcd, icb->name );
186 icb->modifiers = modifiers;
187 icb->rdb = rdb;
188 icb->res_name = res_name;
189 icb->res_class = res_class;
190 icb->callback = callback;
191 icb->client_data = client_data;
192 icb->next = NULL;
195 callback_list = icb;
198 tmp->next = icb;
203 if( icb == callback_list ) {
219 icb->call = True;
238 XimInstCallback icb, picb;
245 for( icb = callback_list, picb = NULL; icb; picb = icb, icb = icb->next ) {
246 if( !strcmp( locale, icb->name ) &&
247 (lcd->core->modifiers == icb->modifiers || /* XXXXX */
248 (lcd->core->modifiers && icb->modifiers &&
249 !strcmp( lcd->core->modifiers, icb->modifiers ))) &&
250 rdb == icb->rdb && /* XXXXX */
251 ((res_name == NULL && icb->res_name == NULL) ||
252 (res_name != NULL && icb->res_name != NULL &&
253 !strcmp( res_name, icb->res_name ))) &&
254 ((res_class == NULL && icb->res_class == NULL) ||
255 (res_class != NULL && icb->res_class != NULL &&
256 !strcmp( res_class, icb->res_class ))) &&
257 (callback == icb->callback) &&
258 (client_data == icb->client_data) && /* XXXXX */
259 !icb->destroy ) {
261 icb->destroy = True;
264 callback_list = icb->next;
270 picb->next = icb->next;
271 _XCloseLC( icb->lcd );
272 XFree( icb->modifiers );
273 XFree( icb );
286 XimInstCallback icb;
294 for( icb = callback_list; icb; icb = icb->next )
295 if( !strcmp( locale, icb->name ) &&
296 (lcd->core->modifiers == icb->modifiers ||
297 (lcd->core->modifiers && icb->modifiers &&
298 !strcmp( lcd->core->modifiers, icb->modifiers ))) )
299 icb->call = False;