ensure that clipboard pastes are handled asynchronously

if more status calls occur before the queue updates, the clipboard
data would be erroneously consumed here, preventing the operation from
succeeding (and ruining the queue)
This commit is contained in:
Mike Blumenkrantz 2016-02-08 11:52:46 -05:00
parent 1daabc4f2b
commit 8db5763d08
1 changed files with 7 additions and 5 deletions

View File

@ -2094,11 +2094,13 @@ empc_status(void *d EINA_UNUSED, int t EINA_UNUSED, Empd_Empdd_Status_Data *ev)
{
long num = ev->queue_length - clipboard_paste_length;
empd_empdd_move_list_call(empd_proxy, clipboard_paste_length, num, clipboard_paste_id);
/* handle paste insertions */
clipboard_paste_length = 0;
clipboard_paste_id = -1;
empd_empdd_status_call(empd_proxy);
if (num)
{
empd_empdd_move_list_call(empd_proxy, clipboard_paste_length, num, clipboard_paste_id);
/* handle paste insertions */
clipboard_paste_length = 0;
clipboard_paste_id = -1;
}
}
/* this should only run on startup...other updates are automatic */