DINPUT: Enforce single mouse acquire

Alex Villací­s Lasso a_villacis at palosanto.com
Wed Jan 25 16:32:28 CST 2006


While testing the trial of Fate/Stay Night (www.typemoon.org), I found a 
way to crash dinput: start the trial (mouse acquire, function hook), 
display the About dialog (nested mouse acquire, second instance of 
function hook, overwrites first acquire pointer... oops!), dismiss About 
dialog (current_lock <= NULL, second hook unregistered, first hook 
remains, mouse event called with current_lock == NULL ==> segmentation 
fault). This patch attempts to fix this by disallowing nested mouse 
acquires.

Changelog:
* Disallow nested mouse acquires
* Add ERR on mouse hook called while current_lock == NULL

Alex Villacís Lasso

-------------- next part --------------
A non-text attachment was scrubbed...
Name: wine-dinput-acquire_lock.patch
Type: text/x-patch
Size: 826 bytes
Desc: not available
Url : http://www.winehq.org/pipermail/wine-patches/attachments/20060125/6c98851f/wine-dinput-acquire_lock.patch


More information about the wine-patches mailing list