]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/fontcmn.cpp
applied patch 432814: saving BMP in 1, 4 and 8 bpp
[wxWidgets.git] / src / common / fontcmn.cpp
index e973ffbc0d0924395040bc25efbdca8402298fb7..4176be9b544094ed7313fdbc4693a99b220af300 100644 (file)
@@ -104,6 +104,8 @@ void wxFontBase::SetNativeFontInfo(const wxNativeFontInfo& info)
     SetUnderlined(info.underlined);
     SetFaceName(info.faceName);
     SetEncoding(info.encoding);
     SetUnderlined(info.underlined);
     SetFaceName(info.faceName);
     SetEncoding(info.encoding);
+#else
+    (void)info;
 #endif
 }
 
 #endif
 }
 
@@ -128,15 +130,25 @@ wxFont& wxFont::operator=(const wxFont& font)
     return (wxFont &)*this;
 }
 
     return (wxFont &)*this;
 }
 
-// VZ: is it correct to compare pointers and not the contents? (FIXME)
 bool wxFontBase::operator==(const wxFont& font) const
 {
 bool wxFontBase::operator==(const wxFont& font) const
 {
-    return GetFontData() == font.GetFontData();
+    // either it is the same font, i.e. they share the same common data or they
+    // have different ref datas but still describe the same font
+    return GetFontData() == font.GetFontData() ||
+           (
+            Ok() == font.Ok() &&
+            GetPointSize() == font.GetPointSize() &&
+            GetFamily() == font.GetFamily() &&
+            GetStyle() == font.GetStyle() &&
+            GetUnderlined() == font.GetUnderlined() &&
+            GetFaceName() == font.GetFaceName() &&
+            GetEncoding() == font.GetEncoding()
+           );
 }
 
 bool wxFontBase::operator!=(const wxFont& font) const
 {
 }
 
 bool wxFontBase::operator!=(const wxFont& font) const
 {
-    return GetFontData() != font.GetFontData();
+    return !(*this == font);
 }
 
 wxString wxFontBase::GetFamilyString() const
 }
 
 wxString wxFontBase::GetFamilyString() const
@@ -202,7 +214,7 @@ bool wxNativeFontInfo::FromString(const wxString& s)
     //
     //  Ignore the version for now
     //
     //
     //  Ignore the version for now
     //
-    
+
     token = tokenizer.GetNextToken();
     if ( !token.ToLong(&l) )
         return FALSE;
     token = tokenizer.GetNextToken();
     if ( !token.ToLong(&l) )
         return FALSE;