- Added DrawThemeTextBox()
- fixed GetThemeTextDimensions(): it has an in/out Point arg, not just out.
diff --git a/Mac/Modules/app/_Appmodule.c b/Mac/Modules/app/_Appmodule.c
index ab330a5..062197a 100644
--- a/Mac/Modules/app/_Appmodule.c
+++ b/Mac/Modules/app/_Appmodule.c
@@ -660,6 +660,40 @@
 
 #if TARGET_API_MAC_CARBON
 
+static PyObject *App_DrawThemeTextBox(PyObject *_self, PyObject *_args)
+{
+	PyObject *_res = NULL;
+	OSStatus _err;
+	CFStringRef inString;
+	ThemeFontID inFontID;
+	ThemeDrawState inState;
+	Boolean inWrapToWidth;
+	Rect inBoundingBox;
+	SInt16 inJust;
+	if (!PyArg_ParseTuple(_args, "O&HlbO&h",
+	                      CFStringRefObj_Convert, &inString,
+	                      &inFontID,
+	                      &inState,
+	                      &inWrapToWidth,
+	                      PyMac_GetRect, &inBoundingBox,
+	                      &inJust))
+		return NULL;
+	_err = DrawThemeTextBox(inString,
+	                        inFontID,
+	                        inState,
+	                        inWrapToWidth,
+	                        &inBoundingBox,
+	                        inJust,
+	                        NULL);
+	if (_err != noErr) return PyMac_Error(_err);
+	Py_INCREF(Py_None);
+	_res = Py_None;
+	return _res;
+}
+#endif
+
+#if TARGET_API_MAC_CARBON
+
 static PyObject *App_TruncateThemeText(PyObject *_self, PyObject *_args)
 {
 	PyObject *_res = NULL;
@@ -702,11 +736,12 @@
 	Boolean inWrapToWidth;
 	Point ioBounds;
 	SInt16 outBaseline;
-	if (!PyArg_ParseTuple(_args, "O&Hlb",
+	if (!PyArg_ParseTuple(_args, "O&HlbO&",
 	                      CFStringRefObj_Convert, &inString,
 	                      &inFontID,
 	                      &inState,
-	                      &inWrapToWidth))
+	                      &inWrapToWidth,
+	                      PyMac_GetPoint, &ioBounds))
 		return NULL;
 	_err = GetThemeTextDimensions(inString,
 	                              inFontID,
@@ -1204,13 +1239,18 @@
 	 "(ThemeFontID inFontID, ScriptCode inScript) -> None"},
 
 #if TARGET_API_MAC_CARBON
+	{"DrawThemeTextBox", (PyCFunction)App_DrawThemeTextBox, 1,
+	 "(CFStringRef inString, ThemeFontID inFontID, ThemeDrawState inState, Boolean inWrapToWidth, Rect inBoundingBox, SInt16 inJust) -> None"},
+#endif
+
+#if TARGET_API_MAC_CARBON
 	{"TruncateThemeText", (PyCFunction)App_TruncateThemeText, 1,
 	 "(CFMutableStringRef inString, ThemeFontID inFontID, ThemeDrawState inState, SInt16 inPixelWidthLimit, TruncCode inTruncWhere) -> (Boolean outTruncated)"},
 #endif
 
 #if TARGET_API_MAC_CARBON
 	{"GetThemeTextDimensions", (PyCFunction)App_GetThemeTextDimensions, 1,
-	 "(CFStringRef inString, ThemeFontID inFontID, ThemeDrawState inState, Boolean inWrapToWidth) -> (Point ioBounds, SInt16 outBaseline)"},
+	 "(CFStringRef inString, ThemeFontID inFontID, ThemeDrawState inState, Boolean inWrapToWidth, Point ioBounds) -> (Point ioBounds, SInt16 outBaseline)"},
 #endif
 
 #if TARGET_API_MAC_CARBON
diff --git a/Mac/Modules/app/appscan.py b/Mac/Modules/app/appscan.py
index 62409c7..5a7750a 100644
--- a/Mac/Modules/app/appscan.py
+++ b/Mac/Modules/app/appscan.py
@@ -48,7 +48,6 @@
 			"appearanceBadTextColorIndexErr",
 			"appearanceThemeHasNoAccents",
 			"appearanceBadCursorIndexErr",
-			"DrawThemeTextBox",    # Funny void* out param
 			]
 
 	def makegreylist(self):
@@ -58,6 +57,7 @@
 				'GetThemeTextShadowOutset',
 				'GetThemeTextDimensions',
 				'TruncateThemeText',
+				'DrawThemeTextBox',
 			])]
 			
 	def makeblacklisttypes(self):
@@ -80,6 +80,10 @@
 
 	def makerepairinstructions(self):
 		return [
+			([("void", 'inContext', "OutMode")],
+			 [("NULL", 'inContext', "InMode")]),
+			([("Point", 'ioBounds', "OutMode")],
+			 [("Point", 'ioBounds', "InOutMode")]),
 			]
 			
 if __name__ == "__main__":
diff --git a/Mac/Modules/app/appsupport.py b/Mac/Modules/app/appsupport.py
index a0eff8e..94361a9 100644
--- a/Mac/Modules/app/appsupport.py
+++ b/Mac/Modules/app/appsupport.py
@@ -27,6 +27,8 @@
 #WindowPeek = OpaqueByValueType("WindowPeek", OBJECTPREFIX)
 
 RgnHandle = FakeType("(RgnHandle)0")
+NULL = FakeType("NULL")
+
 # XXXX Should be next, but this will break a lot of code...
 # RgnHandle = OpaqueByValueType("RgnHandle", "OptResObj")