Removed DummyMotionNotify EVENT driver routine.

diff --git a/include/message.h b/include/message.h
index 0a7c0d6..ec35275 100644
--- a/include/message.h
+++ b/include/message.h
@@ -30,7 +30,6 @@
   void   (*pSynchronize)(BOOL);
   BOOL   (*pCheckFocus)(void);
   BOOL   (*pQueryPointer)(DWORD *, DWORD *, DWORD *);
-  void   (*pDummyMotionNotify)(void);
   void   (*pUserRepaintDisable)(BOOL);
 } EVENT_DRIVER;
 
@@ -40,7 +39,6 @@
 extern void EVENT_Synchronize( BOOL bProcessEvents );
 extern BOOL EVENT_CheckFocus( void );
 extern BOOL EVENT_QueryPointer(DWORD *posX, DWORD *posY, DWORD *state);
-extern void EVENT_DummyMotionNotify(void);
 
 /* input.c */
 
diff --git a/include/ttydrv.h b/include/ttydrv.h
index 8f5a6f6..f19928d 100644
--- a/include/ttydrv.h
+++ b/include/ttydrv.h
@@ -94,7 +94,6 @@
 extern void TTYDRV_EVENT_Synchronize(BOOL bProcessEvents);
 extern BOOL TTYDRV_EVENT_CheckFocus(void);
 extern BOOL TTYDRV_EVENT_QueryPointer(DWORD *posX, DWORD *posY, DWORD *state);
-extern void TTYDRV_EVENT_DummyMotionNotify(void);
 extern void TTYDRV_EVENT_UserRepaintDisable(BOOL bDisable);
 
 /* TTY keyboard driver */
diff --git a/include/x11drv.h b/include/x11drv.h
index ff0f1d3..db7257a 100644
--- a/include/x11drv.h
+++ b/include/x11drv.h
@@ -345,7 +345,6 @@
 extern void X11DRV_EVENT_Synchronize( BOOL bProcessEvents );
 extern BOOL X11DRV_EVENT_CheckFocus( void );
 extern BOOL X11DRV_EVENT_QueryPointer(DWORD *posX, DWORD *posY, DWORD *state);
-extern void X11DRV_EVENT_DummyMotionNotify(void);
 extern void X11DRV_EVENT_UserRepaintDisable( BOOL bDisable );
 
 /* X11 keyboard driver */
diff --git a/windows/event.c b/windows/event.c
index 7f0c9ee..c1c2f30 100644
--- a/windows/event.c
+++ b/windows/event.c
@@ -50,13 +50,4 @@
   return EVENT_Driver->pQueryPointer(posX, posY, state);
 }
 
-/***********************************************************************
- *		EVENT_DummyMotionNotify
- *
- * Generate a dummy MotionNotify event. Used to force a WM_SETCURSOR message.
- */
-void EVENT_DummyMotionNotify(void)
-{
-  EVENT_Driver->pDummyMotionNotify();
-}
 
diff --git a/windows/ttydrv/event.c b/windows/ttydrv/event.c
index c6267d1..0814b77 100644
--- a/windows/ttydrv/event.c
+++ b/windows/ttydrv/event.c
@@ -47,13 +47,6 @@
 }
 
 /***********************************************************************
- *		TTYDRV_EVENT_DummyMotionNotify
- */
-void TTYDRV_EVENT_DummyMotionNotify(void)
-{
-}
-
-/***********************************************************************
  *		TTYDRV_EVENT_UserRepaintDisable
  */
 void TTYDRV_EVENT_UserRepaintDisable( BOOL bDisable )
diff --git a/windows/ttydrv/init.c b/windows/ttydrv/init.c
index 8e009c2..0b87528 100644
--- a/windows/ttydrv/init.c
+++ b/windows/ttydrv/init.c
@@ -42,7 +42,6 @@
   TTYDRV_EVENT_Synchronize,
   TTYDRV_EVENT_CheckFocus,
   TTYDRV_EVENT_QueryPointer,
-  TTYDRV_EVENT_DummyMotionNotify,
   TTYDRV_EVENT_UserRepaintDisable
 };
 
diff --git a/windows/winpos.c b/windows/winpos.c
index 13d7eb1..11d365e 100644
--- a/windows/winpos.c
+++ b/windows/winpos.c
@@ -2764,7 +2764,20 @@
         EVENT_Synchronize( TRUE );  /* Synchronize with the host window system */
 
     if (!GetCapture() && ((wndPtr->dwStyle & WS_VISIBLE) || (flags & SWP_HIDEWINDOW)))
-        EVENT_DummyMotionNotify(); /* Simulate a mouse event to set the cursor */
+    { 
+        /* Simulate a mouse event to set the cursor */
+        DWORD posX, posY, keyState;
+
+        if ( EVENT_QueryPointer( &posX, &posY, &keyState ) )
+        {
+            int iWndsLocks = WIN_SuspendWndsLock();
+
+            hardware_event( WM_MOUSEMOVE, keyState, 0,
+                            posX, posY, GetTickCount(), 0 );
+
+            WIN_RestoreWndsLock(iWndsLocks);
+        }
+    }
 
     wndTemp = WIN_GetDesktop();
 
diff --git a/windows/x11drv/event.c b/windows/x11drv/event.c
index c4d41df..23db64e 100644
--- a/windows/x11drv/event.c
+++ b/windows/x11drv/event.c
@@ -565,23 +565,6 @@
 
 
 /***********************************************************************
- *           X11DRV_EVENT_DummyMotionNotify
- *
- * Generate a dummy MotionNotify event. Used to force a WM_SETCURSOR message.
- */
-void X11DRV_EVENT_DummyMotionNotify(void)
-{
-  DWORD winX, winY, state;
-  
-  if ( EVENT_QueryPointer( &winX, &winY, &state ) )
-    {
-      MOUSE_SendEvent( MOUSEEVENTF_MOVE, winX, winY, state,
-		       GetTickCount(), 0 );
-    }
-}
-
-
-/***********************************************************************
  *           EVENT_ButtonPress
  */
 static void EVENT_ButtonPress( HWND hWnd, XButtonEvent *event )
diff --git a/windows/x11drv/init.c b/windows/x11drv/init.c
index 148293a..c42ca5c 100644
--- a/windows/x11drv/init.c
+++ b/windows/x11drv/init.c
@@ -46,7 +46,6 @@
   X11DRV_EVENT_Synchronize,
   X11DRV_EVENT_CheckFocus,
   X11DRV_EVENT_QueryPointer,
-  X11DRV_EVENT_DummyMotionNotify,
   X11DRV_EVENT_UserRepaintDisable
 };