From 370feaf87f8f92627f97bb024d95832ce885a085 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Wed, 28 Jan 2009 13:18:26 +0000 Subject: [PATCH] updated for version 7.2-089 --- src/gui_w48.c | 13 +++++++++++-- src/if_ole.cpp | 8 ++++++-- 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 @@ -676,6 +676,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 89, /**/ 88, /**/ -- 2.50.1