[Webkit-unassigned] [Bug 51647] chrome.dll!WebCore::RenderBox::paintBoxDecorationsWithSize ReadAV at NULL (214b527fa4dab86d8d344b0220263689)
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Tue Dec 28 06:58:25 PST 2010
https://bugs.webkit.org/show_bug.cgi?id=51647
--- Comment #2 from SkyLined <skylined at chromium.org> 2010-12-28 06:58:25 PST ---
http://trac.webkit.org/browser/trunk/WebCore/rendering/RenderBox.cpp#L814
797 void RenderBox::paintBoxDecorationsWithSize(PaintInfo& paintInfo, int tx, int ty, int width, int height)
798 {
799 // border-fit can adjust where we paint our border and background. If set, we snugly fit our line box descendants. (The iChat
800 // balloon layout is an example of this).
801 borderFitAdjust(tx, width);
802
803 // FIXME: Should eventually give the theme control over whether the box shadow should paint, since controls could have
804 // custom shadows of their own.
805 paintBoxShadow(paintInfo.context, tx, ty, width, height, style(), Normal);
806
807 // If we have a native theme appearance, paint that before painting our background.
808 // The theme will tell us whether or not we should also paint the CSS background.
809 bool themePainted = style()->hasAppearance() && !theme()->paint(this, paintInfo, IntRect(tx, ty, width, height));
810 if (!themePainted) {
811 // The <body> only paints its background if the root element has defined a background
812 // independent of the body. Go through the DOM to get to the root element's render object,
813 // since the root could be inline and wrapped in an anonymous block.
814 if (!isBody() || document()->documentElement()->renderer()->hasBackground())
815 paintFillLayers(paintInfo, style()->visitedDependentColor(CSSPropertyBackgroundColor), style()->backgroundLayers(), tx, ty, width, height);
816 if (style()->hasAppearance())
817 theme()->paintDecorations(this, paintInfo, IntRect(tx, ty, width, height));
818 }
819 paintBoxShadow(paintInfo.context, tx, ty, width, height, style(), Inset);
820
821 // The theme will tell us whether or not we should also paint the CSS border.
822 if ((!style()->hasAppearance() || (!themePainted && theme()->paintBorderOnly(this, paintInfo, IntRect(tx, ty, width, height)))) && style()->hasBorder())
823 paintBorder(paintInfo.context, tx, ty, width, height, style());
824 }
"document()->documentElement()->renderer()" returns NULL, so "(NULL)->hasBackground()" causes a NULL deref.
chrome_639d0000!WebCore::RenderBox::paintBoxDecorationsWithSize+0x9a [c:\b\build\slave\win\build\src\third_party\webkit\webcore\rendering\renderbox.cpp @ 814]:
6431292a 3400 xor al,0
6431292c e8af6ff8ff call chrome_639d0000!WebCore::RenderObject::isBody (642998e0)
64312931 84c0 test al,al
64312933 7431 je chrome_639d0000!WebCore::RenderBox::paintBoxDecorationsWithSize+0xd6 (64312966)
64312935 8b4e08 mov ecx,dword ptr [esi+8]
64312938 8b4914 mov ecx,dword ptr [ecx+14h]
6431293b 83b98c02000000 cmp dword ptr [ecx+28Ch],0
64312942 894c242c mov dword ptr [esp+2Ch],ecx
64312946 7509 jne chrome_639d0000!WebCore::RenderBox::paintBoxDecorationsWithSize+0xc1 (64312951)
64312948 e833acf3ff call chrome_639d0000!WebCore::Document::cacheDocumentElement (6424d580)
6431294d 8b4c242c mov ecx,dword ptr [esp+2Ch]
64312951 8b918c020000 mov edx,dword ptr [ecx+28Ch]
64312957 8b4220 mov eax,dword ptr [edx+20h]
chrome_639d0000!WebCore::RenderBox::paintBoxDecorationsWithSize+0xca [c:\b\build\slave\win\build\src\third_party\webkit\webcore\rendering\renderbox.cpp @ 814]:
eax=00000000 ebx=0037e9c8 ecx=0187e900
edx=0412fec0 esi=00ab82f8 edi=00000299
eip=6431295a esp=0037e8f4 ebp=00000008
6431295a 8b4804 mov ecx,dword ptr [eax+4]
6431295d e80e8efbff call chrome_639d0000!WebCore::RenderStyle::hasBackground (642cb770)
64312962 84c0 test al,al
64312964 7432 je chrome_639d0000!WebCore::RenderBox::paintBoxDecorationsWithSize+0x108 (64312998)
64312966 8b542430 mov edx,dword ptr [esp+30h]
6431296a 8b4e04 mov ecx,dword ptr [esi+4]
6431296d 8b4114 mov eax,dword ptr [ecx+14h]
64312970 6a00 push 0
64312972 6a02 push 2
64312974 57 push edi
64312975 52 push edx
64312976 8b542438 mov edx,dword ptr [esp+38h]
6431297a 55 push ebp
6431297b 52 push edx
6431297c 83c004 add eax,4
6431297f 50 push eax
64312980 68fb030000 push 3FBh
64312985 8d442430 lea eax,[esp+30h]
64312989 50 push eax
--
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
More information about the webkit-unassigned
mailing list