Change 19965 by [EMAIL PROTECTED] on 2003/07/03 18:58:25

        Subject: [PATCH] Win32: fix WM_TIMER handling
        From: Mattia Barbon <[EMAIL PROTECTED]>
        Date: Thu, 3 Jul 2003 16:05:23 +0200 (ora legale Europa occidentale)
        Message-ID: <[EMAIL PROTECTED]>

Affected files ...

... //depot/perl/win32/win32.c#224 edit

Differences ...

==== //depot/perl/win32/win32.c#224 (text) ====
Index: perl/win32/win32.c
--- perl/win32/win32.c#223~19673~       Tue Jun  3 02:51:59 2003
+++ perl/win32/win32.c  Thu Jul  3 11:58:25 2003
@@ -1884,10 +1884,12 @@
 
        case WM_TIMER: {
            /* alarm() is a one-shot but SetTimer() repeats so kill it */
-           if (w32_timerid) {
+           if (w32_timerid && w32_timerid==msg.wParam) {
                KillTimer(NULL,w32_timerid);
                w32_timerid=0;
            }
+            else
+               goto FallThrough;
            /* Now fake a call to signal handler */
            if (do_raise(aTHX_ 14)) {
                sig_terminate(aTHX_ 14);
@@ -1897,6 +1899,7 @@
 
        /* Otherwise do normal Win32 thing - in case it is useful */
        default:
+       FallThrough:
            TranslateMessage(&msg);
            DispatchMessage(&msg);
            ours = 0;
End of Patch.

Reply via email to