summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2009-01-28 13:18:26 +0000
committerBram Moolenaar <Bram@vim.org>2009-01-28 13:18:26 +0000
commit370feaf87f8f92627f97bb024d95832ce885a085 (patch)
tree9ee2953e6c0f6c88bf43f263175f0719a9a52ade
parent282937bc563e7e8387e28f896bf49b6622384265 (diff)
updated for version 7.2-089v7.2.089
-rw-r--r--src/gui_w48.c13
-rw-r--r--src/if_ole.cpp8
-rw-r--r--src/version.c2
3 files changed, 19 insertions, 4 deletions
diff --git a/src/gui_w48.c b/src/gui_w48.c
index 4de0c76392..76ed6b79db 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 b2057f973c..fc3077dfe0 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 b04c881689..ff771c97c7 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,