Program: 58845
Project: 58845
Buggy source:
/** 
 * This class creates the GL event listener contained in a RCP view for a RCP view.
 * @param glViewType The type of view. See  {@link ECommandType}
 * @param iParentCanvasID the id of canvas where you want to render
 * @param bRegisterToOverallMediator true if you want this to listen and send to main mediator
 * @return the ID of the view
 */
protected AGLEventListener createGLEventListener(ECommandType glViewType,int iParentCanvasID,boolean bRegisterToOverallMediator){
  IGeneralManager generalManager=GeneralManager.get();
  ISet set=generalManager.getUseCase().getSet();
  CmdCreateGLEventListener cmdView=(CmdCreateGLEventListener)generalManager.getCommandManager().createCommandByType(glViewType);
  if (glViewType == ECommandType.CREATE_GL_BUCKET_3D) {
    cmdView.setAttributes(EProjectionMode.PERSPECTIVE,-1.5f,1.5f,-1.5f,1.5f,2.87f,100,set,iParentCanvasID,0,0,-8,0,0,0,0);
  }
 else   if (glViewType == ECommandType.CREATE_GL_GLYPH) {
    cmdView.setAttributes(EProjectionMode.PERSPECTIVE,-1f,1f,-1f,1f,2.9f,100,set,iParentCanvasID,0,0,-8,0,0,0,0);
  }
 else {
    cmdView.setAttributes(EProjectionMode.ORTHOGRAPHIC,0,8,0,8,-20,20,set,iParentCanvasID);
  }
  cmdView.doCommand();
  AGLEventListener glView=cmdView.getCreatedObject();
  if (iAlContainedViewIDs != null && glViewType == ECommandType.CREATE_GL_BUCKET_3D) {
    ((GLRemoteRendering)glView).setInitialContainedViews(iAlContainedViewIDs);
  }
  setGLData(glCanvas,glView);
  createPartControlGL();
  IUseCase useCase=GeneralManager.get().getUseCase();
  glView.setUseCase(useCase);
  useCase.addView(glView);
  return glView;
}

Fixed version (ground truth):
/** 
 * This class creates the GL event listener contained in a RCP view for a RCP view.
 * @param glViewType The type of view. See  {@link ECommandType}
 * @param iParentCanvasID the id of canvas where you want to render
 * @param bRegisterToOverallMediator true if you want this to listen and send to main mediator
 * @return the ID of the view
 */
protected AGLEventListener createGLEventListener(ECommandType glViewType,int iParentCanvasID,boolean bRegisterToOverallMediator){
  IGeneralManager generalManager=GeneralManager.get();
  ISet set=generalManager.getUseCase().getSet();
  CmdCreateGLEventListener cmdView=(CmdCreateGLEventListener)generalManager.getCommandManager().createCommandByType(glViewType);
  if (glViewType == ECommandType.CREATE_GL_BUCKET_3D) {
    cmdView.setAttributes(EProjectionMode.PERSPECTIVE,-0.5f,0.5f,-0.5f,0.5f,0.95f,100,set,iParentCanvasID,0,0,-8,0,0,0,0);
  }
 else   if (glViewType == ECommandType.CREATE_GL_GLYPH) {
    cmdView.setAttributes(EProjectionMode.PERSPECTIVE,-1f,1f,-1f,1f,2.9f,100,set,iParentCanvasID,0,0,-8,0,0,0,0);
  }
 else {
    cmdView.setAttributes(EProjectionMode.ORTHOGRAPHIC,0,8,0,8,-20,20,set,iParentCanvasID);
  }
  cmdView.doCommand();
  AGLEventListener glView=cmdView.getCreatedObject();
  if (iAlContainedViewIDs != null && glViewType == ECommandType.CREATE_GL_BUCKET_3D) {
    ((GLRemoteRendering)glView).setInitialContainedViews(iAlContainedViewIDs);
  }
  setGLData(glCanvas,glView);
  createPartControlGL();
  IUseCase useCase=GeneralManager.get().getUseCase();
  glView.setUseCase(useCase);
  useCase.addView(glView);
  return glView;
}