diff options
author | Kaiyi Li <kaiyili@google.com> | 2020-07-15 15:46:47 -0700 |
---|---|---|
committer | Lingfeng Yang <lfy@google.com> | 2020-07-15 15:59:23 -0700 |
commit | c42eb49eabdd1e0aef600de7244d6025da63ee68 (patch) | |
tree | fb42b860afed0270a93980f4d8cfd4edac100901 /system/OpenglSystemCommon/HostConnection.cpp | |
parent | e77e515fe34eea8800e5f875f2b70147d7a935ce (diff) | |
download | goldfish-opengl-c42eb49eabdd1e0aef600de7244d6025da63ee68.tar.gz |
HostConnection: remove the use of the stream pointer after moved
Bug: b/161364729
Test: Run the image with crosvm
Change-Id: I1ca8db974b661c34ccf2fc3f265b53184bcaa128
Diffstat (limited to 'system/OpenglSystemCommon/HostConnection.cpp')
-rw-r--r-- | system/OpenglSystemCommon/HostConnection.cpp | 21 |
1 files changed, 12 insertions, 9 deletions
diff --git a/system/OpenglSystemCommon/HostConnection.cpp b/system/OpenglSystemCommon/HostConnection.cpp index 7829545d..d7478d2f 100644 --- a/system/OpenglSystemCommon/HostConnection.cpp +++ b/system/OpenglSystemCommon/HostConnection.cpp @@ -451,13 +451,14 @@ std::unique_ptr<HostConnection> HostConnection::connect() { } con->m_connectionType = HOST_CONNECTION_VIRTIO_GPU; con->m_grallocType = GRALLOC_TYPE_MINIGBM; + auto rendernodeFd = stream->getRendernodeFd(); + con->m_processPipe = stream->getProcessPipe(); con->m_stream = std::move(stream); con->m_rendernodeFdOwned = false; - con->m_rendernodeFdOwned = stream->getRendernodeFd(); + con->m_rendernodeFdOwned = rendernodeFd; MinigbmGralloc* m = new MinigbmGralloc; - m->setFd(stream->getRendernodeFd()); + m->setFd(rendernodeFd); con->m_grallocHelper = m; - con->m_processPipe = stream->getProcessPipe(); break; } case HOST_CONNECTION_VIRTIO_GPU_PIPE: { @@ -473,16 +474,17 @@ std::unique_ptr<HostConnection> HostConnection::connect() { } con->m_connectionType = HOST_CONNECTION_VIRTIO_GPU_PIPE; con->m_grallocType = getGrallocTypeFromProperty(); - con->m_stream = std::move(stream); con->m_rendernodeFdOwned = false; - con->m_rendernodeFd = stream->getRendernodeFd(); + auto rendernodeFd = stream->getRendernodeFd(); + con->m_stream = std::move(stream); + con->m_rendernodeFd = rendernodeFd; switch (con->m_grallocType) { case GRALLOC_TYPE_RANCHU: con->m_grallocHelper = &m_goldfishGralloc; break; case GRALLOC_TYPE_MINIGBM: { MinigbmGralloc* m = new MinigbmGralloc; - m->setFd(stream->getRendernodeFd()); + m->setFd(rendernodeFd); con->m_grallocHelper = m; break; } @@ -503,16 +505,17 @@ std::unique_ptr<HostConnection> HostConnection::connect() { } con->m_connectionType = HOST_CONNECTION_VIRTIO_GPU_ADDRESS_SPACE; con->m_grallocType = getGrallocTypeFromProperty(); - con->m_stream = std::move(stream); con->m_rendernodeFdOwned = false; - con->m_rendernodeFd = stream->getRendernodeFd(); + auto rendernodeFd = stream->getRendernodeFd(); + con->m_stream = std::move(stream); + con->m_rendernodeFd = rendernodeFd; switch (con->m_grallocType) { case GRALLOC_TYPE_RANCHU: con->m_grallocHelper = &m_goldfishGralloc; break; case GRALLOC_TYPE_MINIGBM: { MinigbmGralloc* m = new MinigbmGralloc; - m->setFd(stream->getRendernodeFd()); + m->setFd(rendernodeFd); con->m_grallocHelper = m; break; } |