Lots of minor tweaks for the pep252 checkins, mainly because Qd
attributes are no longer supported.
diff --git a/Mac/Contrib/ImageHelpers/MovieUtils.py b/Mac/Contrib/ImageHelpers/MovieUtils.py
index 8250a82..89762f4 100644
--- a/Mac/Contrib/ImageHelpers/MovieUtils.py
+++ b/Mac/Contrib/ImageHelpers/MovieUtils.py
@@ -124,7 +124,7 @@
 		
 		#Qd.MoveTo(10,10)
 		#Qd.LineTo(200,150)
-		Qd.CopyBits(self.gw.portBits,Qd.GetPort().portBits,self.myRect,destRect,srcCopy,None)
+		Qd.CopyBits(self.gw.GetPortBitMapForCopyBits(),Qd.GetPort().GetPortBitMapForCopyBits(),self.myRect,destRect,srcCopy,None)
 
 class MovieWin(W.Window):
 	
diff --git a/Mac/Demo/PICTbrowse/ICONbrowse.py b/Mac/Demo/PICTbrowse/ICONbrowse.py
index 902b5c7..42ae96d 100644
--- a/Mac/Demo/PICTbrowse/ICONbrowse.py
+++ b/Mac/Demo/PICTbrowse/ICONbrowse.py
@@ -93,7 +93,7 @@
 	def fitrect(self):
 		"""Return self.pictrect scaled to fit in window"""
 		graf = self.wid.GetWindowPort()
-		screenrect = graf.portRect
+		screenrect = graf.GetPortBounds()
 		picwidth = self.pictrect[2] - self.pictrect[0]
 		picheight = self.pictrect[3] - self.pictrect[1]
 		if picwidth > screenrect[2] - screenrect[0]:
diff --git a/Mac/Demo/PICTbrowse/PICTbrowse2.py b/Mac/Demo/PICTbrowse/PICTbrowse2.py
index 0e11681..da389c0 100644
--- a/Mac/Demo/PICTbrowse/PICTbrowse2.py
+++ b/Mac/Demo/PICTbrowse/PICTbrowse2.py
@@ -93,7 +93,7 @@
 	def fitrect(self):
 		"""Return self.pictrect scaled to fit in window"""
 		graf = self.dlg.GetWindowPort()
-		screenrect = graf.portRect
+		screenrect = graf.GetPortBounds()
 		picwidth = self.pictrect[2] - self.pictrect[0]
 		picheight = self.pictrect[3] - self.pictrect[1]
 		if picwidth > screenrect[2] - screenrect[0]:
diff --git a/Mac/Demo/PICTbrowse/cicnbrowse.py b/Mac/Demo/PICTbrowse/cicnbrowse.py
index 561dcf9..b90143e 100644
--- a/Mac/Demo/PICTbrowse/cicnbrowse.py
+++ b/Mac/Demo/PICTbrowse/cicnbrowse.py
@@ -93,7 +93,7 @@
 	def fitrect(self):
 		"""Return self.pictrect scaled to fit in window"""
 		graf = self.wid.GetWindowPort()
-		screenrect = graf.portRect
+		screenrect = graf.GetPortBounds()
 		picwidth = self.pictrect[2] - self.pictrect[0]
 		picheight = self.pictrect[3] - self.pictrect[1]
 		if picwidth > screenrect[2] - screenrect[0]:
diff --git a/Mac/Demo/imgbrowse/imgbrowse.py b/Mac/Demo/imgbrowse/imgbrowse.py
index c67f4e8..b54f82b 100644
--- a/Mac/Demo/imgbrowse/imgbrowse.py
+++ b/Mac/Demo/imgbrowse/imgbrowse.py
@@ -1,4 +1,4 @@
-"""imgbrowse - Display pictures using img"""
+GetPortBounds()"""imgbrowse - Display pictures using img"""
 
 import FrameWork
 import EasyDialogs
