version 1.33, 2013/03/21 16:08:25 |
version 1.34, 2013/03/21 16:09:17 |
|
|
|
|
void |
void |
window_choose_ready(struct window_pane *wp, u_int cur, |
window_choose_ready(struct window_pane *wp, u_int cur, |
void (*callbackfn)(struct window_choose_data *), |
void (*callbackfn)(struct window_choose_data *)) |
void (*freefn)(struct window_choose_data *)) |
|
{ |
{ |
struct window_choose_mode_data *data = wp->modedata; |
struct window_choose_mode_data *data = wp->modedata; |
struct screen *s = &data->screen; |
struct screen *s = &data->screen; |
|
|
data->callbackfn = callbackfn; |
data->callbackfn = callbackfn; |
if (data->callbackfn == NULL) |
if (data->callbackfn == NULL) |
data->callbackfn = window_choose_default_callback; |
data->callbackfn = window_choose_default_callback; |
data->freefn = freefn; |
|
|
|
ARRAY_CONCAT(&data->old_list, &data->list); |
ARRAY_CONCAT(&data->old_list, &data->list); |
|
|
|
|
|
|
for (i = 0; i < ARRAY_LENGTH(&data->old_list); i++) { |
for (i = 0; i < ARRAY_LENGTH(&data->old_list); i++) { |
item = &ARRAY_ITEM(&data->old_list, i); |
item = &ARRAY_ITEM(&data->old_list, i); |
if (data->freefn != NULL && item->wcd != NULL) |
|
data->freefn(item->wcd); |
|
window_choose_data_free(item->wcd); |
window_choose_data_free(item->wcd); |
free(item->name); |
free(item->name); |
} |
} |