Changeset 66780 in webkit
- Timestamp:
- Sep 3, 2010 5:36:42 PM (14 years ago)
- Location:
- trunk/WebCore
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/WebCore/ChangeLog
r66779 r66780 1 2010-09-03 James Robinson <jamesr@chromium.org> 2 3 Reviewed by Kenneth Russell. 4 5 [chromium] Null out Canvas2DLayerChromium's back reference to DrawingBuffer on destruction 6 https://bugs.webkit.org/show_bug.cgi?id=45187 7 8 Canvas2DLayerChromium keeps a back reference to a DrawingBuffer. This has to be a raw pointer 9 because the DrawingBuffer holds a RefPtr to the Canvas2DLayerChromium. Since the layer can 10 outlive the buffer, this back reference has to be explicitly cleared when the DrawingBuffer 11 is destroyed. 12 13 * platform/graphics/chromium/Canvas2DLayerChromium.cpp: 14 (WebCore::Canvas2DLayerChromium::setDrawingBuffer): 15 * platform/graphics/chromium/Canvas2DLayerChromium.h: 16 * platform/graphics/chromium/DrawingBufferChromium.cpp: 17 (WebCore::DrawingBuffer::~DrawingBuffer): 18 1 19 2010-09-03 Kenneth Russell <kbr@google.com> 2 20 -
trunk/WebCore/platform/graphics/chromium/Canvas2DLayerChromium.cpp
r66746 r66780 101 101 } 102 102 103 void Canvas2DLayerChromium::setDrawingBuffer(DrawingBuffer* drawingBuffer) 104 { 105 if (drawingBuffer != m_drawingBuffer) { 106 m_drawingBuffer = drawingBuffer; 107 m_textureChanged = true; 108 } 109 } 110 103 111 } 104 112 #endif // USE(ACCELERATED_COMPOSITING) -
trunk/WebCore/platform/graphics/chromium/Canvas2DLayerChromium.h
r66746 r66780 51 51 void setTextureChanged(); 52 52 unsigned textureId() const; 53 void setDrawingBuffer(DrawingBuffer*); 53 54 54 55 private: -
trunk/WebCore/platform/graphics/chromium/DrawingBufferChromium.cpp
r66746 r66780 80 80 DrawingBuffer::~DrawingBuffer() 81 81 { 82 if (m_internal->platformLayer) 83 m_internal->platformLayer->setDrawingBuffer(0); 82 84 m_context->deleteFramebuffer(m_framebuffer); 83 85 }
Note: See TracChangeset
for help on using the changeset viewer.