Changeset 63579 in webkit
- Timestamp:
- Jul 16, 2010, 2:01:01 PM (15 years ago)
- Location:
- trunk/WebCore
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/WebCore/ChangeLog
r63578 r63579 1 2010-07-16 Dan Bernstein <mitz@apple.com> 2 3 Reviewed by Simon Fraser. 4 5 <rdar://problem/7527532> Crash beneath setSelection() during detach() 6 https://bugs.webkit.org/show_bug.cgi?id=42020 7 8 No test because I am unable to reproduce the crash. 9 10 * rendering/RenderView.cpp: 11 (WebCore::RenderView::setSelection): In the clearSelection() case, where the repaint mode is 12 RepaintNewMinusOld, avoid making RenderBlockSelectionInfo instances, and thereby avoid calling 13 localToAbsolute() during detach(). 14 1 15 2010-07-16 Anders Carlsson <andersca@apple.com> 2 16 -
trunk/WebCore/rendering/RenderView.cpp
r62693 r63579 419 419 // Blocks are responsible for painting line gaps and margin gaps. They must be examined as well. 420 420 oldSelectedObjects.set(os, new RenderSelectionInfo(os, true)); 421 RenderBlock* cb = os->containingBlock(); 422 while (cb && !cb->isRenderView()) { 423 RenderBlockSelectionInfo* blockInfo = oldSelectedBlocks.get(cb); 424 if (blockInfo) 425 break; 426 oldSelectedBlocks.set(cb, new RenderBlockSelectionInfo(cb)); 427 cb = cb->containingBlock(); 421 if (blockRepaintMode == RepaintNewXOROld) { 422 RenderBlock* cb = os->containingBlock(); 423 while (cb && !cb->isRenderView()) { 424 RenderBlockSelectionInfo* blockInfo = oldSelectedBlocks.get(cb); 425 if (blockInfo) 426 break; 427 oldSelectedBlocks.set(cb, new RenderBlockSelectionInfo(cb)); 428 cb = cb->containingBlock(); 429 } 428 430 } 429 431 } … … 528 530 RenderBlockSelectionInfo* oldInfo = i->second; 529 531 if (!newInfo || oldInfo->rects() != newInfo->rects() || oldInfo->state() != newInfo->state()) { 530 if (blockRepaintMode == RepaintNewXOROld) 531 oldInfo->repaint(); 532 oldInfo->repaint(); 532 533 if (newInfo) { 533 534 newInfo->repaint();
Note:
See TracChangeset
for help on using the changeset viewer.