Louis-Philippe Gagnon (of Macadamian Technologies for Corel)
Added event handler for WM_MBUTTONDOWN (sends WM_PASTE message).

diff --git a/controls/edit.c b/controls/edit.c
index 8f15e41..40482b9 100644
--- a/controls/edit.c
+++ b/controls/edit.c
@@ -238,6 +238,7 @@
 static LRESULT	EDIT_WM_LButtonDblClk(WND *wnd, EDITSTATE *es, DWORD keys, INT x, INT y);
 static LRESULT	EDIT_WM_LButtonDown(WND *wnd, EDITSTATE *es, DWORD keys, INT x, INT y);
 static LRESULT	EDIT_WM_LButtonUp(WND *wnd, EDITSTATE *es, DWORD keys, INT x, INT y);
+static LRESULT	EDIT_WM_MButtonDown(WND *wnd);
 static LRESULT	EDIT_WM_MouseMove(WND *wnd, EDITSTATE *es, DWORD keys, INT x, INT y);
 static LRESULT	EDIT_WM_NCCreate(WND *wnd, LPCREATESTRUCTA cs);
 static void	EDIT_WM_Paint(WND *wnd, EDITSTATE *es, WPARAM wParam);
@@ -805,6 +806,11 @@
 		result = EDIT_WM_LButtonUp(wnd, es, (DWORD)wParam, SLOWORD(lParam), SHIWORD(lParam));
 		break;
 
+	case WM_MBUTTONDOWN:                        
+  		DPRINTF_EDIT_MSG32("WM_MBUTTONDOWN");    
+  		result = EDIT_WM_MButtonDown(wnd);
+		break;
+
 	case WM_MOUSEACTIVATE:
 		/*
 		 *	FIXME: maybe DefWindowProc() screws up, but it seems that
@@ -3595,6 +3601,18 @@
 
 /*********************************************************************
  *
+ *	WM_MBUTTONDOWN
+ *
+ */
+static LRESULT EDIT_WM_MButtonDown(WND *wnd)
+{  
+    SendMessageA(wnd->hwndSelf,WM_PASTE,0,0);  
+    return 0;
+}
+
+
+/*********************************************************************
+ *
  *	WM_MOUSEMOVE
  *
  */