From: <mie...@us...> - 2011-12-28 18:34:25
|
Revision: 7403 http://oorexx.svn.sourceforge.net/oorexx/?rev=7403&view=rev Author: miesfeld Date: 2011-12-28 18:34:19 +0000 (Wed, 28 Dec 2011) Log Message: ----------- ooDialog - fix bug(s) in mouse implementation Modified Paths: -------------- main/trunk/extensions/platform/windows/oodialog/oodControl.cpp main/trunk/samples/windows/oodialog/mouse/mouseWheel.rex Modified: main/trunk/extensions/platform/windows/oodialog/oodControl.cpp =================================================================== --- main/trunk/extensions/platform/windows/oodialog/oodControl.cpp 2011-12-28 06:26:59 UTC (rev 7402) +++ main/trunk/extensions/platform/windows/oodialog/oodControl.cpp 2011-12-28 18:34:19 UTC (rev 7403) @@ -1,7 +1,7 @@ /*----------------------------------------------------------------------------*/ /* */ /* Copyright (c) 1995, 2004 IBM Corporation. All rights reserved. */ -/* Copyright (c) 2005-2010 Rexx Language Association. All rights reserved. */ +/* Copyright (c) 2005-2011 Rexx Language Association. All rights reserved. */ /* */ /* This program and the accompanying materials are made available under */ /* the terms of the Common Public License v1.0 which accompanies this */ @@ -709,7 +709,7 @@ if ( StrCmpI(opts, "NOWAIT" ) == 0 ) { - tag &= CTRLTAG_REPLYFROMREXX; + tag &= ~CTRLTAG_REPLYFROMREXX; foundKeyWord = true; } @@ -799,7 +799,9 @@ { if ( msg == WM_MOUSEWHEEL ) { - if ( (tag & CTRLTAG_EXTRAMASK) == CTRLTAG_SENDTODEFWINDOWPROC ) + uint32_t extra = tag & CTRLTAG_EXTRAMASK; + + if ( (extra & CTRLTAG_SENDTODEFWINDOWPROC) == CTRLTAG_SENDTODEFWINDOWPROC ) { return DefWindowProc(hwnd, msg, wParam, lParam); } @@ -808,7 +810,7 @@ mwd.method = method; mwd.mouse = pData->pcdc->rexxMouse; mwd.pcpbd = pData->pcpbd; - mwd.willReply = (tag & CTRLTAG_EXTRAMASK) == CTRLTAG_REPLYFROMREXX; + mwd.willReply = (extra & CTRLTAG_REPLYFROMREXX) == CTRLTAG_REPLYFROMREXX; mouseWheelNotify(&mwd, wParam, lParam); return TRUE; Modified: main/trunk/samples/windows/oodialog/mouse/mouseWheel.rex =================================================================== --- main/trunk/samples/windows/oodialog/mouse/mouseWheel.rex 2011-12-28 06:26:59 UTC (rev 7402) +++ main/trunk/samples/windows/oodialog/mouse/mouseWheel.rex 2011-12-28 18:34:19 UTC (rev 7403) @@ -134,7 +134,7 @@ -- Connect all mouse wheel events that reach the dialog to a method in this -- dialog. The default method name is onMouseWheel, so we omit the method - -- name arugment and name our method onMousWheel. + -- name arugment and name our method in this dialog: 'onMousWheel'. -- -- Note that this onMouseWheel() method will never be invoked if the -- IDC_EDIT_DATA edit control has the focus. @@ -197,14 +197,14 @@ * notification for each notch of the scroll wheel and so delta * will always be 120 or -120. * - * Because of the 2 connectMouseWheel() calls in initDialog() the method will + * Because of the 2 mouse~connectEvent() calls in initDialog() the method will * only be called when the dialog is the active window and the multi-line edit * control does *not* have the focus. We simply delegate to the maybeScroll() - * method, passing on the 3 arguments and .false to indicate the edit control + * method, passing on 3 of the arguments and .false to indicate the edit control * does not have the focus. */ ::method onMouseWheel unguarded - use arg delta, state, pos + use arg state, pos, mouse, delta return self~maybeScroll(delta, state, pos, .false) @@ -221,7 +221,7 @@ * and .true to indicate the edit control has the focus. */ ::method onEditMouseWheel unguarded - use arg delta, state, pos + use arg state, pos, mouse, delta return self~maybeScroll(delta, state, pos, .true) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |