|
|
Created:
14 years, 11 months ago by Andrew Bonventre Modified:
11 years, 4 months ago CC:
skia-review_googlegroups.com Base URL:
http://skia.googlecode.com/svn/trunk/src/ Visibility:
Public. |
DescriptionRemoves check for empty devPath since it was causing an assertion failure on Mac OS X when drawing small fonts within the browser action badges.
BUG=none
TEST=none
Patch Set 1 #
MessagesTotal messages: 13
Sign in to reply to this message.
[+Mike]
Sign in to reply to this message.
FYI I'd be more than happy to get on the phone with someone in order to try and figure out why the assert is failing just on Mac so that we can fix the core issue (if the problem is not the assert). I'm simply too unfamiliar with the code to not need a bit of outside help. Cheers, A On Tue, Dec 1, 2009 at 6:05 PM, <agl@chromium.org> wrote: > [+Mike] > > http://codereview.appspot.com/163056 >
Sign in to reply to this message.
Landed as r450. Rolling DEPS now. Since it's a tiny change I'm ok letting Mike review after the fact.
Sign in to reply to this message.
What is the assert that is firing? The empty check makes sense to me. On 2009/12/02 22:26:36, agl wrote: > Landed as r450. Rolling DEPS now. Since it's a tiny change I'm ok letting Mike > review after the fact.
Sign in to reply to this message.
On Fri, Dec 4, 2009 at 6:53 AM, <reed@android.com> wrote: > What is the assert that is firing? The empty check makes sense to me. Hopefully andybons can give a better answer, but it appeared that, at small sizes, a period was less than < 0.5pixels in each dimension and was getting rounded to zero. AGL
Sign in to reply to this message.
Hmm. roundOut() is supposed to floor the left/top and ceil the right/bottom, so any non-zero size should have been detected. andybons? On Fri, Dec 4, 2009 at 1:20 PM, Adam Langley <agl@chromium.org> wrote: > On Fri, Dec 4, 2009 at 6:53 AM, <reed@android.com> wrote: >> What is the assert that is firing? The empty check makes sense to me. > > Hopefully andybons can give a better answer, but it appeared that, at > small sizes, a period was less than < 0.5pixels in each dimension and > was getting rounded to zero. > > > AGL >
Sign in to reply to this message.
Let me look into it a bit more so I can give you a more in-depth explanation. Tracking down another bug at the moment... Stay tuned. On Fri, Dec 4, 2009 at 2:21 PM, Mike Reed <reed@android.com> wrote: > Hmm. roundOut() is supposed to floor the left/top and ceil the > right/bottom, so any non-zero size should have been detected. > andybons? > > On Fri, Dec 4, 2009 at 1:20 PM, Adam Langley <agl@chromium.org> wrote: >> On Fri, Dec 4, 2009 at 6:53 AM, <reed@android.com> wrote: >>> What is the assert that is firing? The empty check makes sense to me. >> >> Hopefully andybons can give a better answer, but it appeared that, at >> small sizes, a period was less than < 0.5pixels in each dimension and >> was getting rounded to zero. >> >> >> AGL >> >
Sign in to reply to this message.
If you revert the change and try installing the GMail checker extension (http://code.google.com/chrome/extensions/samples.html) on a Mac, the isEmpty() function evals to true and therefore the mask of the glyph never gets set on line 332 of core/SkScalerContext.cpp. This causes the SkASSERT(glyph->isFullMetrics()); to fail when we attempt to grab the glyph's metrics in SkGlyphCache.cpp. If you don't have easy access to a mac dev build, I'm happy to give more information over the phone. As of right now, though, it's simply too difficult given my lack of knowledge of this code plus my workload to do it via email in any sort of depth unless you have an easy answer :). I do want to get this fixed and understand why it's breaking, though, because a wallpaper patch like this probably will come up and bite us in the ass at a later date. Cheers, A On Fri, Dec 4, 2009 at 3:32 PM, Andrew Bonventre (Bons) <andybons@google.com> wrote: > Let me look into it a bit more so I can give you a more in-depth > explanation. Tracking down another bug at the moment... > > Stay tuned. > > On Fri, Dec 4, 2009 at 2:21 PM, Mike Reed <reed@android.com> wrote: >> Hmm. roundOut() is supposed to floor the left/top and ceil the >> right/bottom, so any non-zero size should have been detected. >> andybons? >> >> On Fri, Dec 4, 2009 at 1:20 PM, Adam Langley <agl@chromium.org> wrote: >>> On Fri, Dec 4, 2009 at 6:53 AM, <reed@android.com> wrote: >>>> What is the assert that is firing? The empty check makes sense to me. >>> >>> Hopefully andybons can give a better answer, but it appeared that, at >>> small sizes, a period was less than < 0.5pixels in each dimension and >>> was getting rounded to zero. >>> >>> >>> AGL >>> >> >
Sign in to reply to this message.
Can you try this version? It sets the fMaskFormat to a valid value, as it should even in the case of an error. I think this will fix the assert you were seeing, but still allow us to keep the isEmpty() check. On Sun, Dec 6, 2009 at 2:50 PM, Andrew Bonventre (Bons) <andybons@google.com> wrote: > If you revert the change and try installing the GMail checker > extension (http://code.google.com/chrome/extensions/samples.html) on a > Mac, the isEmpty() function evals to true and therefore the mask of > the glyph never gets set on line 332 of core/SkScalerContext.cpp. This > causes the SkASSERT(glyph->isFullMetrics()); to fail when we attempt > to grab the glyph's metrics in SkGlyphCache.cpp. > > If you don't have easy access to a mac dev build, I'm happy to give > more information over the phone. As of right now, though, it's simply > too difficult given my lack of knowledge of this code plus my workload > to do it via email in any sort of depth unless you have an easy answer > :). I do want to get this fixed and understand why it's breaking, > though, because a wallpaper patch like this probably will come up and > bite us in the ass at a later date. > > Cheers, > A > > On Fri, Dec 4, 2009 at 3:32 PM, Andrew Bonventre (Bons) > <andybons@google.com> wrote: >> Let me look into it a bit more so I can give you a more in-depth >> explanation. Tracking down another bug at the moment... >> >> Stay tuned. >> >> On Fri, Dec 4, 2009 at 2:21 PM, Mike Reed <reed@android.com> wrote: >>> Hmm. roundOut() is supposed to floor the left/top and ceil the >>> right/bottom, so any non-zero size should have been detected. >>> andybons? >>> >>> On Fri, Dec 4, 2009 at 1:20 PM, Adam Langley <agl@chromium.org> wrote: >>>> On Fri, Dec 4, 2009 at 6:53 AM, <reed@android.com> wrote: >>>>> What is the assert that is firing? The empty check makes sense to me. >>>> >>>> Hopefully andybons can give a better answer, but it appeared that, at >>>> small sizes, a period was less than < 0.5pixels in each dimension and >>>> was getting rounded to zero. >>>> >>>> >>>> AGL >>>> >>> >> >
Sign in to reply to this message.
Yup. Works great :). On Tue, Dec 8, 2009 at 9:08 AM, Mike Reed <reed@android.com> wrote: > Can you try this version? It sets the fMaskFormat to a valid value, as > it should even in the case of an error. I think this will fix the > assert you were seeing, but still allow us to keep the isEmpty() > check. > > On Sun, Dec 6, 2009 at 2:50 PM, Andrew Bonventre (Bons) > <andybons@google.com> wrote: >> If you revert the change and try installing the GMail checker >> extension (http://code.google.com/chrome/extensions/samples.html) on a >> Mac, the isEmpty() function evals to true and therefore the mask of >> the glyph never gets set on line 332 of core/SkScalerContext.cpp. This >> causes the SkASSERT(glyph->isFullMetrics()); to fail when we attempt >> to grab the glyph's metrics in SkGlyphCache.cpp. >> >> If you don't have easy access to a mac dev build, I'm happy to give >> more information over the phone. As of right now, though, it's simply >> too difficult given my lack of knowledge of this code plus my workload >> to do it via email in any sort of depth unless you have an easy answer >> :). I do want to get this fixed and understand why it's breaking, >> though, because a wallpaper patch like this probably will come up and >> bite us in the ass at a later date. >> >> Cheers, >> A >> >> On Fri, Dec 4, 2009 at 3:32 PM, Andrew Bonventre (Bons) >> <andybons@google.com> wrote: >>> Let me look into it a bit more so I can give you a more in-depth >>> explanation. Tracking down another bug at the moment... >>> >>> Stay tuned. >>> >>> On Fri, Dec 4, 2009 at 2:21 PM, Mike Reed <reed@android.com> wrote: >>>> Hmm. roundOut() is supposed to floor the left/top and ceil the >>>> right/bottom, so any non-zero size should have been detected. >>>> andybons? >>>> >>>> On Fri, Dec 4, 2009 at 1:20 PM, Adam Langley <agl@chromium.org> wrote: >>>>> On Fri, Dec 4, 2009 at 6:53 AM, <reed@android.com> wrote: >>>>>> What is the assert that is firing? The empty check makes sense to me. >>>>> >>>>> Hopefully andybons can give a better answer, but it appeared that, at >>>>> small sizes, a period was less than < 0.5pixels in each dimension and >>>>> was getting rounded to zero. >>>>> >>>>> >>>>> AGL >>>>> >>>> >>> >> >
Sign in to reply to this message.
Thanks. I'll check that into the trunk. On Tue, Dec 8, 2009 at 2:22 PM, Andrew Bonventre (Bons) <andybons@google.com> wrote: > Yup. Works great :). > > On Tue, Dec 8, 2009 at 9:08 AM, Mike Reed <reed@android.com> wrote: >> Can you try this version? It sets the fMaskFormat to a valid value, as >> it should even in the case of an error. I think this will fix the >> assert you were seeing, but still allow us to keep the isEmpty() >> check. >> >> On Sun, Dec 6, 2009 at 2:50 PM, Andrew Bonventre (Bons) >> <andybons@google.com> wrote: >>> If you revert the change and try installing the GMail checker >>> extension (http://code.google.com/chrome/extensions/samples.html) on a >>> Mac, the isEmpty() function evals to true and therefore the mask of >>> the glyph never gets set on line 332 of core/SkScalerContext.cpp. This >>> causes the SkASSERT(glyph->isFullMetrics()); to fail when we attempt >>> to grab the glyph's metrics in SkGlyphCache.cpp. >>> >>> If you don't have easy access to a mac dev build, I'm happy to give >>> more information over the phone. As of right now, though, it's simply >>> too difficult given my lack of knowledge of this code plus my workload >>> to do it via email in any sort of depth unless you have an easy answer >>> :). I do want to get this fixed and understand why it's breaking, >>> though, because a wallpaper patch like this probably will come up and >>> bite us in the ass at a later date. >>> >>> Cheers, >>> A >>> >>> On Fri, Dec 4, 2009 at 3:32 PM, Andrew Bonventre (Bons) >>> <andybons@google.com> wrote: >>>> Let me look into it a bit more so I can give you a more in-depth >>>> explanation. Tracking down another bug at the moment... >>>> >>>> Stay tuned. >>>> >>>> On Fri, Dec 4, 2009 at 2:21 PM, Mike Reed <reed@android.com> wrote: >>>>> Hmm. roundOut() is supposed to floor the left/top and ceil the >>>>> right/bottom, so any non-zero size should have been detected. >>>>> andybons? >>>>> >>>>> On Fri, Dec 4, 2009 at 1:20 PM, Adam Langley <agl@chromium.org> wrote: >>>>>> On Fri, Dec 4, 2009 at 6:53 AM, <reed@android.com> wrote: >>>>>>> What is the assert that is firing? The empty check makes sense to me. >>>>>> >>>>>> Hopefully andybons can give a better answer, but it appeared that, at >>>>>> small sizes, a period was less than < 0.5pixels in each dimension and >>>>>> was getting rounded to zero. >>>>>> >>>>>> >>>>>> AGL >>>>>> >>>>> >>>> >>> >> >
Sign in to reply to this message.
Awesome. Thanks, Mike. On Tue, Dec 8, 2009 at 5:00 PM, Mike Reed <reed@android.com> wrote: > Thanks. I'll check that into the trunk. > > On Tue, Dec 8, 2009 at 2:22 PM, Andrew Bonventre (Bons) > <andybons@google.com> wrote: >> Yup. Works great :). >> >> On Tue, Dec 8, 2009 at 9:08 AM, Mike Reed <reed@android.com> wrote: >>> Can you try this version? It sets the fMaskFormat to a valid value, as >>> it should even in the case of an error. I think this will fix the >>> assert you were seeing, but still allow us to keep the isEmpty() >>> check. >>> >>> On Sun, Dec 6, 2009 at 2:50 PM, Andrew Bonventre (Bons) >>> <andybons@google.com> wrote: >>>> If you revert the change and try installing the GMail checker >>>> extension (http://code.google.com/chrome/extensions/samples.html) on a >>>> Mac, the isEmpty() function evals to true and therefore the mask of >>>> the glyph never gets set on line 332 of core/SkScalerContext.cpp. This >>>> causes the SkASSERT(glyph->isFullMetrics()); to fail when we attempt >>>> to grab the glyph's metrics in SkGlyphCache.cpp. >>>> >>>> If you don't have easy access to a mac dev build, I'm happy to give >>>> more information over the phone. As of right now, though, it's simply >>>> too difficult given my lack of knowledge of this code plus my workload >>>> to do it via email in any sort of depth unless you have an easy answer >>>> :). I do want to get this fixed and understand why it's breaking, >>>> though, because a wallpaper patch like this probably will come up and >>>> bite us in the ass at a later date. >>>> >>>> Cheers, >>>> A >>>> >>>> On Fri, Dec 4, 2009 at 3:32 PM, Andrew Bonventre (Bons) >>>> <andybons@google.com> wrote: >>>>> Let me look into it a bit more so I can give you a more in-depth >>>>> explanation. Tracking down another bug at the moment... >>>>> >>>>> Stay tuned. >>>>> >>>>> On Fri, Dec 4, 2009 at 2:21 PM, Mike Reed <reed@android.com> wrote: >>>>>> Hmm. roundOut() is supposed to floor the left/top and ceil the >>>>>> right/bottom, so any non-zero size should have been detected. >>>>>> andybons? >>>>>> >>>>>> On Fri, Dec 4, 2009 at 1:20 PM, Adam Langley <agl@chromium.org> wrote: >>>>>>> On Fri, Dec 4, 2009 at 6:53 AM, <reed@android.com> wrote: >>>>>>>> What is the assert that is firing? The empty check makes sense to me. >>>>>>> >>>>>>> Hopefully andybons can give a better answer, but it appeared that, at >>>>>>> small sizes, a period was less than < 0.5pixels in each dimension and >>>>>>> was getting rounded to zero. >>>>>>> >>>>>>> >>>>>>> AGL >>>>>>> >>>>>> >>>>> >>>> >>> >> >
Sign in to reply to this message.
|