Changeset 119126 in webkit
- Timestamp:
- May 31, 2012 11:09:33 AM (12 years ago)
- Location:
- trunk/Source/WebKit/blackberry
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebKit/blackberry/Api/WebOverlay.cpp
r118850 r119126 494 494 WebOverlayPrivateCompositingThread::~WebOverlayPrivateCompositingThread() 495 495 { 496 m_layerCompositingThreadClient->setClient(0, 0); 496 if (m_layerCompositingThreadClient) 497 m_layerCompositingThreadClient->setClient(0, 0); 497 498 } 498 499 … … 500 501 { 501 502 WebOverlayPrivate::setClient(client); 502 m_layerCompositingThreadClient->setClient(q, client); 503 if (m_layerCompositingThreadClient) 504 m_layerCompositingThreadClient->setClient(q, client); 503 505 } 504 506 … … 615 617 void WebOverlayPrivateCompositingThread::setContentsToImage(const unsigned char* data, const IntSize& imageSize) 616 618 { 619 if (!m_layerCompositingThreadClient) 620 return; 621 617 622 const SkBitmap& oldContents = m_layerCompositingThreadClient->contents(); 618 623 if (!oldContents.isNull()) { … … 632 637 void WebOverlayPrivateCompositingThread::setContentsToColor(const Color& color) 633 638 { 639 if (!m_layerCompositingThreadClient) 640 return; 641 634 642 m_layerCompositingThreadClient->setContentsToColor(color); 635 643 m_layerCompositingThread->setNeedsTexture(true); … … 638 646 void WebOverlayPrivateCompositingThread::setDrawsContent(bool drawsContent) 639 647 { 648 if (!m_layerCompositingThreadClient) 649 return; 650 640 651 m_layerCompositingThreadClient->setDrawsContent(drawsContent); 641 652 m_layerCompositingThread->setNeedsTexture(true); … … 649 660 void WebOverlayPrivateCompositingThread::invalidate() 650 661 { 651 if (!m_layerCompositingThreadClient ->drawsContent())662 if (!m_layerCompositingThreadClient || !m_layerCompositingThreadClient->drawsContent()) 652 663 return; 653 664 -
trunk/Source/WebKit/blackberry/ChangeLog
r119119 r119126 1 2012-05-31 Arvid Nilsson <anilsson@rim.com> 2 3 [BlackBerry] Crash when destroying WebOverlay with active WebOverlayOverride 4 https://bugs.webkit.org/show_bug.cgi?id=87968 5 6 Reviewed by Rob Buis. 7 8 The override object is using a compositing thread WebOverlayPrivate 9 object with no client because the layer doesn't delegate drawing to the 10 WebOverlayPrivate, it's only used to modify the override properties on 11 the underlying compositing thread layer. 12 13 Since the m_layerCompositingThreadClient is optional, we have to add 14 null checks. 15 16 * Api/WebOverlay.cpp: 17 (BlackBerry::WebKit::WebOverlayPrivateCompositingThread::~WebOverlayPrivateCompositingThread): 18 (BlackBerry::WebKit::WebOverlayPrivateCompositingThread::setClient): 19 (BlackBerry::WebKit::WebOverlayPrivateCompositingThread::setContentsToImage): 20 (BlackBerry::WebKit::WebOverlayPrivateCompositingThread::setContentsToColor): 21 (BlackBerry::WebKit::WebOverlayPrivateCompositingThread::setDrawsContent): 22 (BlackBerry::WebKit::WebOverlayPrivateCompositingThread::invalidate): 23 1 24 2012-05-31 Chris Guan <chris.guan@torchmobile.com.cn> 2 25
Note: See TracChangeset
for help on using the changeset viewer.