Mercurial > ~mikael > mcabber > hg
comparison mcabber/src/screen.c @ 1076:b9698c89f46d
Fix memory leak in scr_handle_tab()
author | Mikael Berthe <mikael@lilotux.net> |
---|---|
date | Sun, 03 Dec 2006 21:15:37 +0100 |
parents | 03bc225ad763 |
children | c51ca5225516 |
comparison
equal
deleted
inserted
replaced
1075:03bc225ad763 | 1076:b9698c89f46d |
---|---|
2308 else | 2308 else |
2309 compl_categ = 0; | 2309 compl_categ = 0; |
2310 } | 2310 } |
2311 | 2311 |
2312 if (!completion_started) { | 2312 if (!completion_started) { |
2313 GSList *list = compl_get_category_list(compl_categ); | 2313 guint dynlist; |
2314 GSList *list = compl_get_category_list(compl_categ, &dynlist); | |
2314 if (list) { | 2315 if (list) { |
2315 char *prefix = g_strndup(row, ptr_inputline-row); | 2316 char *prefix = g_strndup(row, ptr_inputline-row); |
2316 // Init completion | 2317 // Init completion |
2317 new_completion(prefix, list); | 2318 new_completion(prefix, list); |
2318 g_free(prefix); | 2319 g_free(prefix); |
2320 // Free the list if it's a dynamic one | |
2321 if (dynlist) { | |
2322 GSList *slp; | |
2323 for (slp = list; slp; slp = g_slist_next(slp)) | |
2324 g_free(slp->data); | |
2325 g_slist_free(list); | |
2326 | |
2327 } | |
2319 // Now complete | 2328 // Now complete |
2320 cchar = complete(); | 2329 cchar = complete(); |
2321 if (cchar) | 2330 if (cchar) |
2322 scr_insert_text(cchar); | 2331 scr_insert_text(cchar); |
2323 completion_started = TRUE; | 2332 completion_started = TRUE; |