diff options
author | Bram Moolenaar <Bram@vim.org> | 2009-01-28 13:18:26 +0000 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2009-01-28 13:18:26 +0000 |
commit | 370feaf87f8f92627f97bb024d95832ce885a085 (patch) | |
tree | 9ee2953e6c0f6c88bf43f263175f0719a9a52ade | |
parent | 282937bc563e7e8387e28f896bf49b6622384265 (diff) | |
download | vim-git-370feaf87f8f92627f97bb024d95832ce885a085.tar.gz |
updated for version 7.2-089v7.2.089
-rw-r--r-- | src/gui_w48.c | 13 | ||||
-rw-r--r-- | src/if_ole.cpp | 8 | ||||
-rw-r--r-- | src/version.c | 2 |
3 files changed, 19 insertions, 4 deletions
diff --git a/src/gui_w48.c b/src/gui_w48.c index 4de0c7639..76ed6b79d 100644 --- a/src/gui_w48.c +++ b/src/gui_w48.c @@ -1663,8 +1663,17 @@ process_message(void) if (msg.message == WM_OLE) { char_u *str = (char_u *)msg.lParam; - add_to_input_buf(str, (int)STRLEN(str)); - vim_free(str); + if (str == NULL || *str == NUL) + { + /* Message can't be ours, forward it. Fixes problem with Ultramon + * 3.0.4 */ + DispatchMessage(&msg); + } + else + { + add_to_input_buf(str, (int)STRLEN(str)); + vim_free(str); /* was allocated in CVim::SendKeys() */ + } return; } #endif diff --git a/src/if_ole.cpp b/src/if_ole.cpp index b2057f973..fc3077dfe 100644 --- a/src/if_ole.cpp +++ b/src/if_ole.cpp @@ -353,9 +353,13 @@ CVim::SendKeys(BSTR keys) } /* Pass the string to the main input loop. The memory will be freed when - * the message is processed. + * the message is processed. Except for an empty message, we don't need + * to post it then. */ - PostMessage(NULL, WM_OLE, 0, (LPARAM)str); + if (*str == NUL) + vim_free(str); + else + PostMessage(NULL, WM_OLE, 0, (LPARAM)str); return S_OK; } diff --git a/src/version.c b/src/version.c index b04c88168..ff771c97c 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 */ /**/ + 89, +/**/ 88, /**/ 87, |