OSDN Git Service

Add defensive code for crash in FontPlatformData
authorRussell Brenner <russellbrenner@google.com>
Wed, 23 Mar 2011 21:36:13 +0000 (14:36 -0700)
committerRussell Brenner <russellbrenner@google.com>
Thu, 24 Mar 2011 00:06:37 +0000 (17:06 -0700)
commitdd816e39169b0fd3390257c1b43fb96f9b87577b
tree12177a604612f591eeb8da34364c5a0cc14576de
parent9ae96f817b1e51451a4e20bb1a1ceb225ba2d9e5
Add defensive code for crash in FontPlatformData

bug: 4163318
In FontPlatformData, both 0 and -1 are used as special values for
mTypeface. Skia has checks to handle null typefaces, but -1 is a
special value (hashTableDeletedFontValue) unique to FontPlatformData.
The constructors and operators appear to have the necessary guards,
but setupPaint(), uniqueID(), and isFixedPitch() needed some touchup
to better handle 0 or -1.

There's still the question of whether or not it's appropriate to be
calling any of those functions with the typeface set to 0 or -1, so
these changes may simply be deflecting the underlying problem, but
these changes should guard against the immediate failure.

Change-Id: Ib68a64ba6d4eeffbd502f29b68074e38c511a746
WebCore/platform/graphics/android/FontPlatformDataAndroid.cpp