| Index: libadblockplus-android/jni/JniJsEngine.cpp | 
| diff --git a/libadblockplus-android/jni/JniJsEngine.cpp b/libadblockplus-android/jni/JniJsEngine.cpp | 
| index 5e8daf3903388fd48292b84ac112843e31d03b4c..7bc78faaace27a3ccd8300c8bada1bc6dc787e9b 100644 | 
| --- a/libadblockplus-android/jni/JniJsEngine.cpp | 
| +++ b/libadblockplus-android/jni/JniJsEngine.cpp | 
| @@ -18,6 +18,7 @@ | 
| #include <AdblockPlus.h> | 
| #include "Utils.h" | 
| #include "JniCallbacks.h" | 
| +#include "JniJsEngine.h" | 
| static void TransformAppInfo(JNIEnv* env, jobject jAppInfo, AdblockPlus::AppInfo& appInfo) | 
| { | 
| @@ -34,7 +35,7 @@ static void TransformAppInfo(JNIEnv* env, jobject jAppInfo, AdblockPlus::AppInfo | 
| static AdblockPlus::JsEnginePtr& GetJsEnginePtrRef(jlong ptr) | 
| { | 
| - return *JniLongToTypePtr<AdblockPlus::JsEnginePtr>(ptr); | 
| + return JniLongToTypePtr<JniJsEngine>(ptr)->jsEngine; | 
| } | 
| static jlong JNICALL JniCtor(JNIEnv* env, jclass clazz, jobject jAppInfo) | 
| @@ -45,14 +46,18 @@ static jlong JNICALL JniCtor(JNIEnv* env, jclass clazz, jobject jAppInfo) | 
| try | 
| { | 
| - return JniPtrToLong(new AdblockPlus::JsEnginePtr(AdblockPlus::JsEngine::New(appInfo))); | 
| + AdblockPlus::TimerPtr timer = AdblockPlus::CreateDefaultTimer(); | 
| + JniJsEngine* jniJsEngine = new JniJsEngine(); | 
| + jniJsEngine->timer = timer.get(); | 
| + jniJsEngine->jsEngine = AdblockPlus::JsEngine::New(appInfo, std::move(timer)); | 
| + return JniPtrToLong(jniJsEngine); | 
| } | 
| CATCH_THROW_AND_RETURN(env, 0) | 
| } | 
| static void JNICALL JniDtor(JNIEnv* env, jclass clazz, jlong ptr) | 
| { | 
| - delete JniLongToTypePtr<AdblockPlus::JsEnginePtr>(ptr); | 
| + delete JniLongToTypePtr<JniJsEngine>(ptr); | 
| } | 
| static void JNICALL JniSetEventCallback(JNIEnv* env, jclass clazz, jlong ptr, jstring jEventName, jlong jCallbackPtr) |