aboutsummaryrefslogtreecommitdiff
path: root/system/OpenglSystemCommon/HostConnection.cpp
diff options
context:
space:
mode:
authorKaiyi Li <kaiyili@google.com>2020-07-15 15:46:47 -0700
committerLingfeng Yang <lfy@google.com>2020-07-15 15:59:23 -0700
commitc42eb49eabdd1e0aef600de7244d6025da63ee68 (patch)
treefb42b860afed0270a93980f4d8cfd4edac100901 /system/OpenglSystemCommon/HostConnection.cpp
parente77e515fe34eea8800e5f875f2b70147d7a935ce (diff)
downloadgoldfish-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.cpp21
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;
}