]> granicus.if.org Git - vim/commitdiff
updated for version 7.2-089 v7.2.089
authorBram Moolenaar <Bram@vim.org>
Wed, 28 Jan 2009 13:18:26 +0000 (13:18 +0000)
committerBram Moolenaar <Bram@vim.org>
Wed, 28 Jan 2009 13:18:26 +0000 (13:18 +0000)
src/gui_w48.c
src/if_ole.cpp
src/version.c

index 4de0c763921a5bd1e9c2ccb6c7064a5b575bd287..76ed6b79db91a05f1002a9481db9aad0f5857f78 100644 (file)
@@ -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
index b2057f973c80dbebee85815ee1ea7b419a1a3203..fc3077dfe097b8479997a2a7f260920f70c3e74e 100644 (file)
@@ -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;
 }
index b04c88168954a43ab6eb720b96aacbc96191ac01..ff771c97c7f977845f56972146247829b3172fab 100644 (file)
@@ -676,6 +676,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    89,
 /**/
     88,
 /**/