Sigh... First test before committing. InvalWindowRect and friends are window object methods. Fixed.
diff --git a/Mac/Demo/waste/htmled.py b/Mac/Demo/waste/htmled.py
index ec6f58b..b66814a 100644
--- a/Mac/Demo/waste/htmled.py
+++ b/Mac/Demo/waste/htmled.py
@@ -194,7 +194,7 @@
 		l, t, r, b = self.ted.WEGetViewRect()
 		vr = (l, t, l+width-15, t+height-15)
 		self.ted.WESetViewRect(vr)
-		Win.InvalWindowRect(vr)
+		self.wid.InvalWindowRect(vr)
 		ScrolledWindow.do_postresize(self, width, height, window)
 		
 	def do_contentclick(self, local, modifiers, evt):
@@ -290,7 +290,7 @@
 		self.ted.WESetSelection(start, end)
 		self.ted.WESelView()
 		self.ted.WEFeatureFlag(WASTEconst.weFInhibitRecal, 0)
-		Win.InvalWindowRect(self.ted.WEGetViewRect())
+		self.wid.InvalWindowRect(self.ted.WEGetViewRect())
 
 		self.updatescrollbars()
 		self.parent.updatemenubar()
diff --git a/Mac/Demo/waste/swed.py b/Mac/Demo/waste/swed.py
index cfaae9d..035c97c 100644
--- a/Mac/Demo/waste/swed.py
+++ b/Mac/Demo/waste/swed.py
@@ -163,7 +163,7 @@
 		l, t, r, b = self.ted.WEGetViewRect()
 		vr = (l, t, l+width-15, t+height-15)
 		self.ted.WESetViewRect(vr)
-		Win.InvalWindowRect(vr)
+		self.wid.InvalWindowRect(vr)
 		ScrolledWindow.do_postresize(self, width, height, window)
 		
 	def do_contentclick(self, local, modifiers, evt):
diff --git a/Mac/Demo/waste/wed.py b/Mac/Demo/waste/wed.py
index 276bd72..7b40864 100644
--- a/Mac/Demo/waste/wed.py
+++ b/Mac/Demo/waste/wed.py
@@ -136,7 +136,7 @@
 		l, t, r, b = self.ted.WEGetViewRect()
 		vr = (l, t, l+width-15, t+height-15)
 		self.ted.WESetViewRect(vr)
-		Win.InvalWindowRect(vr)
+		self.wid.InvalWindowRect(vr)
 		ScrolledWindow.do_postresize(self, width, height, window)
 		
 	def do_contentclick(self, local, modifiers, evt):
diff --git a/Mac/Lib/FrameWork.py b/Mac/Lib/FrameWork.py
index 733e94e..780ee63 100644
--- a/Mac/Lib/FrameWork.py
+++ b/Mac/Lib/FrameWork.py
@@ -713,6 +713,9 @@
 	def SetPort(self):
 		# Convinience method
 		SetPort(self.wid)
+		
+	def GetWindow(self):
+		return self.wid
 	
 	def do_inDrag(self, partcode, window, event):
 		where = event[3]
@@ -753,13 +756,13 @@
 	def do_resize(self, width, height, window):
 		l, t, r, b = self.wid.GetWindowPort().portRect			# jvr, forGrowIcon
 		self.SetPort()							# jvr
-		InvalWindowRect((r - SCROLLBARWIDTH + 1, b - SCROLLBARWIDTH + 1, r, b))	# jvr
+		self.wid.InvalWindowRect((r - SCROLLBARWIDTH + 1, b - SCROLLBARWIDTH + 1, r, b))	# jvr
 		window.SizeWindow(width, height, 1)		# changed updateFlag to true jvr
 		self.do_postresize(width, height, window)
 	
 	def do_postresize(self, width, height, window):
 		SetPort(window)
-		InvalWindowRect(window.GetWindowPort().portRect)
+		self.wid.InvalWindowRect(window.GetWindowPort().portRect)
 	
 	def do_inContent(self, partcode, window, event):
 		#
