Skip to content

Commit 9b2639d

Browse files
authored
Merge pull request #1 from BlueMountainsIO/master
Memory leak fixes
2 parents 507cebd + 3797d6d commit 9b2639d

File tree

2 files changed

+31
-6
lines changed

2 files changed

+31
-6
lines changed

README.md

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,31 @@ You can use our [language framework](https://github.com/OnfireNetwork/OnsetJava)
1616
2. Ensure Java 8 JDK/JRE 64bit is installed.
1717
3. Enable "OnsetJavaPlugin" as a plugin inside server_config.json.
1818

19+
#### Compiling from source
20+
##### Ubuntu 18.04
21+
```
22+
# Compiling the plugin requires GCC8 because of <filesystem> usage.
23+
24+
apt install openjdk-8-jdk openjdk-8-jre maven gcc-8 g++-8
25+
26+
export CC=/usr/bin/gcc-8
27+
export CXX=/usr/bin/g++-8
28+
29+
git clone --recurse-submodules https://github.com/OnfireNetwork/OnsetJavaPlugin
30+
cd OnsetJavaPlugin
31+
cmake .
32+
make
33+
34+
# Copy src/OnsetJavaPlugin.so to your OnsetServer/plugins folder.
35+
```
36+
##### Compiling OnsetJavaPluginSupport
37+
```
38+
cd OnsetJavaPluginSupport
39+
mvn package
40+
41+
# Copy OnsetJavaPluginSupport/target/OnsetJavaPluginSupport-1.0.jar to your OnsetServer/java folder.
42+
```
43+
1944
### Data Types we support
2045
#### Method Parameters
2146
* Lua String -> String (java.lang.String)

src/Plugin.cpp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -81,16 +81,16 @@ void CallEvent(JNIEnv* jenv, jclass jcl, jstring event, jobjectArray argsList) {
8181
(void)jcl;
8282

8383
const char* eventStr = jenv->GetStringUTFChars(event, nullptr);
84-
auto args = new Lua::LuaArgs_t();
84+
Lua::LuaArgs_t args;
8585

8686
int argsCount = jenv->GetArrayLength(argsList);
8787

8888
for (jsize i = 0; i < argsCount; i++) {
8989
jobject arrayElement = jenv->GetObjectArrayElement(argsList, i);
90-
args->push_back(env->ToLuaValue(arrayElement));
90+
args.push_back(env->ToLuaValue(arrayElement));
9191
}
9292

93-
Onset::Plugin::Get()->CallEvent(eventStr, args);
93+
Onset::Plugin::Get()->CallEvent(eventStr, &args);
9494

9595
jenv->ReleaseStringUTFChars(event, eventStr);
9696
}
@@ -106,12 +106,12 @@ jobjectArray CallGlobal(JNIEnv* jenv, jclass jcl, jstring packageName, jstring f
106106
const char* packageNameStr = jenv->GetStringUTFChars(packageName, nullptr);
107107
const char* functionNameStr = jenv->GetStringUTFChars(functionName, nullptr);
108108
int argsLength = jenv->GetArrayLength(args);
109-
auto luaArgs = new Lua::LuaArgs_t();
109+
Lua::LuaArgs_t luaArgs;
110110
for (jsize i = 0; i < argsLength; i++) {
111-
luaArgs->push_back(env->ToLuaValue(jenv->GetObjectArrayElement(args, i)));
111+
luaArgs.push_back(env->ToLuaValue(jenv->GetObjectArrayElement(args, i)));
112112
}
113113

114-
auto luaReturns = CallLuaFunction(Plugin::Get()->GetPackageState(packageNameStr), functionNameStr, luaArgs);
114+
auto luaReturns = CallLuaFunction(Plugin::Get()->GetPackageState(packageNameStr), functionNameStr, &luaArgs);
115115
size_t returnsLength = luaReturns.size();
116116
jclass objectCls = jenv->FindClass("Ljava/lang/Object;");
117117
jobjectArray returns = jenv->NewObjectArray((jsize)returnsLength, objectCls, NULL);

0 commit comments

Comments
 (0)