updated for version 7.2-089
diff --git a/src/if_ole.cpp b/src/if_ole.cpp
index b2057f9..fc3077d 100644
--- a/src/if_ole.cpp
+++ b/src/if_ole.cpp
@@ -353,9 +353,13 @@
     }
 
     /* 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;
 }