Added first/last message filters to MSG_InternalGetMessage to avoid
busy waits.

diff --git a/controls/menu.c b/controls/menu.c
index 3451969..3a33c9c 100644
--- a/controls/menu.c
+++ b/controls/menu.c
@@ -2768,7 +2768,7 @@
 	/* we have to keep the message in the queue until it's
 	 * clear that menu loop is not over yet. */
 
-	if (!MSG_InternalGetMessage( QMSG_WIN32A, &msg, msg.hwnd, mt.hOwnerWnd,
+	if (!MSG_InternalGetMessage( &msg, msg.hwnd, mt.hOwnerWnd, 0, 0,
 				     MSGF_MENU, PM_NOREMOVE, !enterIdleSent, &enterIdleSent )) break;
 
 	/* check if EndMenu() tried to cancel us, by posting this message */