From c91103a9fd259730e0b2765646015ada184ac9c8 Mon Sep 17 00:00:00 2001 From: Yuta Doi Date: Tue, 12 Jun 2018 13:29:23 +0900 Subject: Bug fix: Refer removed surface id in vector of pending_end_draw Change-Id: I76d86bb19388334dd640fbe07e8d307dec9b61cc Signed-off-by: Yuta Doi --- src/app.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/app.cpp b/src/app.cpp index 20917ae..23d3a2c 100644 --- a/src/app.cpp +++ b/src/app.cpp @@ -567,10 +567,12 @@ void App::api_enddraw(char const *appid, char const *drawing_name) { for (unsigned i = 0, iend = this->pending_end_draw.size(); i < iend; i++) { auto n = this->lookup_name(this->pending_end_draw[i]); + int surface_id = this->pending_end_draw[i]; + if (n && *n == role) { std::swap(this->pending_end_draw[i], this->pending_end_draw[iend - 1]); this->pending_end_draw.resize(iend - 1); - this->activate(this->pending_end_draw[i]); + this->activate(surface_id); this->emit_flushdraw(drawing_name); this->emitScreenUpdated(appid); } -- cgit 1.2.3-korg