@@ -853,12 +856,12 @@
 			rect = x0-1, y1-(SCROLLBARWIDTH-1), x1-(SCROLLBARWIDTH-2), y1+1
 			self.barx = NewControl(self.wid, rect, "", 1, vx, 0, 32767, 16, 0)
 			if not self.barx_enabled: self.barx.HiliteControl(255)
-##			InvalWindowRect(rect)
+##			self.wid.InvalWindowRect(rect)
 		if wanty:
 			rect = x1-(SCROLLBARWIDTH-1), y0-1, x1+1, y1-(SCROLLBARWIDTH-2)
 			self.bary = NewControl(self.wid, rect, "", 1, vy, 0, 32767, 16, 0)
 			if not self.bary_enabled: self.bary.HiliteControl(255)
-##			InvalWindowRect(rect)
+##			self.wid.InvalWindowRect(rect)
 			
 	def do_postclose(self):
 		self.barx = self.bary = None
@@ -893,11 +896,11 @@
 			self.bary.SizeControl(SCROLLBARWIDTH, (b-t)-(SCROLLBARWIDTH-3))	# jvr
 		if self.barx:
 			self.barx.ShowControl()		# jvr
-			ValidWindowRect((l, b - SCROLLBARWIDTH + 1, r - SCROLLBARWIDTH + 2, b))	# jvr
+			self.wid.ValidWindowRect((l, b - SCROLLBARWIDTH + 1, r - SCROLLBARWIDTH + 2, b))	# jvr
 		if self.bary:
 			self.bary.ShowControl()		# jvr
-			ValidWindowRect((r - SCROLLBARWIDTH + 1, t, r, b - SCROLLBARWIDTH + 2))	# jvr
-		InvalWindowRect((r - SCROLLBARWIDTH + 1, b - SCROLLBARWIDTH + 1, r, b))	# jvr, growicon
+			self.wid.ValidWindowRect((r - SCROLLBARWIDTH + 1, t, r, b - SCROLLBARWIDTH + 2))	# jvr
+		self.wid.InvalWindowRect((r - SCROLLBARWIDTH + 1, b - SCROLLBARWIDTH + 1, r, b))	# jvr, growicon
 
 			
 	def do_rawcontrolhit(self, window, control, pcode, local, event):
diff --git a/Mac/Lib/test/tscrollwin.py b/Mac/Lib/test/tscrollwin.py
index d91f6b9..661ad2b 100644
--- a/Mac/Lib/test/tscrollwin.py
+++ b/Mac/Lib/test/tscrollwin.py
@@ -47,7 +47,7 @@
 				self.vy = value
 			else:
 				self.vy = self.vy + delta
-		Win.InvalWindowRect(self.ourrect)
+		self.wid.InvalWindowRect(self.ourrect)
 
 	def do_update(self, wid, event):
 		Qd.EraseRect(self.ourrect)
diff --git a/Mac/Tools/IDE/PyEdit.py b/Mac/Tools/IDE/PyEdit.py
index c18e31f..3f1e9c8 100644
--- a/Mac/Tools/IDE/PyEdit.py
+++ b/Mac/Tools/IDE/PyEdit.py
@@ -957,7 +957,7 @@
 			editor.ted.WEUseText(Res.Resource(Text))
 			editor.ted.WECalText()
 			editor.SetPort()
-			Win.InvalWindowRect(editor._bounds)
+			editor.GetWindow().InvalWindowRect(editor._bounds)
 			#editor.ted.WEUpdate(self.w.wid.GetWindowPort().visRgn)
 			EasyDialogs.Message("Replaced %d occurrences" % counter)
 	
diff --git a/Mac/Tools/IDE/Splash.py b/Mac/Tools/IDE/Splash.py
index 1544b67..b71e0ca 100644
--- a/Mac/Tools/IDE/Splash.py
+++ b/Mac/Tools/IDE/Splash.py
@@ -100,7 +100,7 @@
 	if drawdialog:
 		splash.DrawDialog()
 	drawtext(what)
