Title: [89248] trunk/Source/WebCore
- Revision
- 89248
- Author
- [email protected]
- Date
- 2011-06-20 08:50:29 -0700 (Mon, 20 Jun 2011)
Log Message
2011-06-19 Martin Robinson <[email protected]>
Reviewed by Xan Lopez.
[GTK] ASSERTION FAILED: it != gFontDataCache->end() in FontCache.cpp:318
https://bugs.webkit.org/show_bug.cgi?id=62942
Fix the == operator overload of the FreeType FontPlatformData to properly make the
distinction between the hash table deleted value and the hash table empty value.
No new tests. This is covered by existing tests, which should no longer
hit assertions.
* platform/graphics/freetype/FontPlatformDataFreeType.cpp:
(WebCore::FontPlatformData::operator==): Reorder the logic for determining if two
FontPlatformData instances are equal. Do a pointer comparison on the Fontconfig patterns,
instead of using FcPatternEqual. If the two Fontconfig patterns have different pointers
they were created at different times and the overload should return false.
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (89247 => 89248)
--- trunk/Source/WebCore/ChangeLog 2011-06-20 15:03:20 UTC (rev 89247)
+++ trunk/Source/WebCore/ChangeLog 2011-06-20 15:50:29 UTC (rev 89248)
@@ -1,3 +1,22 @@
+2011-06-19 Martin Robinson <[email protected]>
+
+ Reviewed by Xan Lopez.
+
+ [GTK] ASSERTION FAILED: it != gFontDataCache->end() in FontCache.cpp:318
+ https://bugs.webkit.org/show_bug.cgi?id=62942
+
+ Fix the == operator overload of the FreeType FontPlatformData to properly make the
+ distinction between the hash table deleted value and the hash table empty value.
+
+ No new tests. This is covered by existing tests, which should no longer
+ hit assertions.
+
+ * platform/graphics/freetype/FontPlatformDataFreeType.cpp:
+ (WebCore::FontPlatformData::operator==): Reorder the logic for determining if two
+ FontPlatformData instances are equal. Do a pointer comparison on the Fontconfig patterns,
+ instead of using FcPatternEqual. If the two Fontconfig patterns have different pointers
+ they were created at different times and the overload should return false.
+
2011-06-20 Ilya Tikhonovsky <[email protected]>
Reviewed by Yury Semikhatsky.
Modified: trunk/Source/WebCore/platform/graphics/freetype/FontPlatformDataFreeType.cpp (89247 => 89248)
--- trunk/Source/WebCore/platform/graphics/freetype/FontPlatformDataFreeType.cpp 2011-06-20 15:03:20 UTC (rev 89247)
+++ trunk/Source/WebCore/platform/graphics/freetype/FontPlatformDataFreeType.cpp 2011-06-20 15:50:29 UTC (rev 89248)
@@ -228,13 +228,12 @@
bool FontPlatformData::operator==(const FontPlatformData& other) const
{
- if (m_pattern == other.m_pattern)
- return true;
- if (!m_pattern || !other.m_pattern)
- return false;
- return FcPatternEqual(m_pattern.get(), other.m_pattern.get())
- && m_scaledFont == other.m_scaledFont && m_font == other.m_font && m_size == other.m_size
- && m_syntheticOblique == other.m_syntheticOblique && m_syntheticBold == other.m_syntheticBold;
+ return m_pattern == other.m_pattern
+ && m_scaledFont == other.m_scaledFont
+ && m_font == other.m_font
+ && m_size == other.m_size
+ && m_syntheticOblique == other.m_syntheticOblique
+ && m_syntheticBold == other.m_syntheticBold;
}
#ifndef NDEBUG
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes