diff --git a/src/modules/thread/sdl/Thread.cpp b/src/modules/thread/sdl/Thread.cpp index 2c2143da6..a569ca3f0 100644 --- a/src/modules/thread/sdl/Thread.cpp +++ b/src/modules/thread/sdl/Thread.cpp @@ -253,6 +253,8 @@ namespace sdl { lock(); ThreadVariant *v = comm->getValue(name); + if (v) + v->retain(); unlock(); return v; } diff --git a/src/modules/thread/sdl/wrap_Thread.cpp b/src/modules/thread/sdl/wrap_Thread.cpp index d0245bf7d..9a2a79f44 100644 --- a/src/modules/thread/sdl/wrap_Thread.cpp +++ b/src/modules/thread/sdl/wrap_Thread.cpp @@ -82,7 +82,6 @@ namespace sdl lua_pushnil(L); return 1; } - v->retain(); t->clear(name); switch(v->type) {