[Problem report] Messages cooked too much ?

Gerard Patel gerard.patel at nerim.net
Wed Jun 27 17:38:30 CDT 2001


This is a problem of intermittents hangings, when moving the
mouse or closing a window (not obvious). I finally realized
that the traces in the hanging of Eudora 4 looked very similar,
but Eudora 4 hangs reliably ;-)

I have found this Eudora crash an infinite loop generated by a
mouse move message, cooked to generate a WM_NCMOUSEMOVE,
then this last message is obtained repeatedly from the server 
without being ever removed.

It does not seem right to peek a cooked message off the server,
not find anything useful to do with it, and just ignore it and
asking the server again.

The following patch removes the problem, and *seems*
to cure the intermittent hangings of other apps.

Gerard

--- message.c.orig      Wed Jun 27 22:14:07 2001
+++ message.c   Wed Jun 27 22:13:57 2001
@@ -790,7 +790,11 @@
             if (qmsg.kind == RAW_HW_MESSAGE || qmsg.kind == COOKED_HW_MESSAGE)
             {
                 if (!process_hardware_message( &qmsg, hwnd, first, last,
flags & PM_REMOVE ))
+                {
+                    if (qmsg.kind == COOKED_HW_MESSAGE)
+                        if (!(flags & PM_REMOVE)) QUEUE_FindMsg( hwnd,
first, last, TRUE, &qmsg );
                     goto retry;
+                }
             }
             else
             {







More information about the wine-devel mailing list