From ee956053d6e3f7a7a82e41853b9b251fdc226d7a Mon Sep 17 00:00:00 2001 From: Jim Miller Date: Thu, 19 Aug 2010 18:56:00 -0700 Subject: Make sure we have a native Surface in nContextSetSurface. I was seeing a problem running RenderScript in the system process because mNativeSurface was null. This works around the problem by forcing the native surface to be created when we set the surface. Change-Id: I3abf6cef1b049864e4e063669b6df547de008c93 --- graphics/jni/android_renderscript_RenderScript.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'graphics/jni') diff --git a/graphics/jni/android_renderscript_RenderScript.cpp b/graphics/jni/android_renderscript_RenderScript.cpp index 3624678..b2e8dd9 100644 --- a/graphics/jni/android_renderscript_RenderScript.cpp +++ b/graphics/jni/android_renderscript_RenderScript.cpp @@ -37,6 +37,7 @@ #include "jni.h" #include "JNIHelp.h" #include "android_runtime/AndroidRuntime.h" +#include "android_runtime/android_view_Surface.h" #include #include @@ -184,9 +185,7 @@ nContextSetSurface(JNIEnv *_env, jobject _this, RsContext con, jint width, jint if (wnd == NULL) { } else { - jclass surface_class = _env->FindClass("android/view/Surface"); - jfieldID surfaceFieldID = _env->GetFieldID(surface_class, ANDROID_VIEW_SURFACE_JNI_ID, "I"); - window = (Surface*)_env->GetIntField(wnd, surfaceFieldID); + window = (Surface*) android_Surface_getNativeWindow(_env, wnd).get(); } rsContextSetSurface(con, width, height, window); -- cgit v1.1