-	Win.ValidWindowRect(splash.GetWindowPort().portRect)
+	splash.GetDialogWindow().ValidWindowRect(splash.GetDialogPort().portRect)
 
 def drawtext(what = 0):
 	Qd.SetPort(splash)
diff --git a/Mac/Tools/IDE/Wbase.py b/Mac/Tools/IDE/Wbase.py
index 0a987c6..3c5ab60 100644
--- a/Mac/Tools/IDE/Wbase.py
+++ b/Mac/Tools/IDE/Wbase.py
@@ -104,8 +104,8 @@
 	
 	def adjust(self, oldbounds):
 		self.SetPort()
-		Win.InvalWindowRect(oldbounds)
-		Win.InvalWindowRect(self._bounds)
+		self.GetWindow().InvalWindowRect(oldbounds)
+		self.GetWindow().InvalWindowRect(self._bounds)
 	
 	def _calcbounds(self):
 		# calculate absolute bounds relative to the window origin from our
@@ -218,7 +218,7 @@
 		self._setparentwindow(widget)
 		if self._parentwindow and self._parentwindow.wid:
 			widget.forall_frombottom("open")
-			Win.InvalWindowRect(widget._bounds)
+			self.GetWindow().InvalWindowRect(widget._bounds)
 	
 	def _setparentwindow(self, widget):
 		widget._parentwindow = self._parentwindow
@@ -235,7 +235,7 @@
 			widget.select(0)
 			self._parentwindow._currentwidget = None
 		self.SetPort()
-		Win.InvalWindowRect(widget._bounds)
+		self.GetWindow().InvalWindowRect(widget._bounds)
 		widget.close()
 		del self._widgetsdict[key]
 		self._widgets.remove(widget)
@@ -274,7 +274,11 @@
 	
 	def SetPort(self):
 		self._parentwindow.SetPort()
-	
+		
+
+	def GetWindow(self):
+		return self._parentwindow.GetWindow()
+		
 	def __del__(self):
 		if DEBUG:
 			print "%s instance deleted" % self.__class__.__name__
@@ -340,11 +344,11 @@
 	def adjust(self, oldbounds):
 		self.SetPort()
 		if self._selected:
-			Win.InvalWindowRect(Qd.InsetRect(oldbounds, -3, -3))
-			Win.InvalWindowRect(Qd.InsetRect(self._bounds, -3, -3))
+			self.GetWindow().InvalWindowRect(Qd.InsetRect(oldbounds, -3, -3))
+			self.GetWindow().InvalWindowRect(Qd.InsetRect(self._bounds, -3, -3))
 		else:
-			Win.InvalWindowRect(oldbounds)
-			Win.InvalWindowRect(self._bounds)
+			self.GetWindow().InvalWindowRect(oldbounds)
+			self.GetWindow().InvalWindowRect(self._bounds)
 
 
 class _Line(Widget):
diff --git a/Mac/Tools/IDE/Wcontrols.py b/Mac/Tools/IDE/Wcontrols.py
index 1a0fe88..7a88cca 100644
--- a/Mac/Tools/IDE/Wcontrols.py
+++ b/Mac/Tools/IDE/Wcontrols.py
@@ -32,7 +32,7 @@
 						self._procID, 
 						0)
 		self.SetPort()
-		#Win.ValidWindowRect(self._bounds)
+		#self.GetWindow().ValidWindowRect(self._bounds)
 		self.enable(self._enabled)
 	
 	def adjust(self, oldbounds):
@@ -43,7 +43,7 @@
 		if self._visible:
 			Qd.EraseRect(self._bounds)
 			self._control.ShowControl()
-			Win.ValidWindowRect(self._bounds)
+			self.GetWindow().ValidWindowRect(self._bounds)
 	
 	def close(self):
 		self._control.HideControl()
@@ -162,8 +162,8 @@
 			old = Qd.InsetRect(oldbounds, -4, -4)
 			new = Qd.InsetRect(self._bounds, -4, -4)
 			Qd.EraseRect(old)
