*** empty log message ***
diff --git a/Lib/stdwin/Buttons.py b/Lib/stdwin/Buttons.py
index b864c56..d991c96 100755
--- a/Lib/stdwin/Buttons.py
+++ b/Lib/stdwin/Buttons.py
@@ -54,12 +54,9 @@
 			self.redraw()
 	#
 	def setbounds(self, bounds):
-		if self.bounds <> _rect.empty:
-			self.parent.change(self.bounds)
 		self.bounds = bounds
 		if self.bounds <> _rect.empty:
 			self.recalc()
-			self.parent.change(bounds)
 	#
 	def realize(self):
 		pass
@@ -109,14 +106,15 @@
 	#
 	def redraw(self):
 		if self.bounds <> _rect.empty:
-			self.draw(self.parent.begindrawing(), self.bounds)
+			d = self.parent.begindrawing()
+			d.erase(self.bounds)
+			self.draw(d, self.bounds)
 	#
 	def draw(self, (d, area)):
 		area = _rect.intersect(area, self.bounds)
 		if area = _rect.empty:
 			return
 		d.cliprect(area)
-		d.erase(self.bounds)
 		self.drawit(d)
 		d.noclip()
 	#
@@ -203,11 +201,10 @@
 	def drawpict(self, d):
 		(left, top), (right, bottom) = self.boxbounds
 		radius = self.size / 2
-		h, v = left + radius, top + radius
-		d.circle((h, v), radius)
+		center = left + radius, top + radius
+		d.circle(center, radius)
 		if self.selected:
-			some = radius/3
-			d.paint((h-some, v-some), (h+some, v+some))
+			d.fillcircle(center, radius*3/5)
 	#