Changeset 15860 in webkit
- Timestamp:
- Aug 14, 2006 1:17:32 PM (18 years ago)
- Location:
- branches/Safari-1-3-branch/WebCore
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/Safari-1-3-branch/WebCore/ChangeLog
r15858 r15860 1 2006-08-14 Timothy Hatcher <timothy@apple.com> 2 3 Merged fix from Safari-2-0-branch to Safari-1-3-branch 4 5 2006-08-04 Beth Dakin <bdakin@apple.com> 6 7 Reviewed by me/Hyatt. 8 9 Mostly this is merging over Hyatt's fix with r15801. Some other 10 things needed to be tweaked though. This is a better fix for 11 <rdar://problem/4541255> Safari hangs at http://www.kutilek.de/ 12 safari-test/ somewhere from 13 WebCore::RenderBlock::layoutInlineChildren(bool) 14 15 * khtml/rendering/render_box.cpp: 16 (RenderBox::deleteLineBoxWrapper): Call remove. 17 * khtml/rendering/render_box.h: 18 * khtml/rendering/render_list.cpp: 19 (RenderListItem::updateMarkerLocation): Call remove. 20 * khtml/rendering/render_list.h: 21 (khtml::ListMarkerBox:::InlineBox): 22 * khtml/rendering/render_object.cpp: Back out old fix. 23 (RenderObject::remove): 24 * khtml/rendering/render_object.h: Back out old fix. 25 1 26 2006-08-14 Timothy Hatcher <timothy@apple.com> 2 27 -
branches/Safari-1-3-branch/WebCore/khtml/rendering/render_box.cpp
-
Property
allow-tabs
set to
1
r11166 r15860 670 670 void RenderBox::deleteLineBoxWrapper() 671 671 { 672 if (m_inlineBoxWrapper) 672 if (m_inlineBoxWrapper) { 673 if (!documentBeingDestroyed()) 674 m_inlineBoxWrapper->remove(); 673 675 m_inlineBoxWrapper->detach(renderArena()); 674 m_inlineBoxWrapper = 0; 676 m_inlineBoxWrapper = 0; 677 } 675 678 } 676 679 -
Property
allow-tabs
set to
-
branches/Safari-1-3-branch/WebCore/khtml/rendering/render_box.h
r11166 r15860 99 99 virtual InlineBox* inlineBoxWrapper() const; 100 100 virtual void setInlineBoxWrapper(InlineBox* b); 101 v oid deleteLineBoxWrapper();101 virtual void deleteLineBoxWrapper(); 102 102 103 103 virtual int lowestPosition(bool includeOverflowInterior=true, bool includeSelf=true) const; -
branches/Safari-1-3-branch/WebCore/khtml/rendering/render_list.cpp
r15858 r15860 244 244 if (markerPar != lineBoxParent) 245 245 { 246 if (markerPar) 247 markerPar->removeChild(m_marker); 246 m_marker->remove(); 248 247 if (!lineBoxParent) 249 248 lineBoxParent = this; … … 311 310 } 312 311 return result; 313 }314 315 // -----------------------------------------------------------316 #ifndef NDEBUG317 static bool listMarkerBoxDetach;318 #endif319 320 void ListMarkerBox::detach(RenderArena* arena)321 {322 #ifndef NDEBUG323 listMarkerBoxDetach = true;324 #endif325 if (m_parent)326 m_parent->removeChild(this);327 delete this;328 #ifndef NDEBUG329 listMarkerBoxDetach = false;330 #endif331 332 // Recover the size left there for us by operator delete and free the memory.333 arena->free(*(size_t *)this, this);334 }335 336 void ListMarkerBox::operator delete(void* ptr, size_t sz)337 {338 assert(listMarkerBoxDetach);339 340 // Stash size where destroy can find it.341 *(size_t *)ptr = sz;342 312 } 343 313 -
branches/Safari-1-3-branch/WebCore/khtml/rendering/render_list.h
r15858 r15860 87 87 public: 88 88 ListMarkerBox(RenderObject* obj) :InlineBox(obj) {} 89 virtual void detach(RenderArena*);90 91 // Overridden to prevent the normal delete from being called.92 void operator delete(void* ptr, size_t sz);93 94 89 virtual bool isText() const { return !static_cast<RenderListMarker*>(object())->listImage(); } 95 90 }; -
branches/Safari-1-3-branch/WebCore/khtml/rendering/render_object.cpp
-
Property
allow-tabs
set to
1
r11252 r15860 1834 1834 //have parent, take care of the tree integrity 1835 1835 parent()->removeChild(this); 1836 1837 deleteLineBoxWrapper(); 1836 1838 } 1837 1839 -
Property
allow-tabs
set to
-
branches/Safari-1-3-branch/WebCore/khtml/rendering/render_object.h
-
Property
allow-tabs
set to
1
r11252 r15860 374 374 virtual InlineBox* inlineBoxWrapper() const; 375 375 virtual void setInlineBoxWrapper(InlineBox* b); 376 v oid deleteLineBoxWrapper();376 virtual void deleteLineBoxWrapper(); 377 377 378 378 virtual InlineBox *inlineBox(long offset=0, EAffinity affinity = UPSTREAM); -
Property
allow-tabs
set to
Note: See TracChangeset
for help on using the changeset viewer.