-			Win.InvalWindowRect(old)
-			Win.InvalWindowRect(new)
+			self.GetWindow().InvalWindowRect(old)
+			self.GetWindow().InvalWindowRect(new)
 		ControlWidget.adjust(self, oldbounds)
 
 
@@ -346,7 +346,7 @@
 	
 	def adjust(self, oldbounds):
 		self.SetPort()
-		Win.InvalWindowRect(oldbounds)
+		self.GetWindow().InvalWindowRect(oldbounds)
 		self._control.HideControl()
 		self._control.MoveControl(self._bounds[0], self._bounds[1])
 		self._control.SizeControl(self._bounds[2] - self._bounds[0], self._bounds[3] - self._bounds[1])
@@ -356,7 +356,7 @@
 				self._control.ShowControl()
 			else:
 				Qd.FrameRect(self._bounds)
-			Win.ValidWindowRect(self._bounds)
+			self.GetWindow().ValidWindowRect(self._bounds)
 	
 	def activate(self, onoff):
 		self._activated = onoff
@@ -366,7 +366,7 @@
 			else:
 				self._control.HideControl()
 				self.draw(None)
-				Win.ValidWindowRect(self._bounds)
+				self.GetWindow().ValidWindowRect(self._bounds)
 		
 	def set(self, value):
 		if self._control:
diff --git a/Mac/Tools/IDE/Wlists.py b/Mac/Tools/IDE/Wlists.py
index 08853f4..dd43a2d 100644
--- a/Mac/Tools/IDE/Wlists.py
+++ b/Mac/Tools/IDE/Wlists.py
@@ -57,11 +57,11 @@
 	def adjust(self, oldbounds):
 		self.SetPort()
 		if self._selected:
-			Win.InvalWindowRect(Qd.InsetRect(oldbounds, -3, -3))
-			Win.InvalWindowRect(Qd.InsetRect(self._bounds, -3, -3))
+			self.GetWindow().InvalWindowRect(Qd.InsetRect(oldbounds, -3, -3))
+			self.GetWindow().InvalWindowRect(Qd.InsetRect(self._bounds, -3, -3))
 		else:
-			Win.InvalWindowRect(oldbounds)
-			Win.InvalWindowRect(self._bounds)
+			self.GetWindow().InvalWindowRect(oldbounds)
+			self.GetWindow().InvalWindowRect(self._bounds)
 		if oldbounds[:2] == self._bounds[:2]:
 			# set visRgn to empty, to prevent nasty drawing side effect of LSize()
 			Qd.RectRgn(self._parentwindow.wid.GetWindowPort().visRgn, (0, 0, 0, 0))
@@ -359,7 +359,7 @@
 						self.SetPort()
 						Qd.EraseRect((l, cb, cr, b))
 					self._list.LUpdate(self._parentwindow.wid.GetWindowPort().visRgn)
-					Win.ValidWindowRect(bounds)
+					self.GetWindow().ValidWindowRect(bounds)
 		else:
 			if self.drawingmode == 0 and self._list is not None:
 				self._list.LSetDrawingMode(0)
diff --git a/Mac/Tools/IDE/Wquicktime.py b/Mac/Tools/IDE/Wquicktime.py
index 224fd5f..79adc110 100644
--- a/Mac/Tools/IDE/Wquicktime.py
+++ b/Mac/Tools/IDE/Wquicktime.py
@@ -24,14 +24,14 @@
 	
 	def adjust(self, oldbounds):
 		self.SetPort()
-		Win.InvalWindowRect(oldbounds)
-		Win.InvalWindowRect(self._bounds)
+		self.GetWindow().InvalWindowRect(oldbounds)
+		self.GetWindow().InvalWindowRect(self._bounds)
 		self.calcmoviebox()
 	
 	def set(self, path_or_fss, start = 0):
 		self.SetPort()
 		if self.movie:
-			#Win.InvalWindowRect(self.movie.GetMovieBox())
+			#self.GetWindow().InvalWindowRect(self.movie.GetMovieBox())
 			Qd.PaintRect(self.movie.GetMovieBox())
 		if type(path_or_fss) == type(''):
 			path = path_or_fss
