Merge "Fix a severe cleanup bug where teardown of the GL driver could occur on the wrong thread."
diff --git a/libs/rs/rs.spec b/libs/rs/rs.spec
index b1551ba..97ecca0 100644
--- a/libs/rs/rs.spec
+++ b/libs/rs/rs.spec
@@ -47,6 +47,9 @@
param int32_t priority
}
+ContextDestroy {
+}
+
AssignName {
param void *obj
param const char *name
diff --git a/libs/rs/rsContext.cpp b/libs/rs/rsContext.cpp
index 35db332..2988950 100644
--- a/libs/rs/rsContext.cpp
+++ b/libs/rs/rsContext.cpp
@@ -1019,6 +1019,10 @@
ObjectBase::dumpAll(rsc);
}
+void rsi_ContextDestroy(Context *rsc) {
+ delete rsc;
+}
+
}
}
@@ -1038,11 +1042,6 @@
return rsc;
}
-void rsContextDestroy(RsContext vrsc) {
- Context * rsc = static_cast<Context *>(vrsc);
- delete rsc;
-}
-
RsMessageToClientType rsContextPeekMessage(RsContext vrsc, size_t *receiveLen, uint32_t *subID, bool wait) {
Context * rsc = static_cast<Context *>(vrsc);
return rsc->peekMessageToClient(receiveLen, subID, wait);