This should go into a bug. Simon
On Jun 26, 2011, at 4:12 PM, Brent Fulgham wrote: > While investigating a separate issue, I noticed that I was hitting an > assertion in the Cairo drawing layer because it was attempting to use an > invalid HBITMAP created in the WebNodeHighlight::update method. The > underlying issue was that the CreateDIBSection function was failing, because > it was being requested to create a section of zero height. > > I think the following change would be safe for the CoreGraphics and Cairo > ports, but wanted to see if anyone knew of a reason why it would be bad to > exit early in the case of a zero height (or zero width) paint region. > > $ svn diff > Index: win/WebNodeHighlight.cpp > =================================================================== > --- win/WebNodeHighlight.cpp (revision 89759) > +++ win/WebNodeHighlight.cpp (working copy) > @@ -145,10 +145,14 @@ > size.cx = webViewRect.right - webViewRect.left; > size.cy = webViewRect.bottom - webViewRect.top; > > + if (!size.cx || !size.cy) > + return; > + > BitmapInfo bitmapInfo = BitmapInfo::createBottomUp(IntSize(size)); > > void* pixels = 0; > OwnPtr<HBITMAP> hbmp = adoptPtr(::CreateDIBSection(hdc, &bitmapInfo, > DIB_RG > B_COLORS, &pixels, 0, 0)); > + ASSERT_WITH_MESSAGE(hbmp.get(), "::CreateDIBSection failed with error > %lu", > ::GetLastError()); > > ::SelectObject(hdc, hbmp.get()); > > Thanks, > > -Brent > > _______________________________________________ > webkit-dev mailing list > webkit-dev@lists.webkit.org > http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev _______________________________________________ webkit-dev mailing list webkit-dev@lists.webkit.org http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev