Revision: 2780
http://tmux.svn.sourceforge.net/tmux/?rev=2780&view=rev
Author: tcunha
Date: 2012-04-24 16:21:43 +0000 (Tue, 24 Apr 2012)
Log Message:
-----------
Sync OpenBSD patchset 1098:
Use a helper function to fire choose callback.
Modified Paths:
--------------
trunk/window-choose.c
Modified: trunk/window-choose.c
===================================================================
--- trunk/window-choose.c 2012-04-24 16:20:18 UTC (rev 2779)
+++ trunk/window-choose.c 2012-04-24 16:21:43 UTC (rev 2780)
@@ -29,6 +29,7 @@
void window_choose_mouse(
struct window_pane *, struct session *, struct mouse_event *);
+void window_choose_fire_callback(struct window_pane *, int);
void window_choose_redraw_screen(struct window_pane *);
void window_choose_write_line(
struct window_pane *, struct screen_write_ctx *, u_int);
@@ -169,6 +170,20 @@
window_choose_redraw_screen(wp);
}
+void
+window_choose_fire_callback(struct window_pane *wp, int idx)
+{
+ struct window_choose_mode_data *data = wp->modedata;
+ const struct window_mode *oldmode;
+
+ oldmode = wp->mode;
+ wp->mode = NULL;
+
+ data->callbackfn(data->data, idx);
+
+ wp->mode = oldmode;
+}
+
/* ARGSUSED */
void
window_choose_key(struct window_pane *wp, unused struct session *sess, int key)
@@ -184,12 +199,12 @@
switch (mode_key_lookup(&data->mdata, key)) {
case MODEKEYCHOICE_CANCEL:
- data->callbackfn(data->data, -1);
+ window_choose_fire_callback(wp, -1);
window_pane_reset_mode(wp);
break;
case MODEKEYCHOICE_CHOOSE:
item = &ARRAY_ITEM(&data->list, data->selected);
- data->callbackfn(data->data, item->idx);
+ window_choose_fire_callback(wp, item->idx);
window_pane_reset_mode(wp);
break;
case MODEKEYCHOICE_UP:
@@ -295,7 +310,7 @@
data->selected = idx;
item = &ARRAY_ITEM(&data->list, data->selected);
- data->callbackfn(data->data, item->idx);
+ window_choose_fire_callback(wp, item->idx);
window_pane_reset_mode(wp);
break;
}
@@ -324,7 +339,7 @@
data->selected = idx;
item = &ARRAY_ITEM(&data->list, data->selected);
- data->callbackfn(data->data, item->idx);
+ window_choose_fire_callback(wp, item->idx);
window_pane_reset_mode(wp);
}
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and
threat landscape has changed and how IT managers can respond. Discussions
will include endpoint security, mobile security and the latest in malware
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
tmux-cvs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/tmux-cvs