@@ -88,16 +88,16 @@
 		currect = self.fitrect()
 		print 'PICT:', self.pictrect
 		print 'WIND:', currect
-		print 'ARGS:', (self.pixmap, self.wid.GetWindowPort().portBits, self.pictrect,
+		print 'ARGS:', (self.pixmap, self.wid.GetWindowPort().GetPortBitMapForCopyBits(), self.pictrect,
 				currect, QuickDraw.srcCopy, None)
 		self.info()
-		Qd.CopyBits(self.pixmap, self.wid.GetWindowPort().portBits, self.pictrect,
+		Qd.CopyBits(self.pixmap, self.wid.GetWindowPort().GetPortBitMapForCopyBits(), self.pictrect,
 				currect, QuickDraw.srcCopy, None)
 		
 	def fitrect(self):
 		"""Return self.pictrect scaled to fit in window"""
 		graf = self.wid.GetWindowPort()
-		screenrect = graf.portRect
+		screenrect = graf.GetPortBounds()
 		picwidth = self.pictrect[2] - self.pictrect[0]
 		picheight = self.pictrect[3] - self.pictrect[1]
 		if picwidth > screenrect[2] - screenrect[0]:
@@ -113,7 +113,7 @@
 				
 	def info(self):
 		graf = self.wid.GetWindowPort()
-		bits = graf.portBits
+		bits = graf.GetPortBitMapForCopyBits()
 		mac_image.dumppixmap(bits.pixmap_data)
 
 main()
diff --git a/Mac/Demo/mlte/mlted.py b/Mac/Demo/mlte/mlted.py
index 2ae77e7..3f77eee 100644
--- a/Mac/Demo/mlte/mlted.py
+++ b/Mac/Demo/mlte/mlted.py
@@ -362,7 +362,7 @@
 		if self.active:
 			self.active.do_idle(event)
 		else:
-			Qd.SetCursor(Qd.qd.arrow)
+			Qd.SetCursor(Qd.GetQDGlobalsArrow())
 
 def main():
 	Mlte.TXNInitTextension(0)
diff --git a/Mac/Demo/quicktime/MovieInWindow.py b/Mac/Demo/quicktime/MovieInWindow.py
index 9cd4e77..620c16c 100644
--- a/Mac/Demo/quicktime/MovieInWindow.py
+++ b/Mac/Demo/quicktime/MovieInWindow.py
@@ -31,7 +31,7 @@
 	Qd.SetPort(theWindow)
 	# XXXX Needed? SetGWorld((CGrafPtr)theWindow, nil)
 	
-	playMovieInWindow(theWindow, fss, theWindow.GetWindowPort().portRect)
+	playMovieInWindow(theWindow, fss, theWindow.GetWindowPort().GetPortBounds())
 	
 def playMovieInWindow(theWindow, theFile, movieBox):
 	"""Play a movie in a window"""
diff --git a/Mac/Demo/quicktime/VerySimplePlayer.py b/Mac/Demo/quicktime/VerySimplePlayer.py
index 4962ebb..aca977f 100644
--- a/Mac/Demo/quicktime/VerySimplePlayer.py
+++ b/Mac/Demo/quicktime/VerySimplePlayer.py
@@ -78,7 +78,7 @@
 			else:
 				Qd.SetPort(whichWindow)
 				whichWindow.BeginUpdate()
-				Qd.EraseRect(whichWindow.GetWindowPort().portRect)
+				Qd.EraseRect(whichWindow.GetWindowPort().GetPortBounds())
 				whichWindow.EndUpdate()
 			
 def loadMovie(theFile):
diff --git a/Mac/Demo/textedit/ped.py b/Mac/Demo/textedit/ped.py
index 6a0f882..6666158 100644
--- a/Mac/Demo/textedit/ped.py
+++ b/Mac/Demo/textedit/ped.py
@@ -21,7 +21,7 @@
 		r = windowbounds(400, 400)
 		w = Win.NewWindow(r, name, 1, 0, -1, 1, 0)
 		self.wid = w
-		x0, y0, x1, y1 = self.wid.GetWindowPort().portRect
+		x0, y0, x1, y1 = self.wid.GetWindowPort().GetPortBounds()
 		x0 = x0 + 4
 		y0 = y0 + 4
 		x1 = x1 - 20
@@ -87,8 +87,8 @@
 			self.ted.TEDeactivate()
 
 	def do_update(self, wid, event):
-		Qd.EraseRect(wid.GetWindowPort().portRect)
-		self.ted.TEUpdate(wid.GetWindowPort().portRect)
+		Qd.EraseRect(wid.GetWindowPort().GetPortBounds())
+		self.ted.TEUpdate(wid.GetWindowPort().GetPortBounds())
 		self.updatescrollbars()
 		
 	def do_contentclick(self, local, modifiers, evt):
@@ -350,7 +350,7 @@
 		if self.active:
 			self.active.do_idle()
 		else:
-			Qd.SetCursor(Qd.qd.arrow)
+			Qd.SetCursor(Qd.GetQDGlobalsArrow())
 
 def main():
 	App = Ped()
diff --git a/Mac/Demo/waste/htmled.py b/Mac/Demo/waste/htmled.py
index b590b1d..3abbafa 100644
--- a/Mac/Demo/waste/htmled.py
+++ b/Mac/Demo/waste/htmled.py
@@ -95,7 +95,7 @@
 		self.ted.WEIdle()	
 		if self.ted.WEAdjustCursor(where, BIGREGION):
 			return
-		Qd.SetCursor(Qd.qd.arrow)
+		Qd.SetCursor(Qd.GetQDGlobalsArrow())
 		
 	def getscrollbarvalues(self):
 		dr = self.ted.WEGetDestRect()
@@ -780,7 +780,7 @@
 		if self.active:
 			self.active.do_idle(event)
 		else:
-			Qd.SetCursor(Qd.qd.arrow)
+			Qd.SetCursor(Qd.GetQDGlobalsArrow())
 			
 	def newRuler(self, obj):
 		"""Insert a new ruler. Make it as wide as the window minus 2 pxls"""
diff --git a/Mac/Demo/waste/swed.py b/Mac/Demo/waste/swed.py
index 62b027e..083a04c 100644
--- a/Mac/Demo/waste/swed.py
+++ b/Mac/Demo/waste/swed.py
@@ -83,7 +83,7 @@
 		self.ted.WEIdle()	
 		if self.ted.WEAdjustCursor(where, BIGREGION):
 			return
-		Qd.SetCursor(Qd.qd.arrow)
+		Qd.SetCursor(Qd.GetQDGlobalsArrow())
 		
 	def getscrollbarvalues(self):
 		dr = self.ted.WEGetDestRect()
@@ -609,7 +609,7 @@
 		if self.active:
 			self.active.do_idle(event)
 		else:
-			Qd.SetCursor(Qd.qd.arrow)
+			Qd.SetCursor(Qd.GetQDGlobalsArrow())
 			
 def getfontnames():
 	names = []
diff --git a/Mac/Demo/waste/wed.py b/Mac/Demo/waste/wed.py
index 14bee45..199201b 100644
--- a/Mac/Demo/waste/wed.py
+++ b/Mac/Demo/waste/wed.py
@@ -50,7 +50,7 @@
 		self.ted.WEIdle()	
 		if self.ted.WEAdjustCursor(where, BIGREGION):
 			return
-		Qd.SetCursor(Qd.qd.arrow)
+		Qd.SetCursor(Qd.GetQDGlobalsArrow())
 		
 	def getscrollbarvalues(self):
 		dr = self.ted.WEGetDestRect()
@@ -417,7 +417,7 @@
 		if self.active:
 			self.active.do_idle(event)
 		else:
-			Qd.SetCursor(Qd.qd.arrow)
+			Qd.SetCursor(Qd.GetQDGlobalsArrow())
 
 def main():
 	App = Wed()
diff --git a/Mac/Lib/EasyDialogs.py b/Mac/Lib/EasyDialogs.py
index 8b81063..8e1e056 100644
--- a/Mac/Lib/EasyDialogs.py
+++ b/Mac/Lib/EasyDialogs.py
@@ -222,7 +222,7 @@
 
 		
 
-screenbounds = Qd.qd.screenBits.bounds
+screenbounds = Qd.GetQDGlobalsScreenBits().bounds
 screenbounds = screenbounds[0]+4, screenbounds[1]+4, \
 	screenbounds[2]-4, screenbounds[3]-4
 
diff --git a/Mac/Lib/FrameWork.py b/Mac/Lib/FrameWork.py
index f2f6fe2..24acd41 100644
--- a/Mac/Lib/FrameWork.py
+++ b/Mac/Lib/FrameWork.py
@@ -68,7 +68,7 @@
 #
 # The useable portion of the screen
 #	## but what happens with multiple screens? jvr
-screenbounds = qd.screenBits.bounds
+screenbounds = GetQDGlobalsScreenBits().bounds
 screenbounds = screenbounds[0]+4, screenbounds[1]+4, \
 	screenbounds[2]-4, screenbounds[3]-4
 	
@@ -97,7 +97,7 @@
 	SetCursor(_watch)
 	
 def setarrowcursor():
-	SetCursor(qd.arrow)
+	SetCursor(GetQDGlobalsArrow())
 
 class Application:
 	
@@ -808,7 +808,7 @@
 	growlimit = (50, 50, screenbounds[2] - screenbounds[0], screenbounds[3] - screenbounds[1])	# jvr
 	
 	def do_resize(self, width, height, window):
-		l, t, r, b = self.wid.GetWindowPort().portRect			# jvr, forGrowIcon
+		l, t, r, b = self.wid.GetWindowPort().GetPortBounds()			# jvr, forGrowIcon
 		self.SetPort()							# jvr
 		self.wid.InvalWindowRect((r - SCROLLBARWIDTH + 1, b - SCROLLBARWIDTH + 1, r, b))	# jvr
 		window.SizeWindow(width, height, 1)		# changed updateFlag to true jvr
@@ -816,7 +816,7 @@
 	
 	def do_postresize(self, width, height, window):
 		SetPort(window)
-		self.wid.InvalWindowRect(window.GetWindowPort().portRect)
+		self.wid.InvalWindowRect(window.GetWindowPort().GetPortBounds())
 	
 	def do_inContent(self, partcode, window, event):
 		#
@@ -849,7 +849,7 @@
 			for i in range(8):
 				time.sleep(0.1)
 				InvertRgn(window.GetWindowPort().visRgn)
-			FillRgn(window.GetWindowPort().visRgn, qd.gray)
+			FillRgn(window.GetWindowPort().visRgn, GetQDGlobalsGray())
 		else:
 			EraseRgn(window.GetWindowPort().visRgn)
 		
@@ -902,7 +902,7 @@
 		SetPort(self.wid)
 		self.barx = self.bary = None
 		self.barx_enabled = self.bary_enabled = 1
-		x0, y0, x1, y1 = self.wid.GetWindowPort().portRect
+		x0, y0, x1, y1 = self.wid.GetWindowPort().GetPortBounds()
 		vx, vy = self.getscrollbarvalues()
 		if vx == None: self.barx_enabled, vx = 0, 0
 		if vy == None: self.bary_enabled, vy = 0, 0
@@ -938,7 +938,7 @@
 		self.wid.DrawGrowIcon()			# jvr
 			
 	def do_postresize(self, width, height, window):
-		l, t, r, b = self.wid.GetWindowPort().portRect
+		l, t, r, b = self.wid.GetWindowPort().GetPortBounds()
 		self.SetPort()
 		if self.barx:
 			self.barx.HideControl()		# jvr
diff --git a/Mac/Lib/PixMapWrapper.py b/Mac/Lib/PixMapWrapper.py
index b167cc2..bcd3e07 100644
--- a/Mac/Lib/PixMapWrapper.py
+++ b/Mac/Lib/PixMapWrapper.py
@@ -151,7 +151,7 @@
 		if y2 == None:
 			dest[3] = y1 + src[3]-src[1]
 		if not port: port = Qd.GetPort()
-		Qd.CopyBits(self.PixMap(), port.portBits, src, tuple(dest),
+		Qd.CopyBits(self.PixMap(), port.GetPortBitMapForCopyBits(), src, tuple(dest),
 				QuickDraw.srcCopy, None)
 	
 	def fromstring(self,s,width,height,format=imgformat.macrgb):
diff --git a/Mac/Lib/bgenlocations.py b/Mac/Lib/bgenlocations.py
index 28792ba..84f3587 100644
--- a/Mac/Lib/bgenlocations.py
+++ b/Mac/Lib/bgenlocations.py
@@ -28,7 +28,7 @@
 if sys.platform == 'mac':
 	_MWERKSDIR="Macintosh HD:Applications (Mac OS 9):Metrowerks CodeWarrior 7.0:Metrowerks CodeWarrior"
 else:
-	_MWERKSDIR="/Volumes/Sap/Applications (Mac OS 9)/Metrowerks CodeWarrior 7.0/Metrowerks CodeWarrior/"
+	_MWERKSDIR="/Volumes/Moes/Applications (Mac OS 9)/Metrowerks CodeWarrior 7.0/Metrowerks CodeWarrior/"
 INCLUDEDIR=os.path.join(_MWERKSDIR, "MacOS Support", "Universal", "Interfaces", "CIncludes")
 
 #
diff --git a/Mac/Tools/IDE/MacPrefs.py b/Mac/Tools/IDE/MacPrefs.py
index b1fa7ca..716c828 100644
--- a/Mac/Tools/IDE/MacPrefs.py
+++ b/Mac/Tools/IDE/MacPrefs.py
@@ -70,7 +70,7 @@
 			else:
 				prefdict[key] = value
 		marshal.dump(prefdict, open(self.__path, 'wb'))
-		fss = macfs.FSSpec(self.__path)
+		fss = macfs.FSSpec(macfs.FSRef(self.__path))
 		fss.SetCreatorType(self.__creator, 'pref')
 	
 	def __getattr__(self, attr):
@@ -97,7 +97,7 @@
 	# Find the preferences folder and our prefs file, create if needed.
 	vrefnum, dirid = macfs.FindFolder(kOnSystemDisk, 'pref', 0)
 	prefsfolder_fss = macfs.FSSpec((vrefnum, dirid, ''))
-	prefsfolder = prefsfolder_fss.as_pathname()
+	prefsfolder = macfs.FSRef(prefsfolder_fss).as_fsspec().as_pathname()
 	path = os.path.join(prefsfolder, prefname)
 	head, tail = os.path.split(path)
 	# make sure the folder(s) exist
diff --git a/Mac/Tools/IDE/PyBrowser.py b/Mac/Tools/IDE/PyBrowser.py
index 2bb1686..fab577a 100644
--- a/Mac/Tools/IDE/PyBrowser.py
+++ b/Mac/Tools/IDE/PyBrowser.py
@@ -5,7 +5,6 @@
 import types
 import re
 from Carbon import Qd, Icn, Fm, QuickDraw
-from Carbon.List import GetListPort
 from Carbon.QuickDraw import hilitetransfermode
 
 
@@ -211,7 +210,7 @@
 				Qd.PaintRect(rect)
 				lastpoint = (x, y)
 		Qd.PaintRect(rect)
-		Qd.PenPat(Qd.qd.black)
+		Qd.PenPat(Qd.GetQDGlobalsBlack())
 		Qd.PenNormal()
 		if newcol > 0 and newcol <> abscol:
 			self.setcolumn(newcol - l)
@@ -369,7 +368,7 @@
 	def myDrawCell(self, onlyHilite, selected, cellRect, theCell, 
 			dataOffset, dataLen, theList):
 		savedPort = Qd.GetPort()
-		Qd.SetPort(GetListPort(theList))
+		Qd.SetPort(theList.GetListPort())
 		savedClip = Qd.NewRgn()
 		Qd.GetClip(savedClip)
 		Qd.ClipRect(cellRect)
diff --git a/Mac/Tools/IDE/PyConsole.py b/Mac/Tools/IDE/PyConsole.py
index 23f301b..9a4a44b 100644
--- a/Mac/Tools/IDE/PyConsole.py
+++ b/Mac/Tools/IDE/PyConsole.py
@@ -108,8 +108,8 @@
 		self._buf = ""
 		self.ted.WEClearUndo()
 		self.updatescrollbars()
-		if Qd.QDIsPortBuffered(self._parentwindow.wid):
-			Qd.QDFlushPortBuffer(self._parentwindow.wid, None)
+		if self._parentwindow.wid.GetWindowPort().QDIsPortBuffered():
+			self._parentwindow.wid.GetWindowPort().QDFlushPortBuffer(None)
 	
 	def selection_ok(self):
 		selstart, selend = self.getselection()
@@ -300,8 +300,8 @@
 		self._buf = ""
 		self.w.outputtext.updatescrollbars()
 		self.w.outputtext.ted.WEFeatureFlag(WASTEconst.weFReadOnly, 1)
-		if Qd.QDIsPortBuffered(self.w.wid):
-			Qd.QDFlushPortBuffer(self.w.wid, None)
+		if self.w.wid.GetWindowPort().QDIsPortBuffered():
+			self.w.wid.GetWindowPort().QDFlushPortBuffer(None)
 	
 	def show(self):
 		if self.closed:
diff --git a/Mac/Tools/IDE/Splash.py b/Mac/Tools/IDE/Splash.py
index 302053f..86009d2 100644
--- a/Mac/Tools/IDE/Splash.py
+++ b/Mac/Tools/IDE/Splash.py
@@ -48,8 +48,8 @@
 	if drawdialog:
 		splash.DrawDialog()
 	drawtext(what)
-	splash.GetDialogWindow().ValidWindowRect(splash.GetDialogPort().portRect)
-	Qd.QDFlushPortBuffer(splash.GetDialogWindow().GetWindowPort(), None)
+	splash.GetDialogWindow().ValidWindowRect(splash.GetDialogPort().GetPortBounds())
+	splash.GetDialogWindow().GetWindowPort().QDFlushPortBuffer(None)
 
 def drawtext(what = 0):
 	Qd.SetPort(splash)
diff --git a/Mac/Tools/IDE/Wbase.py b/Mac/Tools/IDE/Wbase.py
index c63aa77..f988ce7 100644
--- a/Mac/Tools/IDE/Wbase.py
+++ b/Mac/Tools/IDE/Wbase.py
@@ -376,7 +376,7 @@
 
 class Frame(Widget):
 	
-	def __init__(self, possize, pattern = Qd.qd.black, color = (0, 0, 0)):
+	def __init__(self, possize, pattern = Qd.GetQDGlobalsBlack(), color = (0, 0, 0)):
 		Widget.__init__(self, possize)
 		self._framepattern = pattern
 		self._framecolor = color
@@ -570,7 +570,7 @@
 		
 		# track mouse --- XXX  move to separate method?
 		Qd.PenMode(QuickDraw.srcXor)
-		Qd.PenPat(Qd.qd.gray)
+		Qd.PenPat(Qd.GetQDGlobalsGray())
 		Qd.PaintRect(rect)
 		lastpos = None
 		while Evt.Button():
@@ -579,16 +579,16 @@
 			pos = min(pos, maxpos)
 			if pos == lastpos:
 				continue
-			Qd.PenPat(Qd.qd.gray)
+			Qd.PenPat(Qd.GetQDGlobalsGray())
 			Qd.PaintRect(rect)
 			if self._direction:
 				rect = l, pos - 1, r, pos
 			else:
 				rect = pos - 1, t, pos, b
-			Qd.PenPat(Qd.qd.gray)
+			Qd.PenPat(Qd.GetQDGlobalsGray())
 			Qd.PaintRect(rect)
 			lastpos = pos
-			Qd.QDFlushPortBuffer(self._parentwindow.wid, None)
+			self._parentwindow.wid.GetWindowPort().QDFlushPortBuffer(None)
 			Evt.WaitNextEvent(0, 3)
 		Qd.PaintRect(rect)
 		Qd.PenNormal()
@@ -643,7 +643,7 @@
 		if self._visible:
 			if not visRgn:
 				visRgn = self._parentwindow.wid.GetWindowPort().visRgn
-			Qd.PenPat(Qd.qd.gray)
+			Qd.PenPat(Qd.GetQDGlobalsGray())
 			rect = self._bounds
 			Qd.FrameRect(rect)
 			rect = Qd.InsetRect(rect, 3, 3)
@@ -700,7 +700,7 @@
 # data below.
 #_cursors = {
 #	"watch"	: Qd.GetCursor(QuickDraw.watchCursor).data,
-#	"arrow"	: Qd.qd.arrow,
+#	"arrow"	: Qd.GetQDGlobalsArrow(),
 #	"iBeam"	: Qd.GetCursor(QuickDraw.iBeamCursor).data,
 #	"cross"	: Qd.GetCursor(QuickDraw.crossCursor).data,
 #	"plus"		: Qd.GetCursor(QuickDraw.plusCursor).data,
diff --git a/Mac/Tools/IDE/Wcontrols.py b/Mac/Tools/IDE/Wcontrols.py
index ab6ae96..3d52383 100644
--- a/Mac/Tools/IDE/Wcontrols.py
+++ b/Mac/Tools/IDE/Wcontrols.py
@@ -170,7 +170,7 @@
 		# emulate the pushing of the button
 		import time
 		self._control.HiliteControl(Controls.kControlButtonPart)
-		Qd.QDFlushPortBuffer(self._parentwindow.wid, None)  # needed under OSX
+		self._parentwindow.wid.GetWindowPort().QDFlushPortBuffer(None)  # needed under OSX
 		time.sleep(0.1)
 		self._control.HiliteControl(0)
 		if self._callback:
diff --git a/Mac/Tools/IDE/Wlists.py b/Mac/Tools/IDE/Wlists.py
index 2be1a9c..4f0e49b 100644
--- a/Mac/Tools/IDE/Wlists.py
+++ b/Mac/Tools/IDE/Wlists.py
@@ -2,7 +2,7 @@
 import Wkeys
 import string
 from Carbon import Evt, Events, Fm, Lists, Qd, Scrap, Win
-from Carbon.List import LNew, CreateCustomList, GetListPort
+from Carbon.List import LNew, CreateCustomList
 from Carbon.Lists import kListDefUserProcType, lInitMsg, lDrawMsg, lHiliteMsg, lCloseMsg
 from Carbon.QuickDraw import hilitetransfermode
 from Carbon import App
@@ -435,7 +435,7 @@
 	def listDefDraw(self, selected, cellRect, theCell,
 			dataOffset, dataLen, theList):
 		savedPort = Qd.GetPort()
-		Qd.SetPort(GetListPort(theList))
+		Qd.SetPort(theList.GetListPort())
 		savedClip = Qd.NewRgn()
 		Qd.GetClip(savedClip)
 		Qd.ClipRect(cellRect)
@@ -477,7 +477,7 @@
 	def listDefHighlight(self, selected, cellRect, theCell,
 			dataOffset, dataLen, theList):
 		savedPort = Qd.GetPort()
-		Qd.SetPort(GetListPort(theList))
+		Qd.SetPort(theList.GetListPort())
 		savedClip = Qd.NewRgn()
 		Qd.GetClip(savedClip)
 		Qd.ClipRect(cellRect)
diff --git a/Mac/Tools/IDE/Wtext.py b/Mac/Tools/IDE/Wtext.py
index 86c79c3..d611c73 100644
--- a/Mac/Tools/IDE/Wtext.py
+++ b/Mac/Tools/IDE/Wtext.py
@@ -965,7 +965,7 @@
 					if autoscroll:
 						self.ted.WEFeatureFlag(WASTEconst.weFAutoScroll, 0)
 					self.ted.WESetSelection(count, count + 1)
-					Qd.QDFlushPortBuffer(self._parentwindow.wid, None)  # needed under OSX
+					self._parentwindow.wid.GetWindowPort().QDFlushPortBuffer(None)  # needed under OSX
 					time.sleep(0.2)
 					self.ted.WESetSelection(selstart, selend)
 					if autoscroll:
@@ -1042,7 +1042,7 @@
 		breakrect = bl, bt, br, bb = self._getbreakrect()
 		br = br - 1
 		self.SetPort()
-		Qd.PenPat(Qd.qd.gray)
+		Qd.PenPat(Qd.GetQDGlobalsGray())
 		Qd.PaintRect((br, bt, br + 1, bb))
 		Qd.PenNormal()
 		self._parentwindow.tempcliprect(breakrect)
@@ -1123,7 +1123,7 @@
 GetFName = Fm.GetFontName
 
 def GetPortFontSettings(port):
-	return Fm.GetFontName(port.txFont), port.txFace, port.txSize
+	return Fm.GetFontName(port.GetPortTextFont()), port.GetPortTextFace(), port.GetPortTextSize()
 
 def SetPortFontSettings(port, (font, face, size)):
 	saveport = Qd.GetPort()
diff --git a/Mac/Tools/IDE/Wwindows.py b/Mac/Tools/IDE/Wwindows.py
index ffab76c..d646bcf 100644
--- a/Mac/Tools/IDE/Wwindows.py
+++ b/Mac/Tools/IDE/Wwindows.py
@@ -270,7 +270,7 @@
 			self._collectselectablewidgets(w._widgets)
 	
 	def _calcbounds(self):
-		self._possize = self.wid.GetWindowPort().portRect[2:]
+		self._possize = self.wid.GetWindowPort().GetPortBounds()[2:]
 		w, h = self._possize
 		self._bounds = (0, 0, w, h)
 		self.wid.GetWindowContentRgn(scratchRegion)
@@ -387,7 +387,7 @@
 		del self.saveclip[-1]
 	
 	def getgrowrect(self):
-		l, t, r, b = self.wid.GetWindowPort().portRect
+		l, t, r, b = self.wid.GetWindowPort().GetPortBounds()
 		return (r - 15, b - 15, r, b)
 	
 	def has_key(self, key):
@@ -423,7 +423,7 @@
 		return 0
 	
 	def getwindowbounds(self, size, minsize = None):
-		screenbounds = sl, st, sr, sb = Qd.qd.screenBits.bounds
+		screenbounds = sl, st, sr, sb = Qd.GetQDGlobalsScreenBits().bounds
 		w, h = size
 		l = sl + (sr - sl - w) / 2
 		t = st + (sb - st - h) / 3
@@ -615,7 +615,7 @@
 	minwidth, minheight = minsize
 	width, height = preferredsize
 	
-	sl, st, sr, sb = screenbounds = Qd.InsetRect(Qd.qd.screenBits.bounds, 4, 4)
+	sl, st, sr, sb = screenbounds = Qd.InsetRect(Qd.GetQDGlobalsScreenBits().bounds, 4, 4)
 	l, t = getnextwindowpos()
 	if (l + width) > sr:
 		_windowcounter = 0