< prev index next >

modules/javafx.graphics/src/main/native-glass/gtk/GlassTimer.cpp

Print this page
rev 10015 : 8137141: Fatal error in Method::build_method_counters when called from libglass.so


  62     (void)obj;
  63 
  64     RunnableContext* context = (RunnableContext*) JLONG_TO_PTR(ptr);
  65     context->flag = 1;
  66     env->DeleteGlobalRef(context->runnable);
  67     context->runnable = NULL;
  68 }
  69 
  70 } // extern "C"
  71 
  72 
  73 static gboolean call_runnable_in_timer
  74   (gpointer data)
  75 {
  76     RunnableContext* context = (RunnableContext*) data;
  77     if (context->flag) {
  78         free(context);
  79         return FALSE;
  80     }
  81     else if (context->runnable) {
  82         mainEnv->CallVoidMethod(context->runnable, jRunnableRun, NULL);
  83         LOG_EXCEPTION(mainEnv);










  84     }
  85     return TRUE;
  86 }
  87 


  62     (void)obj;
  63 
  64     RunnableContext* context = (RunnableContext*) JLONG_TO_PTR(ptr);
  65     context->flag = 1;
  66     env->DeleteGlobalRef(context->runnable);
  67     context->runnable = NULL;
  68 }
  69 
  70 } // extern "C"
  71 
  72 
  73 static gboolean call_runnable_in_timer
  74   (gpointer data)
  75 {
  76     RunnableContext* context = (RunnableContext*) data;
  77     if (context->flag) {
  78         free(context);
  79         return FALSE;
  80     }
  81     else if (context->runnable) {
  82         JNIEnv *env;
  83         int envStatus = javaVM->GetEnv((void **)&env, JNI_VERSION_1_6);
  84         if (envStatus == JNI_EDETACHED) {
  85             javaVM->AttachCurrentThread((void **)&env, NULL);
  86         }
  87 
  88         env->CallVoidMethod(context->runnable, jRunnableRun, NULL);
  89         LOG_EXCEPTION(env);
  90 
  91         if (envStatus == JNI_EDETACHED) {
  92             javaVM->DetachCurrentThread();
  93         }
  94     }
  95     return TRUE;
  96 }
  97 
< prev index next >