Bug 876

Summary: BuildComposablePipeline: getGL*() shall not return downstream.getGL*() [TraceGL* / DebugGL*]
Product: [JogAmp] Jogl Reporter: Sven Gothel <sgothel>
Component: coreAssignee: Sven Gothel <sgothel>
Status: RESOLVED FIXED    
Severity: major CC: sgothel
Priority: ---    
Version: 2   
Hardware: All   
OS: all   
Type: --- SCM Refs:
d83d54f2aaf9b8389a64fba7a8c05c495873d941
Workaround: ---

Description Sven Gothel 2013-10-29 09:35:39 CET
Regression of commit 0002fccdcd6383874b2813dc6bbe3e33f5f00924:
  Handled getGL*() same as isGL*().
  The patch is right for the latter isGL*(),
  however, getGL*() returned the downstream object which makes the caller loosing the pipeline!

  Instead, we shall produce !GEN_GL_IDENTITY_BY_ASSIGNABLE_CLASS:
     "if( isGL<type>() ) { return this; }
     throw new GLException("Not a <type> implementation");"
  or for GEN_GL_IDENTITY_BY_ASSIGNABLE_CLASS:
     "return this;"
Comment 1 Sven Gothel 2013-10-29 11:11:46 CET
d83d54f2aaf9b8389a64fba7a8c05c495873d941

    Regression of commit 0002fccdcd6383874b2813dc6bbe3e33f5f00924:
      "Trace/Debug shall utilize downstream identification for isGL*() and getGL*() methods."
    
      Using the downstream identification commit is right for the isGL*() case,
      however, getGL*() returned the downstream object which makes the caller loosing the pipeline!