From 4b367359b554b4e111d789f90a65a069e990745b Mon Sep 17 00:00:00 2001
From: Just van Rossum <just@letterror.com>
Date: Wed, 9 Jan 2002 18:54:16 +0000
Subject: Fixed TrackMouseRegion() argument: ioWasInRgn is an in/out parameter.

---
 Mac/Modules/carbonevt/CarbonEvtscan.py   | 6 ++++--
 Mac/Modules/carbonevt/_CarbonEvtmodule.c | 7 ++++---
 2 files changed, 8 insertions(+), 5 deletions(-)

diff --git a/Mac/Modules/carbonevt/CarbonEvtscan.py b/Mac/Modules/carbonevt/CarbonEvtscan.py
index 3539196..0cc048a 100644
--- a/Mac/Modules/carbonevt/CarbonEvtscan.py
+++ b/Mac/Modules/carbonevt/CarbonEvtscan.py
@@ -109,8 +109,10 @@ class CarbonEvents_Scanner(Scanner_OSX):
 	def makerepairinstructions(self):
 		return [
 			([("UInt32", 'inSize', "InMode"), ("void_ptr", 'inDataPtr', "InMode")],
-				[("MyInBuffer", 'inDataPtr', "InMode")])
+			 [("MyInBuffer", 'inDataPtr', "InMode")]),
+			([("Boolean", 'ioWasInRgn', "OutMode")],
+			 [("Boolean", 'ioWasInRgn', "InOutMode")]),
 		]
-		
+
 if __name__ == "__main__":
 	main()
diff --git a/Mac/Modules/carbonevt/_CarbonEvtmodule.c b/Mac/Modules/carbonevt/_CarbonEvtmodule.c
index 2099cff..dca9d33 100755
--- a/Mac/Modules/carbonevt/_CarbonEvtmodule.c
+++ b/Mac/Modules/carbonevt/_CarbonEvtmodule.c
@@ -1447,9 +1447,10 @@ static PyObject *CarbonEvents_TrackMouseRegion(PyObject *_self, PyObject *_args)
 	RgnHandle inRegion;
 	Boolean ioWasInRgn;
 	UInt16 outResult;
-	if (!PyArg_ParseTuple(_args, "O&O&",
+	if (!PyArg_ParseTuple(_args, "O&O&b",
 	                      GrafObj_Convert, &inPort,
-	                      ResObj_Convert, &inRegion))
+	                      ResObj_Convert, &inRegion,
+	                      &ioWasInRgn))
 		return NULL;
 	_err = TrackMouseRegion(inPort,
 	                        inRegion,
@@ -1795,7 +1796,7 @@ static PyMethodDef CarbonEvents_methods[] = {
 	{"TrackMouseLocationWithOptions", (PyCFunction)CarbonEvents_TrackMouseLocationWithOptions, 1,
 	 "(GrafPtr inPort, OptionBits inOptions, double inTimeout) -> (Point outPt, UInt32 outModifiers, UInt16 outResult)"},
 	{"TrackMouseRegion", (PyCFunction)CarbonEvents_TrackMouseRegion, 1,
-	 "(GrafPtr inPort, RgnHandle inRegion) -> (Boolean ioWasInRgn, UInt16 outResult)"},
+	 "(GrafPtr inPort, RgnHandle inRegion, Boolean ioWasInRgn) -> (Boolean ioWasInRgn, UInt16 outResult)"},
 	{"GetLastUserEventTime", (PyCFunction)CarbonEvents_GetLastUserEventTime, 1,
 	 "() -> (double _rv)"},
 	{"GetWindowEventTarget", (PyCFunction)CarbonEvents_GetWindowEventTarget, 1,
-- 
cgit v0.12

