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;