Sorry to kind of spam, it was much easier to fix it than I thought it would be. Hacking wine isn't so hard after all......
input.c line 970 should be:
PostMessageA(TrackingList[i].tme.hwndTrack, WM_MOUSEHOVER, get_key_state() , (pos.y << 8) + (pos.x));
I didn't think it was worth sending to wine-patches as it's just a 1 line fix and I didn't do it against wine cvs, but the last tarball release. That solves all my mouse handling issues with the ASV, so I'm a happy person once more. If somebody could apply that patch that'd be fab.
thanks -mike
----- Original Message ----- From: "Mike Hearn" m.hearn@signal.qinetiq.com To: wine-devel@winehq.org Sent: Friday, November 22, 2002 9:32 AM Subject: wm_mousehover bug fix.....
Sorry to kind of spam, it was much easier to fix it than I thought it would be. Hacking wine isn't so hard after all......
Never is.. ;)
input.c line 970 should be:
PostMessageA(TrackingList[i].tme.hwndTrack, WM_MOUSEHOVER, get_key_state() , (pos.y << 8) + (pos.x));
I didn't think it was worth sending to wine-patches as it's just a 1 line fix and I didn't do it against wine cvs, but the last tarball release. That solves all my mouse handling issues with the ASV, so I'm a happy person once more. If somebody could apply that patch that'd be fab.
usually 1-liners are easier to get committed to CVS than "big" patches, and Alexandre will commit patches against the latest tarball instead of the latest CVS, as not everyone has the kind of time/connection to be able to get the latest CVS. At one point, I had to do the same, submit patches from the latest tarball... Go ahead and send it to wine-patches, and see what people say.
-Dustin
On 22 Nov 2002, Mike Hearn wrote:
Sorry to kind of spam, it was much easier to fix it than I thought it would be. Hacking wine isn't so hard after all......
input.c line 970 should be:
PostMessageA(TrackingList[i].tme.hwndTrack, WM_MOUSEHOVER, get_key_state() , (pos.y << 8) + (pos.x));
That doesn't make much sense, is the X and Y coordinates really always less than 256? Brings back memories of the the CGA days...
Perhaps you meant (pos.y << 16). But if so, you should probably use the MAKELONG or MAKELPARAM macro here.
Ove Kaaven ovehk-at-ping.uio.no |Wine Mailing Lists| wrote:
On 22 Nov 2002, Mike Hearn wrote:
Sorry to kind of spam, it was much easier to fix it than I thought it would be. Hacking wine isn't so hard after all......
input.c line 970 should be:
PostMessageA(TrackingList[i].tme.hwndTrack, WM_MOUSEHOVER, get_key_state() , (pos.y << 8) + (pos.x));
More to the point, the windows headers say that for WM_MOUSEHOVER,the low 16bits contain X the high 16bits contain Y. As this stands, you have low 8 bits for X, and 24 high bits for Y.
That doesn't make much sense, is the X and Y coordinates really always less than 256? Brings back memories of the the CGA days...
Perhaps you meant (pos.y << 16). But if so, you should probably use the MAKELONG or MAKELPARAM macro here.
Sounds about right (To a windows progammer)