From 0f8a1a0d7c6ea2f712f902b57e37cbedc46b1387 Mon Sep 17 00:00:00 2001
From: Sven Gothel <sgothel@jausoft.com>
Date: Fri, 5 Aug 2011 17:46:56 +0200
Subject: debug verbosity ; adaption of gluegen fix of DynamicLibraryBundle

fix debug log in case no device has been initialized

use gluegen's fix of DynamicLibraryBundle.isGlueLibComplete()
- see gluegen commit 6281499e53555fd8ab26345ffce4c4d09bf57a09
---
 src/jogl/classes/javax/media/opengl/GLProfile.java | 19 ++++++++++++++-----
 1 file changed, 14 insertions(+), 5 deletions(-)

(limited to 'src/jogl/classes/javax/media/opengl')

diff --git a/src/jogl/classes/javax/media/opengl/GLProfile.java b/src/jogl/classes/javax/media/opengl/GLProfile.java
index f5f2e5389..5882046ec 100644
--- a/src/jogl/classes/javax/media/opengl/GLProfile.java
+++ b/src/jogl/classes/javax/media/opengl/GLProfile.java
@@ -1202,7 +1202,7 @@ public class GLProfile {
             if(null != desktopFactory) {
                 DesktopGLDynamicLookupHelper glLookupHelper = (DesktopGLDynamicLookupHelper) desktopFactory.getGLDynamicLookupHelper(0);
                 if(null!=glLookupHelper) {
-                    hasDesktopGLFactory = glLookupHelper.hasGLBinding();
+                    hasDesktopGLFactory = glLookupHelper.isLibComplete() && hasGL234Impl;
                 }
             }
         } catch (LinkageError le) {
@@ -1324,8 +1324,10 @@ public class GLProfile {
 
         boolean addedDesktopProfile = false;
         boolean addedEGLProfile = false;
-
-        if( hasDesktopGLFactory && desktopFactory.getIsDeviceCompatible(device)) {
+        boolean deviceIsDesktopCompatible = false;
+        boolean deviceIsEGLCompatible = false;
+        
+        if( hasDesktopGLFactory && ( deviceIsDesktopCompatible = desktopFactory.getIsDeviceCompatible(device)) ) {
             // 1st pretend we have all Desktop and EGL profiles ..
             computeProfileMap(device, true /* desktopCtxUndef*/, true  /* esCtxUndef */);
 
@@ -1343,7 +1345,8 @@ public class GLProfile {
                                                 1, 5, GLContext.CTX_PROFILE_COMPAT|GLContext.CTX_OPTION_ANY);
             }
             addedDesktopProfile = computeProfileMap(device, false /* desktopCtxUndef*/, false /* esCtxUndef */);
-        } else if( null!=eglFactory && ( hasGLES2Impl || hasGLES1Impl ) && eglFactory.getIsDeviceCompatible(device)) {
+        } else if( hasEGLFactory && ( hasGLES2Impl || hasGLES1Impl ) && 
+                   ( deviceIsEGLCompatible = eglFactory.getIsDeviceCompatible(device)) ) {
             // 1st pretend we have all EGL profiles ..
             computeProfileMap(device, false /* desktopCtxUndef*/, true /* esCtxUndef */);
 
@@ -1371,7 +1374,13 @@ public class GLProfile {
         } else {
             setProfileMap(device, new HashMap()); // empty
             if(DEBUG) {
-                System.err.println("GLProfile: EGLFactory - Device is not available: "+device);
+                System.err.println("GLProfile: device could not be initialized: "+device);
+                System.err.println("GLProfile: compatible w/ desktop: "+deviceIsDesktopCompatible+
+                                            ", egl "+deviceIsEGLCompatible);
+                System.err.println("GLProfile: desktoplFactory      "+desktopFactory);
+                System.err.println("GLProfile: eglFactory           "+eglFactory);
+                System.err.println("GLProfile: hasGLES1Impl         "+hasGLES1Impl);
+                System.err.println("GLProfile: hasGLES2Impl         "+hasGLES2Impl);
             }
         }
 
-- 
cgit v1.2.3