diff -r 5b154df6fcd8 src/GvimExt/Make_ming.mak
--- a/src/GvimExt/Make_ming.mak	Fri Oct 22 22:13:52 2010 +0200
+++ b/src/GvimExt/Make_ming.mak	Wed Nov 03 18:54:00 2010 +0000
@@ -34,7 +34,7 @@
 endif
 CXX := $(CROSS_COMPILE)g++
 WINDRES := $(CROSS_COMPILE)windres --preprocessor="$(CXX) -E -xc" -DRC_INVOKED
-LIBS :=  -luuid
+LIBS :=  -luuid -lgdi32
 RES  := gvimext.res
 DEFFILE = gvimext_ming.def
 OBJ  := gvimext.o
diff -r 5b154df6fcd8 src/GvimExt/gvimext.cpp
--- a/src/GvimExt/gvimext.cpp	Fri Oct 22 22:13:52 2010 +0200
+++ b/src/GvimExt/gvimext.cpp	Wed Nov 03 18:54:00 2010 +0000
@@ -15,6 +15,7 @@
  */
 
 #include "gvimext.h"
+#include "resource.h"
 
 #ifdef __BORLANDC__
 # include <dir.h>
@@ -460,6 +461,13 @@
     m_cRef = 0L;
     m_pDataObj = NULL;
 
+    m_vimicon = (HBITMAP)LoadImage(g_hmodThisDll,
+	    MAKEINTRESOURCE(IDB_VIM),
+	    IMAGE_BITMAP,
+	    GetSystemMetrics(SM_CXMENUCHECK),
+	    GetSystemMetrics(SM_CYMENUCHECK),
+	    LR_DEFAULTCOLOR);
+    
     inc_cRefThisDLL();
 }
 
@@ -467,6 +475,7 @@
 {
     if (m_pDataObj)
 	m_pDataObj->Release();
+    DeleteObject(m_vimicon); // bitmap
 
     dec_cRefThisDLL();
 }
@@ -592,16 +601,28 @@
     if (cbFiles > 1)
     {
 	InsertMenu(hMenu,
-		indexMenu++,
+		indexMenu,
 		MF_STRING|MF_BYPOSITION,
 		idCmd++,
 		_("Edit with &multiple Vims"));
+	SetMenuItemBitmaps(hMenu,
+	       	indexMenu,
+	       	MF_BYPOSITION,
+	       	m_vimicon,
+	       	NULL);
+	indexMenu++;
 
 	InsertMenu(hMenu,
-		indexMenu++,
+		indexMenu,
 		MF_STRING|MF_BYPOSITION,
 		idCmd++,
 		_("Edit with single &Vim"));
+	SetMenuItemBitmaps(hMenu,
+	       	indexMenu,
+	       	MF_BYPOSITION,
+	       	m_vimicon,
+	       	NULL);
+	indexMenu++;
 
 	if (cbFiles <= 4)
 	{
@@ -620,10 +641,17 @@
     else
     {
 	InsertMenu(hMenu,
-		indexMenu++,
+		indexMenu,
 		MF_STRING|MF_BYPOSITION,
 		idCmd++,
 		_("Edit with &Vim"));
+	SetMenuItemBitmaps(hMenu,
+	       	indexMenu,
+	       	MF_BYPOSITION,
+	       	m_vimicon,
+	       	NULL);
+	indexMenu++;
+
 	m_edit_existing_off = 1;
     }
 
diff -r 5b154df6fcd8 src/GvimExt/gvimext.h
--- a/src/GvimExt/gvimext.h	Fri Oct 22 22:13:52 2010 +0200
+++ b/src/GvimExt/gvimext.h	Wed Nov 03 18:54:00 2010 +0000
@@ -114,6 +114,7 @@
     ULONG	 m_cRef;
     LPDATAOBJECT m_pDataObj;
     UINT	 m_edit_existing_off;
+    HBITMAP      m_vimicon;
 
     // For some reason, this callback must be static
     static BOOL CALLBACK EnumWindowsProc(HWND hWnd, LPARAM lParam);
diff -r 5b154df6fcd8 src/GvimExt/gvimext.rc
--- a/src/GvimExt/gvimext.rc	Fri Oct 22 22:13:52 2010 +0200
+++ b/src/GvimExt/gvimext.rc	Wed Nov 03 18:54:00 2010 +0000
@@ -23,6 +23,8 @@
 #pragma code_page(1252)
 #endif //_WIN32
 
+IDB_VIM  BITMAP "vim16x16.bmp"
+
 #ifndef _MAC
 /////////////////////////////////////////////////////////////////////////////
 //
diff -r 5b154df6fcd8 src/GvimExt/gvimext_ming.rc
--- a/src/GvimExt/gvimext_ming.rc	Fri Oct 22 22:13:52 2010 +0200
+++ b/src/GvimExt/gvimext_ming.rc	Wed Nov 03 18:54:00 2010 +0000
@@ -1,4 +1,5 @@
 #include <windows.h>
+#include "resource.h"
 #define xstr(x) str(x)
 #define str(x) #x
 VS_VERSION_INFO VERSIONINFO
@@ -43,3 +44,6 @@
         VALUE "Translation", 0x409, 1200
     }
 }
+
+IDB_VIM  BITMAP "vim16x16.bmp"
+
diff -r 5b154df6fcd8 src/GvimExt/resource.h
--- a/src/GvimExt/resource.h	Fri Oct 22 22:13:52 2010 +0200
+++ b/src/GvimExt/resource.h	Wed Nov 03 18:54:00 2010 +0000
@@ -13,3 +13,4 @@
 #define _APS_NEXT_SYMED_VALUE		101
 #endif
 #endif
+#define IDB_VIM   202