@@ -106,7 +106,7 @@
 			elif self.running:
 				box = self.movie.GetMovieBox()
 				self.SetPort()
-				Win.InvalWindowRect(box)
+				self.GetWindow().InvalWindowRect(box)
 				self.movie = None
 				self.running = 0
 	
diff --git a/Mac/Tools/IDE/Wtext.py b/Mac/Tools/IDE/Wtext.py
index 759a9ea..8c1662d 100644
--- a/Mac/Tools/IDE/Wtext.py
+++ b/Mac/Tools/IDE/Wtext.py
@@ -213,11 +213,11 @@
 	def adjust(self, oldbounds):
 		self.SetPort()
 		if self._selected and self._parentwindow._hasselframes:
-			Win.InvalWindowRect(Qd.InsetRect(oldbounds, -3, -3))
-			Win.InvalWindowRect(Qd.InsetRect(self._bounds, -3, -3))
+			self.GetWindow().InvalWindowRect(Qd.InsetRect(oldbounds, -3, -3))
+			self.GetWindow().InvalWindowRect(Qd.InsetRect(self._bounds, -3, -3))
 		else:
-			Win.InvalWindowRect(oldbounds)
-			Win.InvalWindowRect(self._bounds)
+			self.GetWindow().InvalWindowRect(oldbounds)
+			self.GetWindow().InvalWindowRect(self._bounds)
 		viewrect, destrect = self._calctextbounds()
 		self.ted.WESetViewRect(viewrect)
 		self.ted.WESetDestRect(destrect)
@@ -305,7 +305,7 @@
 			Qd.RectRgn(rgn, viewrect)
 			Qd.EraseRect(viewrect)
 			self.draw(rgn)
-			#Win.InvalWindowRect(self.ted.WEGetViewRect())
+			#self.GetWindow().InvalWindowRect(self.ted.WEGetViewRect())
 			self.updatescrollbars()
 	
 	def get(self):
diff --git a/Mac/Tools/IDE/Wwindows.py b/Mac/Tools/IDE/Wwindows.py
index 1ab5056..2d449c7 100644
--- a/Mac/Tools/IDE/Wwindows.py
+++ b/Mac/Tools/IDE/Wwindows.py
@@ -157,7 +157,7 @@
 		if y == None:
 			x, y = x
 		self.SetPort()
-		Win.InvalWindowRect(self.getgrowrect())
+		self.GetWindow().InvalWindowRect(self.getgrowrect())
 		self.wid.SizeWindow(x, y, 1)
 		self._calcbounds()
 	
@@ -247,7 +247,7 @@
 	def drawwidgetbounds(self, onoff):
 		self._drawwidgetbounds = onoff
 		self.SetPort()
-		Win.InvalWindowRect(self._bounds)
+		self.GetWindow().InvalWindowRect(self._bounds)
 	
 	def _drawbounds(self):
 		pass
@@ -353,7 +353,7 @@
 		self.draw()
 	
 	def do_postresize(self, width, height, window):
-		Win.InvalWindowRect(self.getgrowrect())
+		self.GetWindow().InvalWindowRect(self.getgrowrect())
 		self._calcbounds()
 	
 	def do_inGoAway(self, partcode, window, event):
diff --git a/Mac/scripts/MkDistr_ui.py b/Mac/scripts/MkDistr_ui.py
index 6d2f2c2..88c87f9 100644
--- a/Mac/scripts/MkDistr_ui.py
+++ b/Mac/scripts/MkDistr_ui.py
@@ -115,7 +115,7 @@
 				self.list.LSetCell(contents[i], (0, i))
 		self.list.LSetDrawingMode(1)
 		##self.list.LUpdate(self.wid.GetWindowPort().visRgn)
-		Win.InvalWindowRect(self.listrect)
+		self.wid.InvalWindowRect(self.listrect)
 		
 	def additem(self, item):
 		where = self.list.LAddRow(1, 0)