summaryrefslogtreecommitdiff
path: root/libs/hwui/pipeline/skia/VkFunctorDrawable.cpp
diff options
context:
space:
mode:
authorBo Liu <boliu@google.com>2019-02-04 14:55:02 -0800
committerBo Liu <boliu@google.com>2019-02-04 20:02:18 -0800
commitd25d1345a3e1d1fc16cb8f1d0a2a799af100a34e (patch)
tree40b842ce2c3d3e4e196a99cd8f427a33b71fad4e /libs/hwui/pipeline/skia/VkFunctorDrawable.cpp
parentd58aa257cddde71c374300e0552aa20cfccb7e54 (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.cpp5
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;