diff options
author | Bram Moolenaar <Bram@vim.org> | 2009-01-22 20:50:10 +0000 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2009-01-22 20:50:10 +0000 |
commit | 282937bc563e7e8387e28f896bf49b6622384265 (patch) | |
tree | d94630dec1714a5a9b85f2cd0351cd0509e2752b /src | |
parent | 6bab9fa19aac7cfe6b9fd9fb295651ff1d07d87e (diff) | |
download | vim-git-282937bc563e7e8387e28f896bf49b6622384265.tar.gz |
updated for version 7.2-088v7.2.088
Diffstat (limited to 'src')
-rw-r--r-- | src/os_mswin.c | 23 | ||||
-rw-r--r-- | src/version.c | 2 |
2 files changed, 23 insertions, 2 deletions
diff --git a/src/os_mswin.c b/src/os_mswin.c index 32a068f6b..60c5a81a7 100644 --- a/src/os_mswin.c +++ b/src/os_mswin.c @@ -1224,6 +1224,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. * * NOTE: Must use GlobalLock/Unlock here to ensure Win32s compatibility. @@ -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()) { diff --git a/src/version.c b/src/version.c index c0f593f06..b04c88168 100644 --- a/src/version.c +++ b/src/version.c @@ -677,6 +677,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 88, +/**/ 87, /**/ 86, |