summaryrefslogtreecommitdiff
path: root/win32
diff options
context:
space:
mode:
authorMattia Barbon <mbarbon@dsi.unive.it>2003-07-03 18:05:23 +0200
committerJarkko Hietaniemi <jhi@iki.fi>2003-07-03 18:58:25 +0000
commit26549e08076777b5bf661c544db9ec681644f68e (patch)
tree691f20d08fbb0b101a2d9f49339eca254b2f12b4 /win32
parenta19106168e3a7e2ab288aa73118f8efee5d56e2b (diff)
downloadperl-26549e08076777b5bf661c544db9ec681644f68e.tar.gz
Win32: fix WM_TIMER handling
Message-ID: <Mahogany-0.64.2-1016-20030703-160523.00@rbnet.it> p4raw-id: //depot/perl@19965
Diffstat (limited to 'win32')
-rw-r--r--win32/win32.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/win32/win32.c b/win32/win32.c
index 083e98e797..c41c36d7ed 100644
--- a/win32/win32.c
+++ b/win32/win32.c
@@ -1884,10 +1884,12 @@ win32_async_check(pTHX)
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 @@ win32_async_check(pTHX)
/* Otherwise do normal Win32 thing - in case it is useful */
default:
+ FallThrough:
TranslateMessage(&msg);
DispatchMessage(&msg);
ours = 0;