mirror of
https://github.com/juce-framework/JUCE.git
synced 2026-01-10 23:44:24 +00:00
Android: Fixed a linker error when building in release mode
This commit is contained in:
parent
ca9d76cb68
commit
ccb4ce8829
3 changed files with 17 additions and 12 deletions
|
|
@ -261,11 +261,6 @@ struct BufferHelpers<float>
|
|||
}
|
||||
};
|
||||
|
||||
//==============================================================================
|
||||
// need this from juce_core without asserting
|
||||
struct JniEnvThreadHolder { static JNIEnv* getEnv(); };
|
||||
extern JavaVM* androidJNIJavaVM;
|
||||
|
||||
//==============================================================================
|
||||
class OpenSLAudioIODevice : public AudioIODevice
|
||||
{
|
||||
|
|
@ -325,13 +320,7 @@ public:
|
|||
|
||||
void finished (SLAndroidSimpleBufferQueueItf)
|
||||
{
|
||||
if (JniEnvThreadHolder::getEnv() == nullptr)
|
||||
{
|
||||
JNIEnv* env;
|
||||
|
||||
androidJNIJavaVM->AttachCurrentThread (&env, nullptr);
|
||||
setEnv (env);
|
||||
}
|
||||
attachAndroidJNI();
|
||||
|
||||
--numBlocksOut;
|
||||
owner.doSomeWorkOnAudioThread();
|
||||
|
|
|
|||
|
|
@ -33,6 +33,9 @@ extern JNIEnv* getEnv() noexcept;
|
|||
// on a java thread which you did not create yourself.
|
||||
extern void setEnv (JNIEnv* env) noexcept;
|
||||
|
||||
/* @internal */
|
||||
extern JNIEnv* attachAndroidJNI() noexcept;
|
||||
|
||||
//==============================================================================
|
||||
class GlobalRef
|
||||
{
|
||||
|
|
|
|||
|
|
@ -158,6 +158,19 @@ private:
|
|||
JniEnvThreadHolder* JniEnvThreadHolder::instance = nullptr;
|
||||
|
||||
//==============================================================================
|
||||
JNIEnv* attachAndroidJNI() noexcept
|
||||
{
|
||||
auto* env = JniEnvThreadHolder::getEnv();
|
||||
|
||||
if (env == nullptr)
|
||||
{
|
||||
androidJNIJavaVM->AttachCurrentThread (&env, nullptr);
|
||||
setEnv (env);
|
||||
}
|
||||
|
||||
return env;
|
||||
}
|
||||
|
||||
JNIEnv* getEnv() noexcept
|
||||
{
|
||||
auto* env = JniEnvThreadHolder::getEnv();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue