Index: Headers/Foundation/NSGeometry.h
===================================================================
--- Headers/Foundation/NSGeometry.h	(revision 27953)
+++ Headers/Foundation/NSGeometry.h	(working copy)
@@ -29,6 +29,7 @@
 #import <objc/objc.h>
 
 #import <Foundation/NSString.h>
+#include <math.h>
 
 #if	defined(__cplusplus)
 extern "C" {
@@ -430,10 +431,12 @@
 GS_GEOM_SCOPE BOOL
 NSEqualRects(NSRect aRect, NSRect bRect)
 {
-  return ((NSMinX(aRect) == NSMinX(bRect))
-          && (NSMinY(aRect) == NSMinY(bRect))
-          && (NSWidth(aRect) == NSWidth(bRect))
-          && (NSHeight(aRect) == NSHeight(bRect))) ? YES : NO;
+  return ((fabs(NSMinX(aRect) - NSMinX(bRect)) < 0.0001)
+	  && (fabs(NSMinY(aRect) - NSMinY(bRect)) < 0.0001)
+	  && (fabs(NSWidth(aRect) - NSWidth(bRect)) < 0.0001)
+  	  && (fabs(NSHeight(aRect) - NSHeight(bRect)) < 0.0001))
+         ? YES
+	 : NO;
 }
 
 GS_GEOM_SCOPE BOOL
Index: ChangeLog
===================================================================
--- ChangeLog	(revision 27953)
+++ ChangeLog	(working copy)
@@ -1,3 +1,8 @@
+2009-02-22  Matt Rice  <ratmice@gmail.com>
+
+	* Headers/Foundation/NSGeometry.h: Don't compare floats
+	exactly.
+
 2009-02-22  Richard Frith-Macdonald <rfm@gnu.org>
 
 	* Source/NSUnarchiver.m:
