diff options
author | Bo Liu <boliu@google.com> | 2019-02-04 14:55:02 -0800 |
---|---|---|
committer | Bo Liu <boliu@google.com> | 2019-02-04 20:02:18 -0800 |
commit | d25d1345a3e1d1fc16cb8f1d0a2a799af100a34e (patch) | |
tree | 40b842ce2c3d3e4e196a99cd8f427a33b71fad4e /libs/hwui/pipeline/skia/VkFunctorDrawable.cpp | |
parent | d58aa257cddde71c374300e0552aa20cfccb7e54 (diff) |
Do not call postDrawVk if did not call drawVk
Reland enable vulkan webview functor
Bug: 123877499
Bug: 115613038
Test: Gmail in bug no longer crashing.
Change-Id: I7df761a4691ceaa6c2a02b256d61554e57139409
Diffstat (limited to 'libs/hwui/pipeline/skia/VkFunctorDrawable.cpp')
-rw-r--r-- | libs/hwui/pipeline/skia/VkFunctorDrawable.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/libs/hwui/pipeline/skia/VkFunctorDrawable.cpp b/libs/hwui/pipeline/skia/VkFunctorDrawable.cpp index 2f8d381f15f5..fe2d41ef630b 100644 --- a/libs/hwui/pipeline/skia/VkFunctorDrawable.cpp +++ b/libs/hwui/pipeline/skia/VkFunctorDrawable.cpp @@ -43,7 +43,9 @@ VkFunctorDrawHandler::VkFunctorDrawHandler(sp<WebViewFunctor::Handle> functor_ha , mImageInfo(image_info) {} VkFunctorDrawHandler::~VkFunctorDrawHandler() { - mFunctorHandle->postDrawVk(); + if (mDrawn) { + mFunctorHandle->postDrawVk(); + } } void VkFunctorDrawHandler::draw(const GrBackendDrawableInfo& info) { @@ -77,6 +79,7 @@ void VkFunctorDrawHandler::draw(const GrBackendDrawableInfo& info) { params.format = vulkan_info.fFormat; mFunctorHandle->drawVk(params); + mDrawn = true; vulkan_info.fDrawBounds->offset.x = mClip.fLeft; vulkan_info.fDrawBounds->offset.y = mClip.fTop; |