34
34
#include "com_sun_prism_es2_IOSGLContext.h"
35
35
36
36
extern void printAndReleaseResources (jlong pf , jlong ctx , const char * message );
37
+ jboolean pulseLoggingRequested ;
38
+
39
+ jboolean isPulseLoggingRequested (JNIEnv * env ) {
40
+ jclass loggerCls = (* env )-> FindClass (env , "com/sun/javafx/logging/PulseLogger" );
41
+ if ((* env )-> ExceptionCheck (env ) || loggerCls == NULL ) {
42
+ (* env )-> ExceptionClear (env );
43
+ return JNI_FALSE ;
44
+ }
45
+ jmethodID loggerMID = (* env )-> GetStaticMethodID (env , loggerCls , "isPulseLoggingRequested" , "()Z" );
46
+ if ((* env )-> ExceptionCheck (env ) || loggerMID == NULL ) {
47
+ (* env )-> ExceptionClear (env );
48
+ return JNI_FALSE ;
49
+ }
50
+ jboolean result = (* env )-> CallStaticBooleanMethod (env , loggerCls , loggerMID );
51
+ if ((* env )-> ExceptionCheck (env )) {
52
+ (* env )-> ExceptionClear (env );
53
+ return JNI_FALSE ;
54
+ }
55
+ return result ;
56
+ }
37
57
38
58
/*
39
59
* Class: com_sun_prism_es2_IOSGLContext
@@ -51,6 +71,7 @@ JNIEXPORT jlong JNICALL Java_com_sun_prism_es2_IOSGLContext_nInitialize
51
71
int versionNumbers [2 ];
52
72
const char * glExtensions ;
53
73
74
+ pulseLoggingRequested = isPulseLoggingRequested (env );
54
75
jlong pixelFormat = 0 ;
55
76
jlong win = 0 ;
56
77
jlong context = 0 ;
@@ -289,5 +310,7 @@ JNIEXPORT void JNICALL Java_com_sun_prism_es2_IOSGLContext_nMakeCurrent
289
310
interval = (vSyncNeeded ) ? 1 : 0 ;
290
311
ctxInfo -> state .vSyncEnabled = vSyncNeeded ;
291
312
setSwapInterval (ctxInfo -> context , interval );
292
- fprintf (stderr , "setSwapInterval(%d)\n" , interval );
313
+ if (pulseLoggingRequested ) {
314
+ fprintf (stderr , "setSwapInterval(%d)\n" , interval );
315
+ }
293
316
}
0 commit comments