0
0
mirror of https://github.com/vim/vim.git synced 2025-07-26 11:04:33 -04:00

updated for version 7.2-088

This commit is contained in:
Bram Moolenaar 2009-01-22 20:50:10 +00:00
parent 6bab9fa19a
commit 282937bc56
2 changed files with 23 additions and 2 deletions

View File

@ -1223,6 +1223,25 @@ utf16_to_enc(short_u *str, int *lenp)
}
#endif /* FEAT_MBYTE */
/*
* Wait for another process to Close the Clipboard.
* Returns TRUE for success.
*/
int
vim_open_clipboard()
{
int delay = 10;
while (!OpenClipboard(NULL))
{
if (delay > 500)
return FALSE; /* waited too long, give up */
Sleep(delay);
delay *= 2; /* wait for 10, 20, 40, 80, etc. msec */
}
return TRUE;
}
/*
* Get the current selection and put it in the clipboard register.
*
@ -1254,7 +1273,7 @@ clip_mch_request_selection(VimClipboard *cbd)
* Don't pass GetActiveWindow() as an argument to OpenClipboard() because
* then we can't paste back into the same window for some reason - webb.
*/
if (!OpenClipboard(NULL))
if (!vim_open_clipboard())
return;
/* Check for vim's own clipboard format first. This only gets the type of
@ -1562,7 +1581,7 @@ clip_mch_set_selection(VimClipboard *cbd)
* because then we can't paste back into the same window for some
* reason - webb.
*/
if (OpenClipboard(NULL))
if (vim_open_clipboard())
{
if (EmptyClipboard())
{

View File

@ -676,6 +676,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
88,
/**/
87,
/**/