{
  "_class" : "hudson.matrix.MatrixRun",
  "actions" : [
    {
      
    },
    {
      "_class" : "hudson.model.CauseAction",
      "causes" : [
        {
          "_class" : "hudson.model.Cause$UpstreamCause",
          "shortDescription" : "Started by upstream project \"jogl_onmaster\" build number 10",
          "upstreamBuild" : 10,
          "upstreamProject" : "jogl_onmaster",
          "upstreamUrl" : "job/jogl_onmaster/"
        }
      ]
    },
    {
      "_class" : "hudson.plugins.git.util.BuildData",
      "buildsByBranchName" : {
        "origin/master" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 10,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "d3672684177a98a58c434bcd27541f44917050f3",
            "branch" : [
              {
                "SHA1" : "d3672684177a98a58c434bcd27541f44917050f3",
                "name" : "origin/master"
              }
            ]
          },
          "revision" : {
            "SHA1" : "d3672684177a98a58c434bcd27541f44917050f3",
            "branch" : [
              {
                "SHA1" : "d3672684177a98a58c434bcd27541f44917050f3",
                "name" : "origin/master"
              }
            ]
          }
        }
      },
      "lastBuiltRevision" : {
        "SHA1" : "d3672684177a98a58c434bcd27541f44917050f3",
        "branch" : [
          {
            "SHA1" : "d3672684177a98a58c434bcd27541f44917050f3",
            "name" : "origin/master"
          }
        ]
      },
      "remoteUrls" : [
        "git://jogamp.org/srv/scm/jogl.git"
      ],
      "scmName" : ""
    },
    {
      "_class" : "hudson.plugins.git.GitTagAction"
    },
    {
      
    },
    {
      
    },
    {
      "_class" : "org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction"
    }
  ],
  "artifacts" : [
    
  ],
  "building" : False,
  "description" : None,
  "displayName" : "#10",
  "duration" : 637389,
  "estimatedDuration" : 1395812,
  "executor" : None,
  "fullDisplayName" : "jogl_onmaster » linux-x86_64-master-001 #10",
  "id" : "2013-03-09_05-27-13",
  "inProgress" : False,
  "keepLog" : False,
  "number" : 10,
  "queueId" : -1,
  "result" : "SUCCESS",
  "timestamp" : 1362803233000,
  "url" : "https://jogamp.org/chuck/view/on%20server/job/jogl_onmaster/label=linux-x86_64-master-001/10/",
  "builtOn" : "linux64-null-centos55-jogamp-x64-chuck-001",
  "changeSet" : {
    "_class" : "hudson.plugins.git.GitChangeSetList",
    "items" : [
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/javax/media/opengl/awt/GLCanvas.java",
          "src/jogl/classes/jogamp/opengl/GLDrawableImpl.java"
        ],
        "commitId" : "d93c5d23e304ea20e868595748f92a5bef4f5703",
        "timestamp" : 1356696614000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "AWT GLCanvas: More strict GLDrawable realization [on AWT-EDT], skip if creation is not possible on AWT-EDT.\u000a\u000aThe Intel HD3000 OpenGL driver on Windows will deadlock @ SwapBuffers in case the drawable is created\u000aon a thread other than the window owner thread.\u000a\u000aWe are aware of such possibilities, nevertheless the AWTEDTExecutor.singleton.invoke(..)\u000aallowed to execute the runnable in case it cannot be invoked on AWT-EDT.\u000aThe latter is the case if the current thread is not the AWT-EDT _and_ is holding the AWT tree-lock.\u000a\u000aWith GlueGen commit 0b43b43f889ad7fc220942b0076e2001ca3cf13f, the invoke method now consumes\u000aan argument allowing to restrict the execution to AWT-EDT only.\u000a\u000aIn such case, the drawable will be realized at a later time from the AWT-EDT.\u000a\u000aSuch a situation could be triggered if a Frame's setVisible(true)\u000ais not issued from the AWT-EDT, as it should be!\u000aHowever, to relax such use cases - we better recognize such possible dealock and avoid it.\u000a",
        "date" : "2012-12-28T13:10:14+0100",
        "id" : "d93c5d23e304ea20e868595748f92a5bef4f5703",
        "msg" : "AWT GLCanvas: More strict GLDrawable realization [on AWT-EDT], skip if",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/javax/media/opengl/awt/GLCanvas.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/GLDrawableImpl.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/test/com/jogamp/opengl/test/junit/jogl/awt/TestBug572AWT.java",
          "make/scripts/tests.sh"
        ],
        "commitId" : "74d8e51e1cbb436eab6b90f78de90dacd10e60a5",
        "timestamp" : 1356775100000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Adapt change of commit d93c5d23e304ea20e868595748f92a5bef4f5703 to unit test (GLCanvas realization point)\u000a",
        "date" : "2012-12-29T10:58:20+0100",
        "id" : "74d8e51e1cbb436eab6b90f78de90dacd10e60a5",
        "msg" : "Adapt change of commit d93c5d23e304ea20e868595748f92a5bef4f5703 to unit",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/awt/TestBug572AWT.java"
          },
          {
            "editType" : "edit",
            "file" : "make/scripts/tests.sh"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/test/com/jogamp/opengl/test/junit/jogl/acore/TestGLMesaBug651NEWT.java",
          "src/jogl/classes/jogamp/opengl/GLContextImpl.java",
          "src/jogl/classes/com/jogamp/opengl/GLRendererQuirks.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/acore/TestGLUnitsNEWT.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/acore/TestGLMesaBug658NEWT.java",
          "make/scripts/tests.sh"
        ],
        "commitId" : "3ce0aa6e36d9474ac3105cab491a60327860757d",
        "timestamp" : 1356817056000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Fix Bug 658 (Mesa 9.0 3.1 Intel compat quirk, 3.1 core only) ; No PROFILE_ALIASING compat -> core ; Fix setGLFunctionAvailability(..) failure path @ profile query\u000a\u000a- Add GLRendererQuirks.GLNonCompliant, marking a GL context/profile non compliant.\u000a  Currently: 'Mesa DRI Intel(R) Sandybridge Desktop' && 3.1 compat profile\u000a\u000a- Fix Bug 658 (Mesa 9.0 3.1 Intel compat quirk, 3.1 core only)\u000a  Detect case using new GLRendererQuirks.GLNonCompliant in setGLFunctionAvailability() and return 'false'.\u000a\u000a- No PROFILE_ALIASING compat -> core\u000a  Use true core GL profiles / context if available to ensure\u000a  proper API behavior across platforms due to different functionality.\u000a  E.g. don't use GL3bc if GL3 is requested.\u000a\u000a- Fix setGLFunctionAvailability(..) failure path @ profile query\u000a  Destroy temp context & zero result to cont. iterating through GL versions.\u000a  This missing cleanup lead to returning the faulty GL context handle and it's mapping/usage.\u000a",
        "date" : "2012-12-29T22:37:36+0100",
        "id" : "3ce0aa6e36d9474ac3105cab491a60327860757d",
        "msg" : "Fix Bug 658 (Mesa 9.0 3.1 Intel compat quirk, 3.1 core only) ; No",
        "paths" : [
          {
            "editType" : "add",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/acore/TestGLMesaBug651NEWT.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/GLContextImpl.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/GLRendererQuirks.java"
          },
          {
            "editType" : "edit",
            "file" : "make/scripts/tests.sh"
          },
          {
            "editType" : "delete",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/acore/TestGLUnitsNEWT.java"
          },
          {
            "editType" : "add",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/acore/TestGLMesaBug658NEWT.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/native/JoglCommon.c",
          "make/scripts/tests.sh",
          "src/jogl/classes/jogamp/opengl/GLContextImpl.java"
        ],
        "commitId" : "b6ae4e4dcbd740dd57de9dc3280d943e98cdaa76",
        "timestamp" : 1356857630000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Cleanup / Simplify: setGLFunctionAvailability(..) / createContextARBVersions(..) GL Version Validation\u000a\u000aString or integer based GL version validation now happens in setGLFunctionAvailability(..)\u000adepending on the requested profile.\u000a\u000aDue to the 'strictMatch' argument the method fails early when unsatisfied\u000aalso allowing to simplify createContextARBVersions(..) implementation.\u000a",
        "date" : "2012-12-30T09:53:50+0100",
        "id" : "b6ae4e4dcbd740dd57de9dc3280d943e98cdaa76",
        "msg" : "Cleanup / Simplify: setGLFunctionAvailability(..) /",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "make/scripts/tests.sh"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/GLContextImpl.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/native/JoglCommon.c"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/jogamp/opengl/GLContextImpl.java"
        ],
        "commitId" : "ece5acb85b3dac22352aca75dd09aadcb96b43f3",
        "timestamp" : 1356872952000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "setGLFunctionAvailability(..): Unify GLInt and GLString version validation; Refines commit b6ae4e4dcbd740dd57de9dc3280d943e98cdaa76\u000a\u000a- Limit getGLIntVersion() w/ non ARB ctx to 3.0 - similar to getGLVersionNumber(.., String).\u000a\u000a- GLInt only proceeds w/ valid version\u000a\u000a- Always test GLInt version before GLString version,\u000a  cont. w/ GLString version if GLInt failed.\u000a\u000a- Fail if strictMode and GLInt failed, but GLString reports GL >= 3.0\u000a\u000a- Fail is strictMode and neither GLInt nor GLString could validate version\u000a\u000a- Clear glError before succeeding (could be tainted by GLInt version test)\u000a",
        "date" : "2012-12-30T14:09:12+0100",
        "id" : "ece5acb85b3dac22352aca75dd09aadcb96b43f3",
        "msg" : "setGLFunctionAvailability(..): Unify GLInt and GLString version",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/GLContextImpl.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/jogamp/opengl/SharedResourceRunner.java"
        ],
        "commitId" : "fee7dbecbaaa9a65ff8cb0f54531dada413233d1",
        "timestamp" : 1356873015000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "SharedResourceRunner: Always dump Exception if catched @ creation, not just in DEBUG case.\u000a\u000aThis seems to be crucial, since otherwise user is left in the dark w/o enabling debug flags.\u000a",
        "date" : "2012-12-30T14:10:15+0100",
        "id" : "fee7dbecbaaa9a65ff8cb0f54531dada413233d1",
        "msg" : "SharedResourceRunner: Always dump Exception if catched @ creation, not",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/SharedResourceRunner.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/jogamp/opengl/windows/wgl/WindowsWGLGraphicsConfiguration.java",
          "src/nativewindow/native/win32/WindowsDWM.h",
          "make/scripts/tests-x64.bat",
          "make/scripts/java-win64-dbg.bat",
          "src/nativewindow/classes/jogamp/nativewindow/windows/GDIUtil.java",
          "src/nativewindow/native/win32/GDImisc.c",
          "src/test/com/jogamp/opengl/test/junit/newt/parenting/TestTranslucentChildWindowBug632NEWT.java",
          "make/stub_includes/win32/WindowsDWM.h",
          "src/test/com/jogamp/opengl/test/junit/newt/parenting/TestTranslucentParentingAWT.java",
          "make/scripts/tests.sh"
        ],
        "commitId" : "35236f571a09e1ef21a57693bd2e4d715413f700",
        "timestamp" : 1356889217000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Bug632: Test NEWT Child Window Translucency (X11/Windows) ..\u000a\u000a- Windows: Child window is not translucent at all\u000a\u000a- X11: Child window is translucent to parent's background,\u000a       however - parents content is _not_ 'composed in'.\u000a\u000a- TODO: Find whether there is a solution or not.\u000a\u000a- Note: The child window does not change it's rel. position\u000a        if parent moves! This is a feature, since we don't\u000a        have impl. a layout.\u000a",
        "date" : "2012-12-30T18:40:17+0100",
        "id" : "35236f571a09e1ef21a57693bd2e4d715413f700",
        "msg" : "Bug632: Test NEWT Child Window Translucency (X11/Windows) ..",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/nativewindow/classes/jogamp/nativewindow/windows/GDIUtil.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/windows/wgl/WindowsWGLGraphicsConfiguration.java"
          },
          {
            "editType" : "add",
            "file" : "src/test/com/jogamp/opengl/test/junit/newt/parenting/TestTranslucentChildWindowBug632NEWT.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/newt/parenting/TestTranslucentParentingAWT.java"
          },
          {
            "editType" : "edit",
            "file" : "make/scripts/tests-x64.bat"
          },
          {
            "editType" : "edit",
            "file" : "src/nativewindow/native/win32/GDImisc.c"
          },
          {
            "editType" : "edit",
            "file" : "src/nativewindow/native/win32/WindowsDWM.h"
          },
          {
            "editType" : "edit",
            "file" : "make/scripts/tests.sh"
          },
          {
            "editType" : "edit",
            "file" : "make/stub_includes/win32/WindowsDWM.h"
          },
          {
            "editType" : "edit",
            "file" : "make/scripts/java-win64-dbg.bat"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/newt/native/WindowsWindow.c"
        ],
        "commitId" : "61eb1060ca535306d6580b23933e25710ece0b14",
        "timestamp" : 1356889259000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "NEWT WindowsWindow.c: UpdateInsets: Fix determiniation of isUndecorated - WS_SYSMENU is _not_ an indication!\u000a",
        "date" : "2012-12-30T18:40:59+0100",
        "id" : "61eb1060ca535306d6580b23933e25710ece0b14",
        "msg" : "NEWT WindowsWindow.c: UpdateInsets: Fix determiniation of isUndecorated",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/newt/native/WindowsWindow.c"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "make/scripts/tests.sh",
          "src/jogl/classes/com/jogamp/opengl/util/PMVMatrix.java"
        ],
        "commitId" : "96f8f55a8db5f430fc17ce9ea1bf45e4728ab6ac",
        "timestamp" : 1356959323000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Enhance PMVMatrix: Use FloatStack to implement PushMatrix and PopMatrix (Bug 657)\u000a\u000aOne FloatStack for each, MV, P and T, with initialialSize zero to save memore\u000aand growSizes: MV = 16 arrays, P = 2 arrays, T = 2 arrays,\u000awith array = 16 floats.\u000a\u000aThis shall save performance due to the preallocated stack when used\u000aand growing only in the above mentioned grow intervals.\u000a\u000aWe may finetune the growSize, if required.\u000a",
        "date" : "2012-12-31T14:08:43+0100",
        "id" : "96f8f55a8db5f430fc17ce9ea1bf45e4728ab6ac",
        "msg" : "Enhance PMVMatrix: Use FloatStack to implement PushMatrix and PopMatrix",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "make/scripts/tests.sh"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/util/PMVMatrix.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/jogamp/opengl/util/pngj/PngDeinterlacer.java",
          "src/jogl/classes/jogamp/opengl/util/pngj/chunks/ChunksList.java",
          "src/jogl/classes/jogamp/opengl/util/pngj/ImageLines.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/util/texture/test-ntscIG01-160x90.png",
          "src/jogl/classes/jogamp/opengl/util/pngj/chunks/ChunksListForWrite.java",
          "src/jogl/classes/jogamp/opengl/util/pngj/chunks/ChunkCopyBehaviour.java",
          "make/scripts/tests.sh",
          "src/jogl/classes/jogamp/opengl/util/pngj/chunks/PngChunkMultiple.java",
          "src/jogl/classes/jogamp/opengl/util/pngj/chunks/PngChunkTextVar.java",
          "src/jogl/classes/jogamp/opengl/util/pngj/PngIDatChunkOutputStream.java",
          "src/jogl/classes/jogamp/opengl/util/pngj/package.html",
          "src/jogl/classes/jogamp/opengl/util/pngj/chunks/PngChunkSTER.java",
          "src/jogl/classes/jogamp/opengl/util/pngj/PngIDatChunkInputStream.java",
          "src/jogl/classes/jogamp/opengl/util/pngj/ImageLineHelper.java",
          "src/jogl/classes/jogamp/opengl/util/pngj/chunks/PngChunkUNKNOWN.java",
          "src/jogl/classes/jogamp/opengl/util/pngj/chunks/PngChunkPHYS.java",
          "src/jogl/classes/jogamp/opengl/util/pngj/chunks/PngChunkTEXT.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/util/texture/test-ntscN01-160x90.png",
          "src/jogl/classes/jogamp/opengl/util/pngj/chunks/PngChunkSRGB.java",
          "src/jogl/classes/jogamp/opengl/util/pngj/PngHelper.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/util/texture/test-ntscI01-160x90.png",
          "src/jogl/classes/jogamp/opengl/util/pngj/chunks/PngChunkGAMA.java",
          "src/jogl/classes/jogamp/opengl/util/pngj/PngjExceptionInternal.java",
          "src/jogl/classes/jogamp/opengl/util/pngj/chunks/PngChunkIHDR.java",
          "LICENSE.txt",
          "src/jogl/classes/jogamp/opengl/util/pngj/chunks/PngMetadata.java",
          "src/jogl/classes/jogamp/opengl/util/pngj/FilterType.java",
          "src/jogl/classes/jogamp/opengl/util/pngj/chunks/PngChunkPLTE.java",
          "src/jogl/classes/jogamp/opengl/util/pngj/chunks/PngChunkHIST.java",
          "src/jogl/classes/jogamp/opengl/util/pngj/chunks/PngChunk.java",
          "src/jogl/classes/jogamp/opengl/util/pngj/PngReader.java",
          "src/jogl/classes/jogamp/opengl/util/pngj/chunks/PngChunkICCP.java",
          "src/jogl/classes/jogamp/opengl/util/pngj/PngWriter.java",
          "src/jogl/classes/jogamp/opengl/util/pngj/chunks/PngChunkZTXT.java",
          "src/jogl/classes/jogamp/opengl/util/pngj/ProgressiveOutputStream.java",
          "src/jogl/classes/jogamp/opengl/util/pngj/chunks/PngChunkTRNS.java",
          "src/jogl/classes/jogamp/opengl/util/pngj/ImageLine.java",
          "src/jogl/classes/jogamp/opengl/util/pngj/chunks/PngChunkCHRM.java",
          "src/jogl/classes/jogamp/opengl/util/pngj/chunks/PngChunkSPLT.java",
          "src/jogl/classes/jogamp/opengl/util/pngj/chunks/PngChunkTIME.java",
          "src/jogl/classes/jogamp/opengl/util/pngj/chunks/PngChunkSingle.java",
          "src/jogl/classes/jogamp/opengl/util/pngj/ImageInfo.java",
          "src/jogl/classes/jogamp/opengl/util/pngj/chunks/ChunkHelper.java",
          "src/jogl/classes/jogamp/opengl/util/pngj/FilterWriteStrategy.java",
          "src/jogl/classes/jogamp/opengl/util/pngj/chunks/ChunkPredicate.java",
          "src/jogl/classes/jogamp/opengl/util/pngj/chunks/PngChunkSBIT.java",
          "src/jogl/classes/jogamp/opengl/util/pngj/chunks/PngChunkIEND.java",
          "src/jogl/classes/jogamp/opengl/util/pngj/chunks/ChunkLoadBehaviour.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/util/texture/TestPNGTextureFromFileNEWT.java",
          "src/jogl/classes/jogamp/opengl/util/pngj/chunks/PngChunkIDAT.java",
          "src/jogl/classes/jogamp/opengl/util/pngj/chunks/ChunkList.java",
          "src/jogl/classes/jogamp/opengl/util/pngj/chunks/PngChunkSkipped.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/util/texture/TestPNGTextureFromFileAWT.java",
          "src/jogl/classes/jogamp/opengl/util/pngj/chunks/ChunkRaw.java",
          "src/jogl/classes/jogamp/opengl/util/pngj/PngHelperInternal.java",
          "src/jogl/classes/jogamp/opengl/util/pngj/chunks/PngChunkOFFS.java",
          "src/jogl/classes/jogamp/opengl/util/pngj/chunks/PngChunkITXT.java",
          "src/jogl/classes/jogamp/opengl/util/pngj/chunks/PngChunkBKGD.java"
        ],
        "commitId" : "921b33825340d27deec2883ded21cb7434decc94",
        "timestamp" : 1356964755000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Update PNGJ 0.85 -> 1.12 (w/ interlace read support) ; Added PNG Interlace read tests (TestPNGTextureFromFileNEWT)\u000a",
        "date" : "2012-12-31T15:39:15+0100",
        "id" : "921b33825340d27deec2883ded21cb7434decc94",
        "msg" : "Update PNGJ 0.85 -> 1.12 (w/ interlace read support) ; Added PNG",
        "paths" : [
          {
            "editType" : "add",
            "file" : "src/jogl/classes/jogamp/opengl/util/pngj/ImageLines.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/util/pngj/chunks/ChunkLoadBehaviour.java"
          },
          {
            "editType" : "add",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/util/texture/test-ntscIG01-160x90.png"
          },
          {
            "editType" : "delete",
            "file" : "src/jogl/classes/jogamp/opengl/util/pngj/PngHelper.java"
          },
          {
            "editType" : "add",
            "file" : "src/jogl/classes/jogamp/opengl/util/pngj/chunks/PngChunkMultiple.java"
          },
          {
            "editType" : "add",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/util/texture/test-ntscN01-160x90.png"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/util/pngj/chunks/ChunkCopyBehaviour.java"
          },
          {
            "editType" : "add",
            "file" : "src/jogl/classes/jogamp/opengl/util/pngj/PngjExceptionInternal.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/util/pngj/chunks/PngChunkSRGB.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/util/pngj/chunks/PngChunkITXT.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/util/pngj/FilterType.java"
          },
          {
            "editType" : "add",
            "file" : "src/jogl/classes/jogamp/opengl/util/pngj/chunks/PngChunkSingle.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/util/pngj/chunks/PngChunkTIME.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/util/texture/TestPNGTextureFromFileNEWT.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/util/pngj/chunks/PngChunkIEND.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/util/pngj/chunks/PngChunkIDAT.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/util/pngj/chunks/PngChunkPHYS.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/util/pngj/chunks/PngChunkPLTE.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/util/pngj/chunks/PngChunkTRNS.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/util/pngj/chunks/PngMetadata.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/util/pngj/package.html"
          },
          {
            "editType" : "add",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/util/texture/test-ntscI01-160x90.png"
          },
          {
            "editType" : "add",
            "file" : "src/jogl/classes/jogamp/opengl/util/pngj/PngDeinterlacer.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/util/pngj/chunks/PngChunkIHDR.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/util/pngj/PngReader.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/util/pngj/chunks/ChunkHelper.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/util/pngj/ImageLine.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/util/pngj/PngIDatChunkInputStream.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/util/pngj/chunks/PngChunkTextVar.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/util/pngj/chunks/PngChunkBKGD.java"
          },
          {
            "editType" : "add",
            "file" : "src/jogl/classes/jogamp/opengl/util/pngj/chunks/PngChunkOFFS.java"
          },
          {
            "editType" : "add",
            "file" : "src/jogl/classes/jogamp/opengl/util/pngj/chunks/ChunksListForWrite.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/util/pngj/chunks/PngChunkCHRM.java"
          },
          {
            "editType" : "add",
            "file" : "src/jogl/classes/jogamp/opengl/util/pngj/chunks/PngChunkSkipped.java"
          },
          {
            "editType" : "add",
            "file" : "src/jogl/classes/jogamp/opengl/util/pngj/chunks/PngChunkSTER.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/util/pngj/chunks/ChunkRaw.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/util/pngj/chunks/PngChunkZTXT.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/util/pngj/ImageInfo.java"
          },
          {
            "editType" : "edit",
            "file" : "make/scripts/tests.sh"
          },
          {
            "editType" : "edit",
            "file" : "LICENSE.txt"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/util/pngj/chunks/PngChunkGAMA.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/util/pngj/chunks/PngChunkHIST.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/util/pngj/chunks/PngChunkSBIT.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/util/pngj/chunks/PngChunkTEXT.java"
          },
          {
            "editType" : "add",
            "file" : "src/jogl/classes/jogamp/opengl/util/pngj/ImageLineHelper.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/util/pngj/PngIDatChunkOutputStream.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/util/pngj/chunks/PngChunkICCP.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/util/pngj/FilterWriteStrategy.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/util/texture/TestPNGTextureFromFileAWT.java"
          },
          {
            "editType" : "add",
            "file" : "src/jogl/classes/jogamp/opengl/util/pngj/PngHelperInternal.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/util/pngj/chunks/PngChunk.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/util/pngj/chunks/PngChunkSPLT.java"
          },
          {
            "editType" : "delete",
            "file" : "src/jogl/classes/jogamp/opengl/util/pngj/chunks/ChunkList.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/util/pngj/ProgressiveOutputStream.java"
          },
          {
            "editType" : "add",
            "file" : "src/jogl/classes/jogamp/opengl/util/pngj/chunks/ChunksList.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/util/pngj/PngWriter.java"
          },
          {
            "editType" : "add",
            "file" : "src/jogl/classes/jogamp/opengl/util/pngj/chunks/ChunkPredicate.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/util/pngj/chunks/PngChunkUNKNOWN.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/com/jogamp/opengl/util/GLArrayDataWrapper.java"
        ],
        "commitId" : "6fd9c3d84e1758ae27cd10a89237a558460ca1fb",
        "timestamp" : 1357208574000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Fix GLArrayDataClient createGLSL(..) 'name' setting; Also adds equal behavior for Client/Server FFP usage.\u000a\u000a- GLArrayDataWrapper's init() only validated and set the 'name' for VBO ARRAY_BUFFER usage and validates it,\u000a  regardless of FFP or GLSL usage.\u000a\u000a- GLArrayDataWrapper's init() included the no-VBO case to the above 'name' set/validate code path.\u000a",
        "date" : "2013-01-03T11:22:54+0100",
        "id" : "6fd9c3d84e1758ae27cd10a89237a558460ca1fb",
        "msg" : "Fix GLArrayDataClient createGLSL(..) 'name' setting; Also adds equal",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/util/GLArrayDataWrapper.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/test/com/jogamp/opengl/test/junit/jogl/acore/TestExclusiveContext01VSyncAnimAWT.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/acore/TestExclusiveContext11VSyncAnimNEWT.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/acore/ExclusiveContextBase00AWT.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/acore/TestExclusiveContext01VSyncAnimNEWT.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/awt/TestGearsES2AWT.java",
          "src/jogl/classes/com/jogamp/opengl/util/AnimatorBase.java",
          "make/scripts/tests.sh",
          "src/test/com/jogamp/opengl/test/junit/jogl/acore/TestExclusiveContext02FPSAnimAWT.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/acore/ExclusiveContextBase00NEWT.java",
          "make/scripts/tests-x64.bat",
          "src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/GearsES2.java",
          "src/newt/classes/com/jogamp/newt/awt/applet/JOGLNewtAppletBase.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/newt/TestGearsES2NEWT.java",
          "src/jogl/classes/javax/media/opengl/GLContext.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/RedSquareES2.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/acore/ExclusiveContextBase10AWT.java",
          "src/jogl/classes/javax/media/opengl/GLAnimatorControl.java",
          "src/jogl/classes/javax/media/opengl/awt/GLJPanel.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/acore/InitConcurrentBaseNEWT.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/acore/TestExclusiveContext12FPSAnimNEWT.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/demos/es1/newt/TestGearsES1NEWT.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/acore/ExclusiveContextBase10.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/acore/TestExclusiveContext02FPSAnimNEWT.java",
          "src/jogl/classes/jogamp/opengl/GLDrawableHelper.java",
          "src/jogl/classes/com/jogamp/opengl/util/FPSAnimator.java",
          "src/jogl/classes/javax/media/opengl/GLAutoDrawable.java",
          "src/jogl/classes/com/jogamp/opengl/swt/GLCanvas.java",
          "src/jogl/classes/com/jogamp/opengl/util/Animator.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/acore/ExclusiveContextBase10NEWT.java",
          "src/jogl/classes/jogamp/opengl/GLAutoDrawableBase.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/acore/ExclusiveContextBase00.java",
          "src/jogl/classes/javax/media/opengl/awt/GLCanvas.java"
        ],
        "commitId" : "224fab1b2c71464826594740022fdcbe278867dc",
        "timestamp" : 1357884804000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GLAutoDrawable/AnimatorBase: Add ExclusiveContextThread (ECT) feature; AnimatorBase: Add setModeBits/MODE_EXPECT_AWT_RENDERING_THREAD; FPSAnimator: Make transactions deterministic.\u000a\u000aExclusiveContextThread (ECT) allows user to dedicate a GLContext to a given thread.\u000aOnly the ECT will be allowed to claim the GLContext, hence releasing must be done on the ECT itself.\u000a\u000aThe core feature is accessible via GLAutoDrawable, while it can be conveniently enabled and disabled\u000avia an AnimatorBase implementation. The latter ensures it's being released on the ECT and waits for the result.\u000a\u000aNote that ECT cannot be guaranteed to work correctly w/ native (heavyweight) AWT components\u000adue to resource locking and AWT-EDT access. This is disabled in all new tests per default and\u000anoted on the API doc.\u000a\u000aNote: 'Animator transaction' == start(), stop(), pause(), resume().\u000a\u000a- Add ExclusiveContextThread (ECT) feature\u000a  - GLAutoDrawable NEW:\u000a    - Thread setExclusiveContextThread(Thread t)\u000a    - Thread getExclusiveContextThread()\u000a\u000a  - AnimatorBase NEW:\u000a    - Thread setExclusiveContext(Thread t)\u000a    - boolean setExclusiveContext(boolean enable)\u000a    - boolean isExclusiveContextEnabled()\u000a    - Thread getExclusiveContextThread()\u000a\u000a- AnimatorBase: Add setModeBits/MODE_EXPECT_AWT_RENDERING_THREAD\u000a  Allows user to pre-determine whether AWT rendering is expected before starting the animator.\u000a  If AWT is excluded, a more simple and transaction correct impl. will be used.\u000a\u000a- FPSAnimator: Make transactions deterministic.\u000a  FPSAnimator previously did not ensure whether a transaction was completed.\u000a  A deterministic transaction is required to utilize ECT.\u000a  FPSAnimator now uses same mechanism like Animator to ensure completeness,\u000a  i.e. Condition and 'finishLifecycleAction(..)'. Both are moved to AnimatorBase.\u000a\u000aTested manually on Linux/NV, Linux/AMD, Windows/NV and OSX/NV.\u000a  - All new tests validated correctness.\u000a  - All new tests shows an performance increase of ~3x w/ single GLWindow, where multiple GLWindows don't show a perf. increase.\u000a",
        "date" : "2013-01-11T07:13:24+0100",
        "id" : "224fab1b2c71464826594740022fdcbe278867dc",
        "msg" : "GLAutoDrawable/AnimatorBase: Add ExclusiveContextThread (ECT) feature;",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/javax/media/opengl/GLAnimatorControl.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/GLAutoDrawableBase.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/acore/InitConcurrentBaseNEWT.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/GLDrawableHelper.java"
          },
          {
            "editType" : "add",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/acore/TestExclusiveContext02FPSAnimAWT.java"
          },
          {
            "editType" : "add",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/acore/TestExclusiveContext12FPSAnimNEWT.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/javax/media/opengl/GLContext.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/swt/GLCanvas.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/util/AnimatorBase.java"
          },
          {
            "editType" : "add",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/acore/TestExclusiveContext11VSyncAnimNEWT.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/demos/es1/newt/TestGearsES1NEWT.java"
          },
          {
            "editType" : "edit",
            "file" : "src/newt/classes/com/jogamp/newt/awt/applet/JOGLNewtAppletBase.java"
          },
          {
            "editType" : "add",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/acore/TestExclusiveContext01VSyncAnimNEWT.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/awt/TestGearsES2AWT.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/javax/media/opengl/GLAutoDrawable.java"
          },
          {
            "editType" : "add",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/acore/ExclusiveContextBase00AWT.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/util/Animator.java"
          },
          {
            "editType" : "add",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/acore/TestExclusiveContext01VSyncAnimAWT.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/RedSquareES2.java"
          },
          {
            "editType" : "add",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/acore/ExclusiveContextBase00NEWT.java"
          },
          {
            "editType" : "add",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/acore/ExclusiveContextBase10.java"
          },
          {
            "editType" : "add",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/acore/ExclusiveContextBase00.java"
          },
          {
            "editType" : "edit",
            "file" : "make/scripts/tests-x64.bat"
          },
          {
            "editType" : "edit",
            "file" : "make/scripts/tests.sh"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/javax/media/opengl/awt/GLJPanel.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/GearsES2.java"
          },
          {
            "editType" : "add",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/acore/ExclusiveContextBase10NEWT.java"
          },
          {
            "editType" : "add",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/acore/TestExclusiveContext02FPSAnimNEWT.java"
          },
          {
            "editType" : "add",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/acore/ExclusiveContextBase10AWT.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/newt/TestGearsES2NEWT.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/util/FPSAnimator.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/javax/media/opengl/awt/GLCanvas.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/newt/classes/com/jogamp/newt/opengl/GLWindow.java",
          "src/jogl/classes/jogamp/opengl/GLContextImpl.java"
        ],
        "commitId" : "bdc2e57ffc91d88e187ded8c42335710448f50f0",
        "timestamp" : 1357884889000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Minor: GLWindow fix size validation; GLContextImpl: Remove hold ctx lock count constraints at destroy.\u000a",
        "date" : "2013-01-11T07:14:49+0100",
        "id" : "bdc2e57ffc91d88e187ded8c42335710448f50f0",
        "msg" : "Minor: GLWindow fix size validation; GLContextImpl: Remove hold ctx lock",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/GLContextImpl.java"
          },
          {
            "editType" : "edit",
            "file" : "src/newt/classes/com/jogamp/newt/opengl/GLWindow.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/test/com/jogamp/opengl/test/junit/jogl/demos/es1/OlympicES1.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/demos/es1/newt/TestOlympicES1NEWT.java"
        ],
        "commitId" : "cb3e3638179a360a07325a908da7593f8e285f3c",
        "timestamp" : 1357885331000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Add old Olympic demo from GL4Java - Make it use ES1 and suitable for FixedFunctionEmul.\u000a",
        "date" : "2013-01-11T07:22:11+0100",
        "id" : "cb3e3638179a360a07325a908da7593f8e285f3c",
        "msg" : "Add old Olympic demo from GL4Java - Make it use ES1 and suitable for",
        "paths" : [
          {
            "editType" : "add",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/demos/es1/newt/TestOlympicES1NEWT.java"
          },
          {
            "editType" : "add",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/demos/es1/OlympicES1.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "make/build-test.xml"
        ],
        "commitId" : "a1bc317c24d55da1199450fe4c9c85d1105844b5",
        "timestamp" : 1357894880000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "build/test: newt-headless shall exclude AWT/SWT\u000a\u000aTestNewtEventModifiersNEWTWindowAWT was incl. in newt headless\u000a",
        "date" : "2013-01-11T10:01:20+0100",
        "id" : "a1bc317c24d55da1199450fe4c9c85d1105844b5",
        "msg" : "build/test: newt-headless shall exclude AWT/SWT",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "make/build-test.xml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/jogamp/opengl/egl/EGLContext.java",
          "src/jogl/classes/com/jogamp/opengl/GLExtensions.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/demos/gl3/GeomShader01TextureGL3.java",
          "src/jogl/classes/com/jogamp/opengl/util/glsl/ShaderUtil.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/demos/gl3/newt/TestGeomShader01TextureGL3NEWT.java",
          "make/scripts/tests.sh",
          "src/test/com/jogamp/opengl/test/junit/jogl/demos/gl3/shader/texture01_xxx.fp",
          "src/test/com/jogamp/opengl/test/junit/jogl/demos/gl3/shader/passthrough01_xxx.gp",
          "src/jogl/classes/com/jogamp/opengl/util/glsl/ShaderCode.java",
          "src/jogl/classes/jogamp/opengl/GLContextImpl.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/demos/gl3/shader/flipXYZ01_xxx.gp",
          "src/jogl/classes/javax/media/opengl/GLContext.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/demos/gl3/shader/texture01_xxx.vp"
        ],
        "commitId" : "62c8fcc30dd5f9558df9ca907a6936c7bc252527",
        "timestamp" : 1357974271000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Adding GEOMETRY_SHADER support in ShaderCode, adding core GL3/GEOMETRY_SHADER unit tests. ; Simplified GLContext version number\u000a\u000a- Adding GEOMETRY_SHADER support in ShaderCode, adding core GL3/GEOMETRY_SHADER unit tests\u000a\u000a  Chuck Ritola reported in December 2012 that we lack support of GEOMETRY_SHADER\u000a  and he provided a test case.\u000a\u000a  The latter is cleaned up to use GL3 core profile features only\u000a  tesing a pass-through and the flip-XYZ geometry shader.\u000a\u000a  ShaderUtil is fixed.\u000a\u000a- Simplified GLContext version number\u000a  The OpenGL major/minor version is now hold in a VersionNumber instance\u000a  to simplify usage. Also expose it via getGLVersionNumber() while marking\u000a  getGLVersionMajor() and getGLVersionMinor() deprecated.\u000a",
        "date" : "2013-01-12T08:04:31+0100",
        "id" : "62c8fcc30dd5f9558df9ca907a6936c7bc252527",
        "msg" : "Adding GEOMETRY_SHADER support in ShaderCode, adding core",
        "paths" : [
          {
            "editType" : "add",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/demos/gl3/newt/TestGeomShader01TextureGL3NEWT.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/javax/media/opengl/GLContext.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/egl/EGLContext.java"
          },
          {
            "editType" : "edit",
            "file" : "make/scripts/tests.sh"
          },
          {
            "editType" : "add",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/demos/gl3/shader/texture01_xxx.fp"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/GLExtensions.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/util/glsl/ShaderCode.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/GLContextImpl.java"
          },
          {
            "editType" : "add",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/demos/gl3/shader/texture01_xxx.vp"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/util/glsl/ShaderUtil.java"
          },
          {
            "editType" : "add",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/demos/gl3/shader/passthrough01_xxx.gp"
          },
          {
            "editType" : "add",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/demos/gl3/GeomShader01TextureGL3.java"
          },
          {
            "editType" : "add",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/demos/gl3/shader/flipXYZ01_xxx.gp"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/test/com/jogamp/opengl/test/junit/jogl/acore/ect/ExclusiveContextBase00.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/acore/TestExclusiveContext01VSyncAnimAWT.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/acore/TestExclusiveContext11VSyncAnimNEWT.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/acore/ExclusiveContextBase00AWT.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/acore/TestExclusiveContext01VSyncAnimNEWT.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/acore/ect/ExclusiveContextBase10NEWT.java",
          "make/scripts/tests.sh",
          "src/test/com/jogamp/opengl/test/junit/jogl/acore/ect/ExclusiveContextBase00AWT.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/acore/TestExclusiveContext02FPSAnimAWT.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/acore/ExclusiveContextBase00NEWT.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/acore/ect/TestExclusiveContext12FPSAnimNEWT.java",
          "make/scripts/tests-x64.bat",
          "src/test/com/jogamp/opengl/test/junit/jogl/acore/ect/ExclusiveContextBase10AWT.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/acore/ExclusiveContextBase10AWT.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/acore/ect/ExclusiveContextBase10.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/acore/TestExclusiveContext12FPSAnimNEWT.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/acore/ect/TestExclusiveContext02FPSAnimNEWT.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/acore/ect/TestExclusiveContext02FPSAnimAWT.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/acore/ExclusiveContextBase10.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/acore/ect/ExclusiveContextBase00NEWT.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/acore/TestExclusiveContext02FPSAnimNEWT.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/acore/ExclusiveContextBase10NEWT.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/acore/ect/TestExclusiveContext01VSyncAnimAWT.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/acore/ExclusiveContextBase00.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/acore/ect/TestExclusiveContext01VSyncAnimNEWT.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/acore/ect/TestExclusiveContext11VSyncAnimNEWT.java"
        ],
        "commitId" : "64041218f3d5965b9525e8699aa97e9ec751cd95",
        "timestamp" : 1357974535000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Move all Exclusive Context Thread (ECT) tests to it's own package to de-clutter core test package\u000a",
        "date" : "2013-01-12T08:08:55+0100",
        "id" : "64041218f3d5965b9525e8699aa97e9ec751cd95",
        "msg" : "Move all Exclusive Context Thread (ECT) tests to it's own package to",
        "paths" : [
          {
            "editType" : "delete",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/acore/ExclusiveContextBase00.java"
          },
          {
            "editType" : "add",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/acore/ect/ExclusiveContextBase00NEWT.java"
          },
          {
            "editType" : "add",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/acore/ect/TestExclusiveContext01VSyncAnimAWT.java"
          },
          {
            "editType" : "delete",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/acore/ExclusiveContextBase10.java"
          },
          {
            "editType" : "add",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/acore/ect/TestExclusiveContext12FPSAnimNEWT.java"
          },
          {
            "editType" : "add",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/acore/ect/TestExclusiveContext01VSyncAnimNEWT.java"
          },
          {
            "editType" : "delete",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/acore/TestExclusiveContext02FPSAnimAWT.java"
          },
          {
            "editType" : "add",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/acore/ect/TestExclusiveContext11VSyncAnimNEWT.java"
          },
          {
            "editType" : "delete",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/acore/ExclusiveContextBase10AWT.java"
          },
          {
            "editType" : "delete",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/acore/TestExclusiveContext12FPSAnimNEWT.java"
          },
          {
            "editType" : "delete",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/acore/TestExclusiveContext01VSyncAnimAWT.java"
          },
          {
            "editType" : "delete",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/acore/ExclusiveContextBase00NEWT.java"
          },
          {
            "editType" : "add",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/acore/ect/ExclusiveContextBase10AWT.java"
          },
          {
            "editType" : "add",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/acore/ect/ExclusiveContextBase10.java"
          },
          {
            "editType" : "delete",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/acore/TestExclusiveContext11VSyncAnimNEWT.java"
          },
          {
            "editType" : "delete",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/acore/TestExclusiveContext01VSyncAnimNEWT.java"
          },
          {
            "editType" : "add",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/acore/ect/TestExclusiveContext02FPSAnimNEWT.java"
          },
          {
            "editType" : "add",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/acore/ect/ExclusiveContextBase00AWT.java"
          },
          {
            "editType" : "add",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/acore/ect/ExclusiveContextBase10NEWT.java"
          },
          {
            "editType" : "delete",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/acore/ExclusiveContextBase10NEWT.java"
          },
          {
            "editType" : "edit",
            "file" : "make/scripts/tests-x64.bat"
          },
          {
            "editType" : "add",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/acore/ect/ExclusiveContextBase00.java"
          },
          {
            "editType" : "delete",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/acore/ExclusiveContextBase00AWT.java"
          },
          {
            "editType" : "add",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/acore/ect/TestExclusiveContext02FPSAnimAWT.java"
          },
          {
            "editType" : "delete",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/acore/TestExclusiveContext02FPSAnimNEWT.java"
          },
          {
            "editType" : "edit",
            "file" : "make/scripts/tests.sh"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/javax/media/opengl/GLBase.java"
        ],
        "commitId" : "955a444939ba67c6077b6937e191719aa184dafe",
        "timestamp" : 1357974803000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Fix Bug 666: GLBase.java line 438 contained some invalid trailing characters (regression from e7064ece049705e013d80985eae698ce0ee3c4e3)\u000a",
        "date" : "2013-01-12T08:13:23+0100",
        "id" : "955a444939ba67c6077b6937e191719aa184dafe",
        "msg" : "Fix Bug 666: GLBase.java line 438 contained some invalid trailing",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/javax/media/opengl/GLBase.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/newt/classes/jogamp/newt/driver/windows/WindowDriver.java",
          "src/newt/classes/jogamp/newt/driver/android/WindowDriver.java",
          "src/newt/native/WindowsWindow.c",
          "src/newt/classes/com/jogamp/newt/NewtFactory.java",
          "src/newt/classes/jogamp/newt/driver/android/event/AndroidNewtEventFactory.java",
          "src/newt/classes/jogamp/newt/awt/event/AWTNewtEventFactory.java",
          "make/resources/android/AndroidManifest-test.xml",
          "src/newt/native/X11Display.c",
          "make/scripts/tests-x32.bat",
          "make/scripts/tests.sh",
          "src/newt/classes/jogamp/newt/driver/x11/WindowDriver.java",
          "src/newt/classes/jogamp/newt/WindowImpl.java",
          "make/scripts/tests-x64.bat",
          "src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/GearsES2.java",
          "src/nativewindow/classes/jogamp/nativewindow/windows/RegisteredClassFactory.java",
          "src/newt/classes/jogamp/newt/swt/event/SWTNewtEventFactory.java",
          "src/newt/classes/jogamp/newt/driver/windows/DisplayDriver.java",
          "src/newt/native/X11Event.c",
          "make/scripts/java-win64-dbg.bat",
          "src/newt/native/KDWindow.c",
          "make/scripts/java-win32-dbg.bat",
          "src/newt/classes/com/jogamp/newt/event/MouseEvent.java",
          "src/nativewindow/classes/jogamp/nativewindow/windows/RegisteredClass.java",
          "src/newt/native/NewtMacWindow.m",
          "src/nativewindow/classes/jogamp/nativewindow/windows/GDIUtil.java",
          "src/newt/native/bcm_vc_iv.c",
          "src/newt/classes/jogamp/newt/driver/android/event/AndroidNewtEventTranslator.java",
          "src/newt/native/XCBEvent.c"
        ],
        "commitId" : "da14d647581751f3d2f6d651741eaec485e255b5",
        "timestamp" : 1358135901000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "NEWT-MouseEvent getWheelRotation() API Update - Fixes Bug 659: NEWT Horizontal Scrolling Behavior (OSX, X11, Win32); Bug 639: High-Res Mouse-Wheel\u000a\u000a- API update 'float getWheelRotation()':\u000a  Usually a wheel rotation of > 0.0f is up, and < 0.0f is down.\u000a\u000a  Usually a wheel rotations is considered a vertical scroll.\u000a  If isShiftDown(), a wheel rotations is considered a horizontal scroll,\u000a  where shift-up = left = > 0.0f, and shift-down = right = < 0.0f.\u000a\u000a  However, on some OS this might be flipped due to the OS default behavior.\u000a  The latter is true for OS X 10.7 (Lion) for example.\u000a\u000a  The events will be send usually in steps of one, ie. -1.0f and 1.0f.\u000a  Higher values may result due to fast scrolling.\u000a  Fractional values may result due to slow scrolling with high resolution devices.\u000a\u000a  The button number refers to the wheel number.\u000a\u000a- Fix Bug 659: NEWT Horizontal Scrolling Behavior (OSX, X11, Win32)\u000a\u000a  - See new API doc above\u000a\u000a  - X11/Horiz: Keep using button1 and set SHIFT modifier\u000a\u000a  - OSX/Horiz:\u000a    - PAD: Use highes absolute scrolling value (Axis1/Axis2)\u000a           and set SHIFT modifier for horizontal scrolling (Axis2)\u000a    - XXX: Use deltaX for horizontal scrolling, detected by SHIFT modifier. (traditional)\u000a\u000a  - Windows/Horiz:\u000a    - Add WM_MOUSEHWHEEL support (-> set SHIFT modifier), but it's rarely impl. for trackpads!\u000a    - Add exp. WM_HSCROLL, but it will only be delivered if windows has WS_HSCROLL, hence dead code!\u000a\u000a  - Android:\u000a    - Add ACTION_SCROLL (API Level 12), only used if layout is a scroll layout\u000a\u000a    - Using GestureDetector to detect scroll even w/ pointerCount > 2, while:\u000a         - skipping 1st scroll event (value too high)\u000a         - skipping other events while in-scroll mode\u000a         - waiting until all pointers were released before cont. normally\u000a         - using View config's 1/touchSlope as scale factor\u000a\u000a- Fix Bug 639: High-Res Mouse-Wheel\u000a  - getWheelRotation() return value changed: int -> float\u000a    allowing fractions, see API doc changes above.\u000a\u000a  - Fractions are currently supported natively (API) on\u000a    - Windows\u000a    - OSX\u000a    - Android\u000a\u000a- AndroidNewtEventFactory ir refactored (requires an instance now) and\u000a  AndroidNewtEventTranslator (event listener) is pulled our of Android WindowDriver.\u000a",
        "date" : "2013-01-14T04:58:21+0100",
        "id" : "da14d647581751f3d2f6d651741eaec485e255b5",
        "msg" : "NEWT-MouseEvent getWheelRotation() API Update - Fixes Bug 659: NEWT",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/newt/native/NewtMacWindow.m"
          },
          {
            "editType" : "edit",
            "file" : "src/nativewindow/classes/jogamp/nativewindow/windows/GDIUtil.java"
          },
          {
            "editType" : "edit",
            "file" : "src/newt/classes/jogamp/newt/driver/x11/WindowDriver.java"
          },
          {
            "editType" : "edit",
            "file" : "make/resources/android/AndroidManifest-test.xml"
          },
          {
            "editType" : "edit",
            "file" : "src/newt/native/bcm_vc_iv.c"
          },
          {
            "editType" : "edit",
            "file" : "make/scripts/tests-x64.bat"
          },
          {
            "editType" : "edit",
            "file" : "make/scripts/java-win32-dbg.bat"
          },
          {
            "editType" : "edit",
            "file" : "src/newt/native/XCBEvent.c"
          },
          {
            "editType" : "edit",
            "file" : "src/newt/native/KDWindow.c"
          },
          {
            "editType" : "edit",
            "file" : "src/newt/classes/jogamp/newt/awt/event/AWTNewtEventFactory.java"
          },
          {
            "editType" : "edit",
            "file" : "src/newt/classes/jogamp/newt/driver/android/event/AndroidNewtEventFactory.java"
          },
          {
            "editType" : "edit",
            "file" : "make/scripts/tests-x32.bat"
          },
          {
            "editType" : "add",
            "file" : "src/newt/classes/jogamp/newt/driver/android/event/AndroidNewtEventTranslator.java"
          },
          {
            "editType" : "edit",
            "file" : "src/nativewindow/classes/jogamp/nativewindow/windows/RegisteredClass.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/GearsES2.java"
          },
          {
            "editType" : "edit",
            "file" : "src/newt/native/WindowsWindow.c"
          },
          {
            "editType" : "edit",
            "file" : "make/scripts/java-win64-dbg.bat"
          },
          {
            "editType" : "edit",
            "file" : "src/newt/classes/jogamp/newt/driver/windows/WindowDriver.java"
          },
          {
            "editType" : "edit",
            "file" : "src/newt/classes/jogamp/newt/driver/android/WindowDriver.java"
          },
          {
            "editType" : "edit",
            "file" : "src/nativewindow/classes/jogamp/nativewindow/windows/RegisteredClassFactory.java"
          },
          {
            "editType" : "edit",
            "file" : "src/newt/classes/jogamp/newt/driver/windows/DisplayDriver.java"
          },
          {
            "editType" : "edit",
            "file" : "make/scripts/tests.sh"
          },
          {
            "editType" : "edit",
            "file" : "src/newt/native/X11Display.c"
          },
          {
            "editType" : "edit",
            "file" : "src/newt/native/X11Event.c"
          },
          {
            "editType" : "edit",
            "file" : "src/newt/classes/com/jogamp/newt/event/MouseEvent.java"
          },
          {
            "editType" : "edit",
            "file" : "src/newt/classes/com/jogamp/newt/NewtFactory.java"
          },
          {
            "editType" : "edit",
            "file" : "src/newt/classes/jogamp/newt/WindowImpl.java"
          },
          {
            "editType" : "edit",
            "file" : "src/newt/classes/jogamp/newt/swt/event/SWTNewtEventFactory.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/newt/classes/jogamp/newt/driver/linux/LinuxMouseTracker.java"
        ],
        "commitId" : "7c1b15bfb00b36e80284701b1ede992b7eb82ef4",
        "timestamp" : 1358258191000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/xerxes",
          "fullName" : "xerxes"
        },
        "authorEmail" : "xerxes@zafena.se",
        "comment" : "LinuxMouseTracker: Fix inverted Y-axis & missing button release.\u000a\u000aSigned-off-by: Xerxes Rånby <xerxes@zafena.se>\u000a",
        "date" : "2013-01-15T14:56:31+0100",
        "id" : "7c1b15bfb00b36e80284701b1ede992b7eb82ef4",
        "msg" : "LinuxMouseTracker: Fix inverted Y-axis & missing button release.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/newt/classes/jogamp/newt/driver/linux/LinuxMouseTracker.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/com/jogamp/opengl/util/glsl/ShaderState.java",
          "make/scripts/tests.sh"
        ],
        "commitId" : "5060b728b26a89a14367f8fca9f4eb7968f719ca",
        "timestamp" : 1358270690000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "ShaderState: Reduce hash-map utilization at shader switch (reset uniforms/attributes); Refine API doc.\u000a",
        "date" : "2013-01-15T18:24:50+0100",
        "id" : "5060b728b26a89a14367f8fca9f4eb7968f719ca",
        "msg" : "ShaderState: Reduce hash-map utilization at shader switch (reset",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/util/glsl/ShaderState.java"
          },
          {
            "editType" : "edit",
            "file" : "make/scripts/tests.sh"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "README.txt"
        ],
        "commitId" : "f89fab356c556bff91cfc74e1f723ae5477de9db",
        "timestamp" : 1358350386000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "README: Add new IRC channel, mark Jabber deprecated\u000a",
        "date" : "2013-01-16T16:33:06+0100",
        "id" : "f89fab356c556bff91cfc74e1f723ae5477de9db",
        "msg" : "README: Add new IRC channel, mark Jabber deprecated",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "README.txt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "LICENSE.txt"
        ],
        "commitId" : "9c189b4202b25f08b0bddd9dcda4f085ec85912b",
        "timestamp" : 1358350468000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "README: Add new IRC channel, mark Jabber deprecated\u000a",
        "date" : "2013-01-16T16:34:28+0100",
        "id" : "9c189b4202b25f08b0bddd9dcda4f085ec85912b",
        "msg" : "README: Add new IRC channel, mark Jabber deprecated",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "LICENSE.txt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/test/com/jogamp/opengl/test/android/LauncherUtil.java"
        ],
        "commitId" : "896a0821b78c9aadf38e0d881922e03849584984",
        "timestamp" : 1358468624000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Sync LauncherUtil w/ GlueGen commit 1b9f0739ecc25105384b557afa698c42e08d4cc6 (adding main-cmdline-args)\u000a",
        "date" : "2013-01-18T01:23:44+0100",
        "id" : "896a0821b78c9aadf38e0d881922e03849584984",
        "msg" : "Sync LauncherUtil w/ GlueGen commit",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/android/LauncherUtil.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/test/com/jogamp/opengl/test/junit/jogl/acore/TestBug669RecursiveGLContext02NEWT.java",
          "src/jogl/classes/jogamp/opengl/GLContextImpl.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/acore/TestBug669RecursiveGLContext01NEWT.java",
          "src/jogl/classes/javax/media/opengl/GLContext.java",
          "make/scripts/tests.sh",
          "src/jogl/classes/jogamp/opengl/x11/glx/X11GLXContext.java"
        ],
        "commitId" : "34687193484b2404d83eebf5d008b71d54e52286",
        "timestamp" : 1358473115000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Fix Bug 669: Recursive GLContext makeCurrent()/release()\u000a\u000aCulprit:\u000a  GLContext's makeCurrent() didn't clear the boolean flag 'unlockContextAndSurface'\u000a  in case the context is already current (-> recursion).\u000a  Above case was detected within a code block tailed by a finally block,\u000a  which acted on mentioned flag, i.e. called lock.unlock() and hence decremented the lock count\u000a  even though the method return w/ successful state.\u000a\u000a  Fixed.\u000a\u000aAdded debug code:\u000a  GLContext.release() debug code (DEBUG | TRACE_SWITCH),\u000a  recording stack trace of last release() call, which is dumped in case no current was current.\u000a\u000aAdded 2 unit tests:\u000a  - Simple recursive GLContext makeCurrent()/release() from within GLEventListener's display().\u000a    Test also validates lock count and lock ownership.\u000a\u000a  - GLAutoDrawable display() of another GLAutoDrawable\u000a    from within GLEventListener's display(..).\u000a",
        "date" : "2013-01-18T02:38:35+0100",
        "id" : "34687193484b2404d83eebf5d008b71d54e52286",
        "msg" : "Fix Bug 669: Recursive GLContext makeCurrent()/release()",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/GLContextImpl.java"
          },
          {
            "editType" : "edit",
            "file" : "make/scripts/tests.sh"
          },
          {
            "editType" : "add",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/acore/TestBug669RecursiveGLContext01NEWT.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/javax/media/opengl/GLContext.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/x11/glx/X11GLXContext.java"
          },
          {
            "editType" : "add",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/acore/TestBug669RecursiveGLContext02NEWT.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/newt/classes/jogamp/newt/driver/android/WindowDriver.java",
          "make/scripts/adb-launch-main.sh",
          "src/newt/classes/jogamp/newt/WindowImpl.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/GearsES2.java",
          "make/scripts/adb-launch-junit.sh",
          "src/test/com/jogamp/opengl/test/junit/util/AWTRobotUtil.java",
          "src/test/com/jogamp/opengl/test/android/NEWTGearsES2ActivityLauncher.java",
          "make/scripts/tests.sh"
        ],
        "commitId" : "50f997557b91a2f014ef0c2ea848c5c326d0cfb2",
        "timestamp" : 1358571896000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "NEWT/Android: Full Lifecycle for WindowDriver; Using static ViewGroup; AWTRobotUtil: More tolerant for non AWT env.; Fix adb-launch-*\u000a\u000a- NEWT/Android WindowDriver\u000a  - Full Lifecycle, remove refs on closeNative()\u000a  - Respect isFullscreen()\u000a  - Using static ViewGroup if available and surface not ready, allows running from main()\u000a\u000a- AWTRobotUtil: More tolerant for non AWT env.\u000a  - Check for NEWT first\u000a  - Only use AWT iff available, which allows running on Android\u000a\u000a- Fix adb-launch-*\u000a  - Launch main/junit tests\u000a",
        "date" : "2013-01-19T06:04:56+0100",
        "id" : "50f997557b91a2f014ef0c2ea848c5c326d0cfb2",
        "msg" : "NEWT/Android: Full Lifecycle for WindowDriver; Using static ViewGroup;",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/android/NEWTGearsES2ActivityLauncher.java"
          },
          {
            "editType" : "edit",
            "file" : "make/scripts/adb-launch-main.sh"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/util/AWTRobotUtil.java"
          },
          {
            "editType" : "edit",
            "file" : "src/newt/classes/jogamp/newt/driver/android/WindowDriver.java"
          },
          {
            "editType" : "add",
            "file" : "make/scripts/adb-launch-junit.sh"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/GearsES2.java"
          },
          {
            "editType" : "edit",
            "file" : "src/newt/classes/jogamp/newt/WindowImpl.java"
          },
          {
            "editType" : "edit",
            "file" : "make/scripts/tests.sh"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/com/jogamp/graph/curve/opengl/Renderer.java",
          "make/scripts/tests.sh"
        ],
        "commitId" : "c59f78a4c3dbe9bb63119d1ece781d8f732b58e4",
        "timestamp" : 1358580010000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Adapt to change 5060b728b26a89a14367f8fca9f4eb7968f719ca: ShaderState.uniform(..) returns false if no location available.\u000a",
        "date" : "2013-01-19T08:20:10+0100",
        "id" : "c59f78a4c3dbe9bb63119d1ece781d8f732b58e4",
        "msg" : "Adapt to change 5060b728b26a89a14367f8fca9f4eb7968f719ca:",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/graph/curve/opengl/Renderer.java"
          },
          {
            "editType" : "edit",
            "file" : "make/scripts/tests.sh"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/test/com/jogamp/opengl/test/junit/jogl/newt/TestSwingAWTRobotUsageBeforeJOGLInitBug411.java",
          "make/scripts/tests.sh"
        ],
        "commitId" : "c27f0b37024b8a991512ad8d0856821804bb3692",
        "timestamp" : 1358618748000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "TestSwingAWTRobotUsageBeforeJOGLInitBug411: Fix 'chicken egg' init problem w/ AWTRobot, i.e. NativeWindow not yet initialized.\u000a\u000aRegression since: 50f997557b91a2f014ef0c2ea848c5c326d0cfb2\u000a",
        "date" : "2013-01-19T19:05:48+0100",
        "id" : "c27f0b37024b8a991512ad8d0856821804bb3692",
        "msg" : "TestSwingAWTRobotUsageBeforeJOGLInitBug411: Fix 'chicken egg' init",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "make/scripts/tests.sh"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/newt/TestSwingAWTRobotUsageBeforeJOGLInitBug411.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/newt/classes/jogamp/newt/driver/android/NewtVersionActivity.java",
          "src/jogl/classes/com/jogamp/opengl/JoglVersion.java"
        ],
        "commitId" : "0989484b89535d56e9f150cdf63e2a17bf36e32e",
        "timestamp" : 1358626414000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Android/NewtVersionActivity: Dump avail. GLCaps / Use stderr, since log would cap 'em (too long).\u000a",
        "date" : "2013-01-19T21:13:34+0100",
        "id" : "0989484b89535d56e9f150cdf63e2a17bf36e32e",
        "msg" : "Android/NewtVersionActivity: Dump avail. GLCaps / Use stderr, since log",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/newt/classes/jogamp/newt/driver/android/NewtVersionActivity.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/JoglVersion.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/newt/classes/jogamp/newt/driver/android/WindowDriver.java",
          "make/resources/android/res-test/values/strings.xml",
          "src/test/com/jogamp/opengl/test/android/NEWTGearsES2ECTActivityLauncher.java",
          "src/newt/classes/jogamp/newt/WindowImpl.java",
          "src/newt/classes/com/jogamp/newt/opengl/GLWindow.java",
          "src/nativewindow/classes/javax/media/nativewindow/Capabilities.java",
          "src/jogl/classes/jogamp/opengl/egl/EGLGraphicsConfigurationFactory.java",
          "src/jogl/classes/jogamp/opengl/egl/EGLGraphicsConfiguration.java",
          "src/test/com/jogamp/opengl/test/android/NEWTGearsES2Activity.java",
          "make/resources/android/AndroidManifest-test.xml",
          "src/test/com/jogamp/opengl/test/android/NEWTGearsES2RGB565ActivityLauncher.java"
        ],
        "commitId" : "85d70b7d38885fa8ba6374aa790d5a296acc8ec1",
        "timestamp" : 1358687102000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Android: Allow selection of native window formats RGBA8888, RGBX8888 and RGB565; Fix HiSilicon/Vivante/Immersion.16 EGLConfig selection (zero depth buffer @ visualID)\u000a\u000a- NEWT/Android Fix PixelFormat/NativeWindowFormat/VisualID Selection\u000a  - Fix allows proper selection of native window formats: RGBA8888, RGBX8888 and RGB565\u000a\u000a  - Selection is performed in 3 steps:\u000a    1) @ Construction (non native): SurfaceHolder.setFormat( getSurfaceHolderFormat( caps ) )\u000a    2) @ Native Surface Creation: getANativeWindowFormat( androidFormat) -> ANativeWindow_setBuffersGeometry(..)\u000a       Note: The set native format is revalidated, i.e. read out via ANativeWindow_getFormat(..).\u000a    3) @ EGL Creation: ANativeWindow_getFormat(..) -> fixCaps(..) - simply fixing the chosen caps.\u000a\u000a- NEWT GLWindow.GLLifecycleHook.resetCounter:\u000a  - Also reset GLAnimatorControl's counter, if attached.\u000a\u000a- NEWT WindowImpl -> GLLifecycleHook.resetCounter() calls issued _after_ operation before unlock().\u000a\u000a- JOGL/EGLGraphicsConfigurationFactory\u000a  - Validate whether the visualID matching EGLConfig depth buffer is suitable.\u000a    On HiSilicon/Vivante/Immersion.16: Depth buffer w/ matching visualID is zero!\u000a\u000a- NativeWindow/Capabilities.compareTo: Fix alpha comparison\u000a",
        "date" : "2013-01-20T14:05:02+0100",
        "id" : "85d70b7d38885fa8ba6374aa790d5a296acc8ec1",
        "msg" : "Android: Allow selection of native window formats RGBA8888, RGBX8888 and",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "make/resources/android/res-test/values/strings.xml"
          },
          {
            "editType" : "edit",
            "file" : "src/newt/classes/jogamp/newt/WindowImpl.java"
          },
          {
            "editType" : "add",
            "file" : "src/test/com/jogamp/opengl/test/android/NEWTGearsES2ECTActivityLauncher.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/egl/EGLGraphicsConfiguration.java"
          },
          {
            "editType" : "edit",
            "file" : "src/newt/classes/com/jogamp/newt/opengl/GLWindow.java"
          },
          {
            "editType" : "add",
            "file" : "src/test/com/jogamp/opengl/test/android/NEWTGearsES2RGB565ActivityLauncher.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/android/NEWTGearsES2Activity.java"
          },
          {
            "editType" : "edit",
            "file" : "src/nativewindow/classes/javax/media/nativewindow/Capabilities.java"
          },
          {
            "editType" : "edit",
            "file" : "src/newt/classes/jogamp/newt/driver/android/WindowDriver.java"
          },
          {
            "editType" : "edit",
            "file" : "make/resources/android/AndroidManifest-test.xml"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/egl/EGLGraphicsConfigurationFactory.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/newt/classes/com/jogamp/newt/opengl/GLWindow.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/acore/TestGLContextDrawableSwitch11NEWT.java",
          "make/scripts/tests.sh",
          "src/jogl/classes/com/jogamp/opengl/GLAutoDrawableDelegate.java",
          "src/newt/classes/jogamp/newt/driver/x11/WindowDriver.java",
          "src/nativewindow/classes/com/jogamp/nativewindow/swt/SWTAccessor.java",
          "src/jogl/classes/jogamp/opengl/GLEventListenerState.java",
          "src/newt/classes/jogamp/newt/WindowImpl.java",
          "make/scripts/tests-x64.bat",
          "src/jogl/classes/javax/media/opengl/GLContext.java",
          "src/test/com/jogamp/opengl/test/junit/util/GLEventListenerCounter.java",
          "src/nativewindow/classes/com/jogamp/nativewindow/egl/EGLGraphicsDevice.java",
          "src/jogl/classes/com/jogamp/opengl/util/GLDrawableUtil.java",
          "src/nativewindow/classes/javax/media/nativewindow/DefaultGraphicsScreen.java",
          "src/nativewindow/native/x11/Xmisc.c",
          "src/nativewindow/classes/javax/media/nativewindow/AbstractGraphicsDevice.java",
          "src/jogl/classes/jogamp/opengl/GLDrawableHelper.java",
          "src/nativewindow/classes/javax/media/nativewindow/AbstractGraphicsConfiguration.java",
          "src/nativewindow/classes/javax/media/nativewindow/NativeWindowFactory.java",
          "src/nativewindow/classes/com/jogamp/nativewindow/x11/X11GraphicsDevice.java",
          "src/jogl/classes/javax/media/opengl/GLAutoDrawable.java",
          "src/jogl/classes/jogamp/opengl/GLContextImpl.java",
          "src/nativewindow/classes/javax/media/nativewindow/DefaultGraphicsConfiguration.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/acore/TestGLContextDrawableSwitchNEWT.java",
          "src/nativewindow/classes/javax/media/nativewindow/AbstractGraphicsScreen.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/acore/TestGLContextDrawableSwitch01NEWT.java",
          "src/nativewindow/classes/com/jogamp/nativewindow/MutableGraphicsConfiguration.java",
          "src/nativewindow/classes/javax/media/nativewindow/DefaultGraphicsDevice.java",
          "src/jogl/classes/jogamp/opengl/GLAutoDrawableBase.java"
        ],
        "commitId" : "b738983638703bb721ee4c9820c8ef43e2252e73",
        "timestamp" : 1359041062000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Bug 665 (part 1) - Allow dis-association of GLContext's GLDrawable ..\u000a\u000aChanges allowing re-association (incl. null) of GLContext/GLDrawable:\u000a\u000a- GLAutoDrawable: Refine API doc 'setContext(..)'\u000a\u000a- GLContext: Refine API doc: 'setGLDrawable(..)' 'getGLDrawable()'\u000a\u000a- GLContextImpl.setGLDrawable(): Handle null drawable\u000a\u000a- GLAutoDrawableDelegate/GLAutoDrawableBase: Allow null GLContext\u000a\u000a- GLDrawableHelper.switchContext(..)/recreateGLDrawable(): Balance GLContext.setGLDrawable(..) calls\u000a\u000a- New GLEventListenerState, holding state vector [GLEventListener, GLContext, .. ]\u000a  impl. relocation of all components from/to GLAutoDrawable.\u000a\u000a- GLDrawableUtil\u000a  - Using GLEventListenerState for swapGLContextAndAllGLEventListener(..)\u000a\u000a+++\u000a\u000aNEWT Window*:\u000a  - getDisplayHandle() is 'final', no more 'shortcut' code allowed\u000a    due to re-association incl. display handle.\u000a\u000a  - close*:\u000a    - close config's device (was missing)\u000a    - null config\u000a\u000a+++\u000a\u000aChanges allowing reconfig of Display handle as required\u000ato re-associate pre-existing GLContext to a 'window':\u000a\u000a- AbstractGraphicsDevice: Add isHandleOwner() / clearHandleOwner()\u000a  - Impl. in X11GraphicsDevice and EGLGraphicsDevice, NOP in DefaultGraphicsDevice\u000a\u000a- DefaultGraphicsConfiguration add 'setScreen(..)'\u000a\u000a- MutableGraphicsConfiguration\u000a  - Make DefaultGraphicsConfiguration.setScreen(..) public\u000a\u000a- NativeWindowFactory add 'createScreen(String type, AbstractGraphicsDevice device, int screen)'\u000a  - Refactored from SWTAccessor\u000a\u000a- NativeWindow x11ErrorHandler: Dump Stack Trace in DEBUG mode, always.\u000a",
        "date" : "2013-01-24T16:24:22+0100",
        "id" : "b738983638703bb721ee4c9820c8ef43e2252e73",
        "msg" : "Bug 665 (part 1) - Allow dis-association of GLContext's GLDrawable ..",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/util/GLDrawableUtil.java"
          },
          {
            "editType" : "edit",
            "file" : "src/nativewindow/classes/javax/media/nativewindow/DefaultGraphicsScreen.java"
          },
          {
            "editType" : "edit",
            "file" : "src/nativewindow/classes/javax/media/nativewindow/DefaultGraphicsDevice.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/GLDrawableHelper.java"
          },
          {
            "editType" : "edit",
            "file" : "make/scripts/tests.sh"
          },
          {
            "editType" : "edit",
            "file" : "src/nativewindow/classes/javax/media/nativewindow/NativeWindowFactory.java"
          },
          {
            "editType" : "edit",
            "file" : "src/nativewindow/classes/com/jogamp/nativewindow/swt/SWTAccessor.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/GLContextImpl.java"
          },
          {
            "editType" : "edit",
            "file" : "src/nativewindow/classes/com/jogamp/nativewindow/x11/X11GraphicsDevice.java"
          },
          {
            "editType" : "add",
            "file" : "src/jogl/classes/jogamp/opengl/GLEventListenerState.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/javax/media/opengl/GLAutoDrawable.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/GLAutoDrawableBase.java"
          },
          {
            "editType" : "edit",
            "file" : "src/nativewindow/classes/javax/media/nativewindow/DefaultGraphicsConfiguration.java"
          },
          {
            "editType" : "edit",
            "file" : "src/nativewindow/classes/com/jogamp/nativewindow/MutableGraphicsConfiguration.java"
          },
          {
            "editType" : "edit",
            "file" : "src/nativewindow/classes/com/jogamp/nativewindow/egl/EGLGraphicsDevice.java"
          },
          {
            "editType" : "edit",
            "file" : "src/newt/classes/com/jogamp/newt/opengl/GLWindow.java"
          },
          {
            "editType" : "edit",
            "file" : "src/nativewindow/classes/javax/media/nativewindow/AbstractGraphicsScreen.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/GLAutoDrawableDelegate.java"
          },
          {
            "editType" : "edit",
            "file" : "src/newt/classes/jogamp/newt/driver/x11/WindowDriver.java"
          },
          {
            "editType" : "delete",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/acore/TestGLContextDrawableSwitchNEWT.java"
          },
          {
            "editType" : "edit",
            "file" : "src/nativewindow/classes/javax/media/nativewindow/AbstractGraphicsConfiguration.java"
          },
          {
            "editType" : "edit",
            "file" : "make/scripts/tests-x64.bat"
          },
          {
            "editType" : "edit",
            "file" : "src/nativewindow/classes/javax/media/nativewindow/AbstractGraphicsDevice.java"
          },
          {
            "editType" : "add",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/acore/TestGLContextDrawableSwitch01NEWT.java"
          },
          {
            "editType" : "edit",
            "file" : "src/nativewindow/native/x11/Xmisc.c"
          },
          {
            "editType" : "edit",
            "file" : "src/newt/classes/jogamp/newt/WindowImpl.java"
          },
          {
            "editType" : "add",
            "file" : "src/test/com/jogamp/opengl/test/junit/util/GLEventListenerCounter.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/javax/media/opengl/GLContext.java"
          },
          {
            "editType" : "add",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/acore/TestGLContextDrawableSwitch11NEWT.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/com/jogamp/opengl/FBObject.java",
          "src/jogl/classes/jogamp/opengl/GLFBODrawableImpl.java"
        ],
        "commitId" : "9505d48f1702e2ba8c9e72edcbb8fab5ad01bc56",
        "timestamp" : 1359170477000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "FBObject/GLFBODrawableImpl: Silence stderr if not in DEBUG mode relying on application handling verbosity and debug output\u000a\u000aThe following cases were dumping states on stderr:\u000a  - FBOObject.isStatusValid() if false\u000a    -> Only dumps if DEBUG\u000a\u000a  - GLFBODrawableImpl.reset() if fboResetQuirk becomes true and 1st time in ClassLoader\u000a    -> Only dumps if DEBUG\u000a",
        "date" : "2013-01-26T04:21:17+0100",
        "id" : "9505d48f1702e2ba8c9e72edcbb8fab5ad01bc56",
        "msg" : "FBObject/GLFBODrawableImpl: Silence stderr if not in DEBUG mode relying",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/FBObject.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/GLFBODrawableImpl.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/jogamp/opengl/egl/EGLContext.java",
          "src/jogl/classes/jogamp/opengl/x11/glx/X11GLXContext.java"
        ],
        "commitId" : "e6ccafabb8fefa2381e7c102ca9cba4ef7555035",
        "timestamp" : 1359172344000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "[EGL/X11]Context: Enhance DEBUG output for failed makeCurrentImpl(..)\u000a",
        "date" : "2013-01-26T04:52:24+0100",
        "id" : "e6ccafabb8fefa2381e7c102ca9cba4ef7555035",
        "msg" : "[EGL/X11]Context: Enhance DEBUG output for failed makeCurrentImpl(..)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/x11/glx/X11GLXContext.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/egl/EGLContext.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/nativewindow/classes/javax/media/nativewindow/ProxySurface.java",
          "src/jogl/classes/jogamp/opengl/egl/EGLWrappedSurface.java",
          "src/nativewindow/classes/jogamp/nativewindow/ProxySurfaceImpl.java"
        ],
        "commitId" : "7fd5f76e1eb4bbf93fe9b1171744bd755d8f96e4",
        "timestamp" : 1359172690000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "ProxySurface: Add 'NativeSurface getUpstreamSurface()' ; ProxySurfaceImpl: Don't cache 'displayHandle'\u000a\u000a- ProxySurface: Add 'NativeSurface getUpstreamSurface()' allowing querying direct access of a backing surface representing this instance.\u000a  - Use case: EGLWrappedSurface\u000a  - Default impl. returns null\u000a\u000a- ProxySurfaceImpl: Don't cache 'displayHandle'\u000a  - getDisplayHandle() is 'final', no more 'shortcut' code allowed\u000a    due to re-association incl. display handle.\u000a\u000a  - See commit b738983638703bb721ee4c9820c8ef43e2252e73\u000a",
        "date" : "2013-01-26T04:58:10+0100",
        "id" : "7fd5f76e1eb4bbf93fe9b1171744bd755d8f96e4",
        "msg" : "ProxySurface: Add 'NativeSurface getUpstreamSurface()' ;",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/nativewindow/classes/javax/media/nativewindow/ProxySurface.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/egl/EGLWrappedSurface.java"
          },
          {
            "editType" : "edit",
            "file" : "src/nativewindow/classes/jogamp/nativewindow/ProxySurfaceImpl.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/jogamp/opengl/windows/wgl/WindowsWGLContext.java"
        ],
        "commitId" : "176d2c68842587b55117dbe0df2fbd2932d0cd10",
        "timestamp" : 1359172703000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "WGLContext: Enhance DEBUG output for failed makeCurrentImpl(..)\u000a",
        "date" : "2013-01-26T04:58:23+0100",
        "id" : "176d2c68842587b55117dbe0df2fbd2932d0cd10",
        "msg" : "WGLContext: Enhance DEBUG output for failed makeCurrentImpl(..)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/windows/wgl/WindowsWGLContext.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/jogamp/opengl/GLOffscreenAutoDrawableImpl.java",
          "src/jogl/classes/javax/media/opengl/GLDrawableFactory.java",
          "src/jogl/classes/jogamp/opengl/GLDrawableFactoryImpl.java",
          "src/jogl/classes/javax/media/opengl/GLDrawable.java",
          "src/jogl/classes/com/jogamp/opengl/GLAutoDrawableDelegate.java"
        ],
        "commitId" : "07fb6ebb3fa95e8d722505883a13c62e13c7f953",
        "timestamp" : 1359178988000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Refine GL[Auto]Drawable 'realized' state in API doc, and relax it's realized requirement in GL[Offscreen]AutoDrawableDelegate*\u000a\u000aCompatible w/ 'before'.\u000a\u000aTODO: Contemplate about GLDrawableFactory.createOffscreenAutoDrawable(..) whether it:\u000a  - should better return an unrealized [auto]drawable\u000a  - or adding another API method for such case\u000a\u000a  Goal: Allow passing vector of [device/context/..] for use cases\u000a        such as re-using an onscreen destructed surface and on-/offscreen hopping.\u000a",
        "date" : "2013-01-26T06:43:08+0100",
        "id" : "07fb6ebb3fa95e8d722505883a13c62e13c7f953",
        "msg" : "Refine GL[Auto]Drawable 'realized' state in API doc, and relax it's",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/GLOffscreenAutoDrawableImpl.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/javax/media/opengl/GLDrawableFactory.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/GLDrawableFactoryImpl.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/javax/media/opengl/GLDrawable.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/GLAutoDrawableDelegate.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/com/jogamp/opengl/util/Animator.java",
          "src/jogl/classes/javax/media/opengl/GLAnimatorControl.java",
          "src/jogl/classes/com/jogamp/opengl/util/AnimatorBase.java"
        ],
        "commitId" : "02104525a63aed70c51b825be0e8c83ed17cfa31",
        "timestamp" : 1359253921000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Animator: API doc cleanup, isPaused()==true if drawablesEmpty (Animator == FPSAnimator behavior), resume after add ifPaused()\u000a\u000a- GLAnimatorControl: Refine API doc\u000a\u000a- Animator.run():\u000a  - if( drawablesEmpt) { pausedIssued = true; } - Same behavior as FPSAnimator\u000a\u000a- AnimatorBase.add(..)\u000a  - consider paused case if no drawablesEmpty, i.e. if ( isPaused() ) { resume(); }\u000a",
        "date" : "2013-01-27T03:32:01+0100",
        "id" : "02104525a63aed70c51b825be0e8c83ed17cfa31",
        "msg" : "Animator: API doc cleanup, isPaused()==true if drawablesEmpty (Animator",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/javax/media/opengl/GLAnimatorControl.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/util/AnimatorBase.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/util/Animator.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/nativewindow/classes/javax/media/nativewindow/ProxySurface.java",
          "src/jogl/classes/javax/media/opengl/GLAutoDrawable.java",
          "src/jogl/classes/com/jogamp/opengl/GLAutoDrawableDelegate.java"
        ],
        "commitId" : "4e9054d996870467182b0e963fa80aa6740968b6",
        "timestamp" : 1359254213000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Fix misc API docs ..\u000a",
        "date" : "2013-01-27T03:36:53+0100",
        "id" : "4e9054d996870467182b0e963fa80aa6740968b6",
        "msg" : "Fix misc API docs ..",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/GLAutoDrawableDelegate.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/javax/media/opengl/GLAutoDrawable.java"
          },
          {
            "editType" : "edit",
            "file" : "src/nativewindow/classes/javax/media/nativewindow/ProxySurface.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/jogamp/opengl/GLDrawableHelper.java"
        ],
        "commitId" : "336c8fc0b4f419196fe31f7dc86eed310160acaf",
        "timestamp" : 1359254253000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GLDrawableHelper.invoke: If drawable is !realized -> deferred execution\u000a",
        "date" : "2013-01-27T03:37:33+0100",
        "id" : "336c8fc0b4f419196fe31f7dc86eed310160acaf",
        "msg" : "GLDrawableHelper.invoke: If drawable is !realized -> deferred execution",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/GLDrawableHelper.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/newt/classes/jogamp/newt/WindowImpl.java"
        ],
        "commitId" : "3f4eeaf76efa8f1f8b305c8dc1770dc679ced307",
        "timestamp" : 1359258493000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Fix regression of commit b738983638703bb721ee4c9820c8ef43e2252e73, possible 'pulling' display's device - check references\u000a",
        "date" : "2013-01-27T04:48:13+0100",
        "id" : "3f4eeaf76efa8f1f8b305c8dc1770dc679ced307",
        "msg" : "Fix regression of commit b738983638703bb721ee4c9820c8ef43e2252e73,",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/newt/classes/jogamp/newt/WindowImpl.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/jogamp/opengl/GLContextImpl.java",
          "src/nativewindow/classes/com/jogamp/nativewindow/swt/SWTAccessor.java",
          "src/jogl/classes/jogamp/opengl/GLEventListenerState.java",
          "src/nativewindow/classes/javax/media/nativewindow/NativeSurface.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/acore/TestGLContextDrawableSwitch01NEWT.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/acore/TestGLContextDrawableSwitch11NEWT.java",
          "src/nativewindow/classes/javax/media/nativewindow/NativeWindowFactory.java"
        ],
        "commitId" : "2fe180fbee15b82e2ae14fe3c95887db246c874d",
        "timestamp" : 1359288487000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Bug 665 (part 3) - Allow dis-association of GLContext's GLDrawable .. - Add EGL/ES2 tests, attempt to fix wrapped EGL case\u000a\u000a- Bug 665 (part 2) was commit 7fd5f76e1eb4bbf93fe9b1171744bd755d8f96e4\u000a\u000a- Add EGL/ES2 tests in\u000a  - TestGLContextDrawableSwitch01NEWT\u000a  - TestGLContextDrawableSwitch11NEWT\u000a\u000a- Attempt to fix wrapped EGL case (incomplete)\u000a  - Using EGL/ES w/ non native EGL device/surface, but natively wrapped instances (most of the cases),\u000a    a 'complicated' delegation of\u000a       Native-Upstream -> EGL-Proxy -> EGL-Instance\u000a    is being used heavily relying on the objects lifecycle.\u000a    GLEventListenerState tries to roll back the realized state\u000a    and even sets the upstream device handle,\u000a    but this doesn't seem to be sufficient on X11.\u000a\u000aDiscussion:\u000a\u000aIt might turn out that we only can implement the survival of GLContext\u000aand it's display device reliable w/ EGL within the GLAutoDrawable implementation,\u000awhich can hold the previous not destructed instances.\u000a",
        "date" : "2013-01-27T13:08:07+0100",
        "id" : "2fe180fbee15b82e2ae14fe3c95887db246c874d",
        "msg" : "Bug 665 (part 3) - Allow dis-association of GLContext's GLDrawable .. -",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/GLContextImpl.java"
          },
          {
            "editType" : "edit",
            "file" : "src/nativewindow/classes/com/jogamp/nativewindow/swt/SWTAccessor.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/acore/TestGLContextDrawableSwitch01NEWT.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/GLEventListenerState.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/acore/TestGLContextDrawableSwitch11NEWT.java"
          },
          {
            "editType" : "edit",
            "file" : "src/nativewindow/classes/javax/media/nativewindow/NativeSurface.java"
          },
          {
            "editType" : "edit",
            "file" : "src/nativewindow/classes/javax/media/nativewindow/NativeWindowFactory.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/newt/classes/com/jogamp/newt/event/WindowListener.java"
        ],
        "commitId" : "2f63a43fd6ff9964251c43e248c51bc821f3ecbd",
        "timestamp" : 1359382550000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Add WindowClosingProtocol impact detail on WindowListener.windowDestroyNotify(..)\u000a",
        "date" : "2013-01-28T15:15:50+0100",
        "id" : "2f63a43fd6ff9964251c43e248c51bc821f3ecbd",
        "msg" : "Add WindowClosingProtocol impact detail on",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/newt/classes/com/jogamp/newt/event/WindowListener.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/test/com/jogamp/opengl/test/junit/newt/event/TestNewtKeyEventAutoRepeatAWT.java",
          "src/newt/classes/jogamp/newt/driver/windows/WindowDriver.java",
          "src/test/com/jogamp/opengl/test/junit/newt/event/TestNewtKeyCodeModifiersAWT.java",
          "src/newt/native/WindowsWindow.c",
          "src/newt/classes/com/jogamp/newt/event/KeyEvent.java",
          "make/scripts/java-win64-dbg.bat",
          "make/scripts/tests-x64.bat",
          "src/test/com/jogamp/opengl/test/junit/newt/event/TestNewtKeyCodesAWT.java",
          "make/scripts/tests.sh"
        ],
        "commitId" : "90e136b65a10d8daf8c3a2df6cc193e55a63722c",
        "timestamp" : 1359487677000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Fix Bug 678: Deliver key-char value for printable chars on all KeyEventListener (-> On Windows as well)\u000a\u000aThe following is observed, where t0 and t1 refer to subsequent different timestamps:\u000a  NEWT delivery order:\u000a      PRESSED (t0), RELEASED (t1) and TYPED (t1)\u000a\u000a  WINDOWS delivery order:\u000a      PRESSED (t0), TYPED (t0) and RELEASED (t1)\u000a  Windows Auto-Repeat:\u000a      PRESSED (t0), TYPED (t0)\u000a\u000aHence we changed the event reorder-code in NEWT to trigger NEWT-PRESSED on\u000aWindows-TYPED for printable chars, assuring key-char values on all listener callbacks.\u000a\u000a- KeyEvent.getKeyChar(): Removed disclaimer dedicated for Windows\u000a- Keyevent.isActionKey(): Completed for all NEWT non-printable action keys; Added static variant\u000a- Keyevent.isPrintableKey(): NEW: returns !isModifierKey(keyCode) && !isActionKey(keyCode) ; With static variant\u000a\u000a- Windows WindowDriver:\u000a  - EVENT_KEY_PRESSED handles non-printable chars only\u000a  - EVENT_KEY_TYPE handles printable chars only\u000a  - Native: VK_DELETE passes keyCode\u000a\u000a- Unit tests: Wait for completion 1s -> 2s\u000a",
        "date" : "2013-01-29T20:27:57+0100",
        "id" : "90e136b65a10d8daf8c3a2df6cc193e55a63722c",
        "msg" : "Fix Bug 678: Deliver key-char value for printable chars on all",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "make/scripts/tests.sh"
          },
          {
            "editType" : "edit",
            "file" : "make/scripts/java-win64-dbg.bat"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/newt/event/TestNewtKeyCodeModifiersAWT.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/newt/event/TestNewtKeyCodesAWT.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/newt/event/TestNewtKeyEventAutoRepeatAWT.java"
          },
          {
            "editType" : "edit",
            "file" : "make/scripts/tests-x64.bat"
          },
          {
            "editType" : "edit",
            "file" : "src/newt/classes/com/jogamp/newt/event/KeyEvent.java"
          },
          {
            "editType" : "edit",
            "file" : "src/newt/native/WindowsWindow.c"
          },
          {
            "editType" : "edit",
            "file" : "src/newt/classes/jogamp/newt/driver/windows/WindowDriver.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "make/build-test.xml"
        ],
        "commitId" : "a456289c45a167269fa1bf839316164781801817",
        "timestamp" : 1359489028000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "OSX unit tests: Disable OSX 32bit tests (redundant - prepare for Java7 tests)\u000a",
        "date" : "2013-01-29T20:50:28+0100",
        "id" : "a456289c45a167269fa1bf839316164781801817",
        "msg" : "OSX unit tests: Disable OSX 32bit tests (redundant - prepare for Java7",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "make/build-test.xml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "make/scripts/make.jogl.all.macosx-java7.sh",
          "make/scripts/tests-osx-x64-java7.sh"
        ],
        "commitId" : "4d6983ca087feb0544c27326c8bf470444df2eec",
        "timestamp" : 1359555854000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Add OSX Java7 build/test scripts\u000a",
        "date" : "2013-01-30T15:24:14+0100",
        "id" : "4d6983ca087feb0544c27326c8bf470444df2eec",
        "msg" : "Add OSX Java7 build/test scripts",
        "paths" : [
          {
            "editType" : "add",
            "file" : "make/scripts/make.jogl.all.macosx-java7.sh"
          },
          {
            "editType" : "add",
            "file" : "make/scripts/tests-osx-x64-java7.sh"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/newt/TestGearsES2NewtCanvasAWT.java",
          "src/newt/classes/com/jogamp/newt/event/awt/AWTKeyAdapter.java",
          "src/newt/classes/jogamp/newt/awt/event/AWTNewtEventFactory.java",
          "make/scripts/tests.sh",
          "make/scripts/tests-x64-custom.sh",
          "make/scripts/tests-osx-x64-java7.sh"
        ],
        "commitId" : "cedbdb09c00bb2a32cc065cb75590f3571bb7aa1",
        "timestamp" : 1359571271000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Fix AWTKeyAdapter: Reorder AWT events to NEWT order - also ensuring TYPED is always sent.\u000a\u000aThis foremost fixes an issue w/ OSX/Java7 and NewtCanvasAWT offscreen CALayer usage,\u000awhich utilizes AWTKeyAdapter and AWTNewtEventFactory (AWT -> NEWT) key events.\u000a",
        "date" : "2013-01-30T19:41:11+0100",
        "id" : "cedbdb09c00bb2a32cc065cb75590f3571bb7aa1",
        "msg" : "Fix AWTKeyAdapter: Reorder AWT events to NEWT order - also ensuring",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "make/scripts/tests.sh"
          },
          {
            "editType" : "edit",
            "file" : "make/scripts/tests-osx-x64-java7.sh"
          },
          {
            "editType" : "edit",
            "file" : "src/newt/classes/jogamp/newt/awt/event/AWTNewtEventFactory.java"
          },
          {
            "editType" : "add",
            "file" : "make/scripts/tests-x64-custom.sh"
          },
          {
            "editType" : "edit",
            "file" : "src/newt/classes/com/jogamp/newt/event/awt/AWTKeyAdapter.java"
          },
          {
            "editType" : "add",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/newt/TestGearsES2NewtCanvasAWT.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/newt/classes/jogamp/newt/driver/linux/LinuxEventDeviceTracker.java",
          "src/newt/classes/jogamp/newt/driver/bcm/vc/iv/WindowDriver.java"
        ],
        "commitId" : "1f7b17a93aa2cf21bc943b54d764d6f283c808de",
        "timestamp" : 1359575840000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/xerxes",
          "fullName" : "xerxes"
        },
        "authorEmail" : "xerxes@zafena.se",
        "comment" : "Add LinuxEventDeviceTracker used by RaspPi newt/driver/bcm/vc/iv/WindowDriver\u000a\u000aSigned-off-by: Xerxes Rånby <xerxes@zafena.se>\u000a",
        "date" : "2013-01-30T20:57:20+0100",
        "id" : "1f7b17a93aa2cf21bc943b54d764d6f283c808de",
        "msg" : "Add LinuxEventDeviceTracker used by RaspPi",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/newt/classes/jogamp/newt/driver/bcm/vc/iv/WindowDriver.java"
          },
          {
            "editType" : "add",
            "file" : "src/newt/classes/jogamp/newt/driver/linux/LinuxEventDeviceTracker.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/newt/classes/jogamp/newt/driver/linux/LinuxEventDeviceTracker.java"
        ],
        "commitId" : "8d6438eb6b03013012e3a357d92aa3cd40ee55c0",
        "timestamp" : 1359582577000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/xerxes",
          "fullName" : "xerxes"
        },
        "authorEmail" : "xerxes@zafena.se",
        "comment" : "LinuxEventDeviceTracker: LinuxEventDeviceManager monitor /dev/input/event*\u000a\u000aThe LinuxEventDeviceManager will start new EventDevicePoller threads\u000awhen more /dev/input/event* files become available.\u000a\u000aSigned-off-by: Xerxes Rånby <xerxes@zafena.se>\u000a",
        "date" : "2013-01-30T22:49:37+0100",
        "id" : "8d6438eb6b03013012e3a357d92aa3cd40ee55c0",
        "msg" : "LinuxEventDeviceTracker: LinuxEventDeviceManager monitor",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/newt/classes/jogamp/newt/driver/linux/LinuxEventDeviceTracker.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/newt/classes/jogamp/newt/driver/linux/LinuxEventDeviceTracker.java"
        ],
        "commitId" : "ff39f9e5a37020d72af3d4f1ea8fe0b6b6714016",
        "timestamp" : 1359584313000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/xerxes",
          "fullName" : "xerxes"
        },
        "authorEmail" : "xerxes@zafena.se",
        "comment" : "LinuxEventDeviceTracker: gracefully manage hot-swap of USB devices.\u000a\u000aSigned-off-by: Xerxes Rånby <xerxes@zafena.se>\u000a",
        "date" : "2013-01-30T23:18:33+0100",
        "id" : "ff39f9e5a37020d72af3d4f1ea8fe0b6b6714016",
        "msg" : "LinuxEventDeviceTracker: gracefully manage hot-swap of USB devices.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/newt/classes/jogamp/newt/driver/linux/LinuxEventDeviceTracker.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/newt/classes/jogamp/newt/driver/linux/LinuxEventDeviceTracker.java"
        ],
        "commitId" : "72bf6f4c6bc19aade075f10db4a26e3cf7cfc5ee",
        "timestamp" : 1359589381000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/xerxes",
          "fullName" : "xerxes"
        },
        "authorEmail" : "xerxes@zafena.se",
        "comment" : "LinuxEventDeviceTracker: LinuxEVKey2NewtVKey(EVKey 0-121)\u000a\u000aSigned-off-by: Xerxes Rånby <xerxes@gudinna.com>\u000a",
        "date" : "2013-01-31T00:43:01+0100",
        "id" : "72bf6f4c6bc19aade075f10db4a26e3cf7cfc5ee",
        "msg" : "LinuxEventDeviceTracker: LinuxEVKey2NewtVKey(EVKey 0-121)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/newt/classes/jogamp/newt/driver/linux/LinuxEventDeviceTracker.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/newt/classes/jogamp/newt/driver/linux/LinuxEventDeviceTracker.java"
        ],
        "commitId" : "f8bc0add2e3d18c397fb2af59e3787baa9dfc771",
        "timestamp" : 1359635193000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/xerxes",
          "fullName" : "xerxes"
        },
        "authorEmail" : "xerxes@zafena.se",
        "comment" : "LinuxEventDeviceTracker: LinuxEVKey2NewtVKey(EVKey 122-248)\u000a\u000aSigned-off-by: Xerxes Rånby <xerxes@zafena.se>\u000a",
        "date" : "2013-01-31T13:26:33+0100",
        "id" : "f8bc0add2e3d18c397fb2af59e3787baa9dfc771",
        "msg" : "LinuxEventDeviceTracker: LinuxEVKey2NewtVKey(EVKey 122-248)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/newt/classes/jogamp/newt/driver/linux/LinuxEventDeviceTracker.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/newt/classes/jogamp/newt/driver/linux/LinuxEventDeviceTracker.java"
        ],
        "commitId" : "ae89ca7342b8673e38b7d76bff386175e84a9173",
        "timestamp" : 1359643626000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/xerxes",
          "fullName" : "xerxes"
        },
        "authorEmail" : "xerxes@zafena.se",
        "comment" : "LinuxEventDeviceTracker: Map printable char using KeyEvent.isPrintableKey.\u000a\u000aThe NEWT VK namespace tries to map keyCodes\u000ato its Unicode varianti, make use this quirk.\u000a\u000aSigned-off-by: Xerxes Rånby <xerxes@zafena.se>\u000a",
        "date" : "2013-01-31T15:47:06+0100",
        "id" : "ae89ca7342b8673e38b7d76bff386175e84a9173",
        "msg" : "LinuxEventDeviceTracker: Map printable char using",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/newt/classes/jogamp/newt/driver/linux/LinuxEventDeviceTracker.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "make/scripts/make.jogl.all.android-armv6-cross.sh",
          "make/scripts/make.jogl.all.android-armv7-cross.sh"
        ],
        "commitId" : "2aed701ff4385cd903ad18ce8327c058ce847134",
        "timestamp" : 1359659987000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Bump Android NDK to android-ndk-r8d\u000a",
        "date" : "2013-01-31T20:19:47+0100",
        "id" : "2aed701ff4385cd903ad18ce8327c058ce847134",
        "msg" : "Bump Android NDK to android-ndk-r8d",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "make/scripts/make.jogl.all.android-armv7-cross.sh"
          },
          {
            "editType" : "edit",
            "file" : "make/scripts/make.jogl.all.android-armv6-cross.sh"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/test/com/jogamp/opengl/test/android/NEWTGearsES2TransActivityLauncher.java",
          "src/test/com/jogamp/opengl/test/android/NEWTGearsES2ECTActivityLauncher.java",
          "src/test/com/jogamp/opengl/test/android/MovieCubeActivityLauncher0.java",
          "src/test/com/jogamp/opengl/test/android/NEWTGraphUI1pActivityLauncher.java",
          "src/test/com/jogamp/opengl/test/android/NEWTRedSquareES2ActivityLauncher.java",
          "src/test/com/jogamp/opengl/test/android/LauncherUtil.java",
          "src/test/com/jogamp/opengl/test/android/NEWTRedSquareES1ActivityLauncher.java",
          "src/test/com/jogamp/opengl/test/android/MovieSimpleActivityLauncher01b.java",
          "src/test/com/jogamp/opengl/test/android/MovieSimpleActivityLauncher00b.java",
          "src/test/com/jogamp/opengl/test/android/MovieSimpleActivityLauncher02.java",
          "src/test/com/jogamp/opengl/test/android/NEWTGearsES2RGB565ActivityLauncher.java",
          "src/test/com/jogamp/opengl/test/android/NEWTGraphUI2pActivityLauncher.java",
          "src/test/com/jogamp/opengl/test/android/MovieSimpleActivityLauncher00a.java",
          "src/test/com/jogamp/opengl/test/android/NEWTGearsES1ActivityLauncher.java",
          "src/test/com/jogamp/opengl/test/android/NEWTElektronActivityLauncher.java",
          "src/test/com/jogamp/opengl/test/android/MovieSimpleActivityLauncher01a.java",
          "src/test/com/jogamp/opengl/test/android/NEWTGearsES2ActivityLauncher.java"
        ],
        "commitId" : "af59808d5097b9cfc79b630a05f6846bc0d07878",
        "timestamp" : 1359660117000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Android: Adapt to cleanup of ClassLoaderUtil/LauncherUtil - GlueGen Commit b47d0d92dd222999bf38633de1cec8de6a7ad369\u000a",
        "date" : "2013-01-31T20:21:57+0100",
        "id" : "af59808d5097b9cfc79b630a05f6846bc0d07878",
        "msg" : "Android: Adapt to cleanup of ClassLoaderUtil/LauncherUtil - GlueGen",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/android/LauncherUtil.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/android/NEWTGearsES2ActivityLauncher.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/android/NEWTGearsES2RGB565ActivityLauncher.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/android/NEWTGearsES2TransActivityLauncher.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/android/MovieSimpleActivityLauncher01b.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/android/NEWTElektronActivityLauncher.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/android/MovieSimpleActivityLauncher00b.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/android/NEWTGearsES2ECTActivityLauncher.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/android/MovieCubeActivityLauncher0.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/android/NEWTRedSquareES1ActivityLauncher.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/android/NEWTRedSquareES2ActivityLauncher.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/android/NEWTGraphUI2pActivityLauncher.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/android/NEWTGraphUI1pActivityLauncher.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/android/MovieSimpleActivityLauncher00a.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/android/NEWTGearsES1ActivityLauncher.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/android/MovieSimpleActivityLauncher01a.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/android/MovieSimpleActivityLauncher02.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/test/com/jogamp/opengl/test/android/NEWTGearsES2ActivityLauncher.java"
        ],
        "commitId" : "1fcf7abad54528bb36da6ac70930bbe1005876d0",
        "timestamp" : 1359660272000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Android GearsES2 Launcher: Revert debug flags ..\u000a",
        "date" : "2013-01-31T20:24:32+0100",
        "id" : "1fcf7abad54528bb36da6ac70930bbe1005876d0",
        "msg" : "Android GearsES2 Launcher: Revert debug flags ..",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/android/NEWTGearsES2ActivityLauncher.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/com/jogamp/opengl/util/Animator.java",
          "src/test/com/jogamp/opengl/test/junit/newt/TestGLWindows02NEWTAnimated.java",
          "make/scripts/tests.sh"
        ],
        "commitId" : "feebfdea24f8ac98282751824aa4d3569bb71d93",
        "timestamp" : 1359715313000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Fix Animator resume() wait-condition (drawablesEmpty didn't wait for pausedIssued); Update TestGLWindows02NEWTAnimated (isPaused())\u000a",
        "date" : "2013-02-01T11:41:53+0100",
        "id" : "feebfdea24f8ac98282751824aa4d3569bb71d93",
        "msg" : "Fix Animator resume() wait-condition (drawablesEmpty didn't wait for",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "make/scripts/tests.sh"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/util/Animator.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/newt/TestGLWindows02NEWTAnimated.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/jogamp/opengl/GLContextImpl.java",
          "src/jogl/classes/javax/media/opengl/GLContext.java",
          "src/jogl/classes/jogamp/opengl/x11/glx/X11GLXContext.java"
        ],
        "commitId" : "6d508eb203fea16e094039b27a7368748aff122b",
        "timestamp" : 1360618996000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GLContext: *TRACE_SWITCH spacing\u000a",
        "date" : "2013-02-11T22:43:16+0100",
        "id" : "6d508eb203fea16e094039b27a7368748aff122b",
        "msg" : "GLContext: *TRACE_SWITCH spacing",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/javax/media/opengl/GLContext.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/GLContextImpl.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/x11/glx/X11GLXContext.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/jogamp/opengl/awt/AWTThreadingPlugin.java",
          "src/jogl/classes/javax/media/opengl/awt/GLJPanel.java",
          "src/jogl/classes/jogamp/opengl/awt/Java2D.java"
        ],
        "commitId" : "d47794338ea218d1be2d21a91c8eea44d83dcb0a",
        "timestamp" : 1360634844000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Java2D OGLPipeline(GLJPanel+Threading): More fine grained control about OGL threading and resource usage\u000a\u000a- Still excluse OSX\u000a- Respect sun.java2d.opengl property\u000a- [Prepare] Allowing OGLPipeline thread usage w/o it's OGL resource usage\u000a",
        "date" : "2013-02-12T03:07:24+0100",
        "id" : "d47794338ea218d1be2d21a91c8eea44d83dcb0a",
        "msg" : "Java2D OGLPipeline(GLJPanel+Threading): More fine grained control about",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/awt/Java2D.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/awt/AWTThreadingPlugin.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/javax/media/opengl/awt/GLJPanel.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/newt/classes/jogamp/newt/driver/android/event/AndroidNewtEventFactory.java"
        ],
        "commitId" : "c9a13b31703302f58100af2a3f437ff7cb8fd010",
        "timestamp" : 1360831879000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/eric.brayet",
          "fullName" : "eric.brayet"
        },
        "authorEmail" : "eric.brayet@daysofwonder.com",
        "comment" : "Fix bug 668 : Android keyboard input was uppercase\u000a",
        "date" : "2013-02-14T09:51:19+0100",
        "id" : "c9a13b31703302f58100af2a3f437ff7cb8fd010",
        "msg" : "Fix bug 668 : Android keyboard input was uppercase",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/newt/classes/jogamp/newt/driver/android/event/AndroidNewtEventFactory.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/native/macosx/MacOSXWindowSystemInterface-calayer.m",
          "src/nativewindow/classes/com/jogamp/nativewindow/swt/SWTAccessor.java",
          "make/scripts/tests-osx-x64.sh",
          "src/nativewindow/classes/jogamp/nativewindow/macosx/OSXUtil.java",
          "src/nativewindow/native/macosx/OSXmisc.m",
          "src/nativewindow/classes/jogamp/nativewindow/jawt/macosx/MacOSXJAWTWindow.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/awt/TestGLCanvasAddRemove01SwingAWT.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/awt/TestGearsES2AWT.java",
          "src/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXCGLContext.java",
          "make/scripts/tests.sh",
          "src/nativewindow/classes/com/jogamp/nativewindow/awt/JAWTWindow.java",
          "make/scripts/tests-osx-x64-java7.sh"
        ],
        "commitId" : "f6e6fab2a7ddfb5c9b614cb072c27ff697629161",
        "timestamp" : 1360847538000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Fix OSX CALayer Bug 690 and Bug 691: Occasional Freeze on CVDisplayLinkStop; Layers and native GL-Context are _not_ Released ; Java Side wait for Main-Thread\u000a\u000a- Fix Bug 690: Occasional Freeze on CVDisplayLinkStop\u000a  - NSOpenGLLayer.disableAnimation() shall not claim the renderLock mutex,\u000a    since the CVDisplayLink callback could be waiting for the lock.\u000a    This waiting callback could freeze the call to CVDisplayLinkStop.\u000a\u000a- Fix Bug 691: Layers and native GL-Context are _not_ Released\u000a  - Following proper release cycle:\u000a\u000a    Context unrealized:\u000a      - JAWTWindow.detachSurfaceLayer() -> OSXUtil.RemoveCASublayer(..)\u000a      - CGL.releaseNSOpenGLLayer(..)\u000a\u000a    JAWTWindow.destroy()\u000a      - MacOSXJAWTWindow.UnsetJAWTRootSurfaceLayer(..)\u000a      - OSXUtil.DestroyCALayer(..)\u000a\u000a  - 'Magic' CALayer release calls (w/o manual retain beforehand) at:\u000a     - OSXUtil.RemoveCASublayer(..): [subLayer release]\u000a     - MacOSXJAWTWindow.UnsetJAWTRootSurfaceLayer(..): [rootLayer release]\u000a     - OSXUtil.DestroyCALayer(..): [rootLayer release]\u000a\u000a  - 'Magic' NSOpenGLLayer's NSOpenGLContext dealloc:\u000a     - [NSOpenGLContext clearDrawable]\u000a     - CGLDestroyContext( [NSOpenGLContext CGLContextObj] )\u000a\u000a- Java Side wait for Main-Thread\u000a  - Waiting for the delegated Main-Thread on the Java side eases debugging\u000a    and won't block the Main-Thread in native code.\u000a\u000a  - Utilizing this for all CALayer calls\u000a\u000aTest case: TestGLCanvasAddRemove01SwingAWT\u000a",
        "date" : "2013-02-14T14:12:18+0100",
        "id" : "f6e6fab2a7ddfb5c9b614cb072c27ff697629161",
        "msg" : "Fix OSX CALayer Bug 690 and Bug 691: Occasional Freeze on",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXCGLContext.java"
          },
          {
            "editType" : "edit",
            "file" : "src/nativewindow/classes/com/jogamp/nativewindow/swt/SWTAccessor.java"
          },
          {
            "editType" : "edit",
            "file" : "src/nativewindow/classes/jogamp/nativewindow/macosx/OSXUtil.java"
          },
          {
            "editType" : "edit",
            "file" : "src/nativewindow/classes/jogamp/nativewindow/jawt/macosx/MacOSXJAWTWindow.java"
          },
          {
            "editType" : "edit",
            "file" : "make/scripts/tests.sh"
          },
          {
            "editType" : "edit",
            "file" : "make/scripts/tests-osx-x64-java7.sh"
          },
          {
            "editType" : "edit",
            "file" : "src/nativewindow/native/macosx/OSXmisc.m"
          },
          {
            "editType" : "edit",
            "file" : "src/nativewindow/classes/com/jogamp/nativewindow/awt/JAWTWindow.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/awt/TestGearsES2AWT.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/native/macosx/MacOSXWindowSystemInterface-calayer.m"
          },
          {
            "editType" : "edit",
            "file" : "make/scripts/tests-osx-x64.sh"
          },
          {
            "editType" : "add",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/awt/TestGLCanvasAddRemove01SwingAWT.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "make/config/jogl/cgl-macosx.cfg",
          "src/test/com/jogamp/opengl/test/junit/util/UITestCase.java",
          "make/scripts/tests.sh",
          "src/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXCGLContext.java",
          "make/config/jogl/cgl-macosx-CustomJavaCode.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/acore/TestOffscreenLayer01GLCanvasAWT.java",
          "src/jogl/native/macosx/MacOSXWindowSystemInterface-calayer.m",
          "src/test/com/jogamp/opengl/test/junit/jogl/acore/TestOffscreenLayer02NewtCanvasAWT.java",
          "src/newt/classes/com/jogamp/newt/awt/NewtCanvasAWT.java",
          "src/nativewindow/native/macosx/OSXmisc.m",
          "src/nativewindow/classes/jogamp/nativewindow/macosx/OSXUtil.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/awt/TestGLCanvasAddRemove01SwingAWT.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/awt/TestGLCanvasAddRemove02NewtCanvasAWT.java"
        ],
        "commitId" : "2aeff053c55dadafb94bfbba661250e0c96f1fe5",
        "timestamp" : 1360941349000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Fix Bug 691 (part-2): Extra '[subLayer release]' is wrong, since 'CGL.releaseNSOpenGLLayer' triggers release - but very late w/ AWT usage.\u000a\u000aOSXUtil_RemoveCASublayer0's added '[subLayer release]' in commit f6e6fab2a7ddfb5c9b614cb072c27ff697629161\u000ais wrong, since 'CGL.releaseNSOpenGLLayer' actually does trigger it's release.\u000aThis was not seen w/ AWT tests, since it happens very later.\u000aA NewtCanvasAWT test disclosed this error -> removed that extra release call.\u000a\u000aThe culprit for the late release w/ AWT usage was CGL.createNSOpenGLLayer's call in the current thread.\u000aMoving it to the Main-Thread fixed the problem.\u000a\u000aAll CALayer lifecycle calls are issued on the Main-Thread now.\u000a\u000aNSOpenGLLayer's CVDisplayLink OpenGL fitting via 'CVDisplayLinkSetCurrentCGDisplayFromOpenGLContext'\u000ais now performed at it's context creation in 'NSOpenGLLayer::openGLContextForPixelFormat'.\u000a\u000aThe 'extra' release of the NSOpenGLLayer's NSOpenGLContext as introduced in commit f6e6fab2a7ddfb5c9b614cb072c27ff697629161\u000ais still valid.\u000a",
        "date" : "2013-02-15T16:15:49+0100",
        "id" : "2aeff053c55dadafb94bfbba661250e0c96f1fe5",
        "msg" : "Fix Bug 691 (part-2): Extra '[subLayer release]' is wrong, since",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "make/scripts/tests.sh"
          },
          {
            "editType" : "edit",
            "file" : "src/nativewindow/native/macosx/OSXmisc.m"
          },
          {
            "editType" : "edit",
            "file" : "src/newt/classes/com/jogamp/newt/awt/NewtCanvasAWT.java"
          },
          {
            "editType" : "edit",
            "file" : "make/config/jogl/cgl-macosx.cfg"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXCGLContext.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/acore/TestOffscreenLayer02NewtCanvasAWT.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/awt/TestGLCanvasAddRemove01SwingAWT.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/acore/TestOffscreenLayer01GLCanvasAWT.java"
          },
          {
            "editType" : "add",
            "file" : "make/config/jogl/cgl-macosx-CustomJavaCode.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/util/UITestCase.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/native/macosx/MacOSXWindowSystemInterface-calayer.m"
          },
          {
            "editType" : "edit",
            "file" : "src/nativewindow/classes/jogamp/nativewindow/macosx/OSXUtil.java"
          },
          {
            "editType" : "add",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/awt/TestGLCanvasAddRemove02NewtCanvasAWT.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/test/com/jogamp/opengl/test/junit/jogl/awt/TestBug675BeansInDesignTimeAWT.java",
          "make/scripts/tests.sh",
          "src/jogl/classes/javax/media/opengl/awt/GLCanvas.java"
        ],
        "commitId" : "3567e7e8519f82720f98b0b2ac30456cbfeddc0d",
        "timestamp" : 1360943077000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Fix Bug 675: NPE w/ Beans.setDesignTime(true) ; Fix GLCanvas.destroy(): Don't issue removeNotify(), delete drawable and context only!\u000a\u000a- Fix Bug 675: NPE w/ Beans.setDesignTime(true)\u000a  - Carefully consider Beans.isDesginTime() fixes NPE - added unit test\u000a\u000a- Fix GLCanvas.destroy(): Don't issue removeNotify(), delete drawable and context only!\u000a  - AWT removeNotify() shall only be issued via AWT itself, not manually\u000a  - Add 'destroyImpl(boolean destroyJAWTWindowAndAWTDevice)' to be called by\u000a    - GLCanvas.destroy(): destroyImpl( false );\u000a    - GLCanvas.removeNotify(): destroyImpl( true );\u000a  - Ensures JAWTWindow and AWTDevice are created and destroyed via the AWT callbacks\u000a    addNotify() and removeNotify() only.\u000a",
        "date" : "2013-02-15T16:44:37+0100",
        "id" : "3567e7e8519f82720f98b0b2ac30456cbfeddc0d",
        "msg" : "Fix Bug 675: NPE w/ Beans.setDesignTime(true) ; Fix GLCanvas.destroy():",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/javax/media/opengl/awt/GLCanvas.java"
          },
          {
            "editType" : "add",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/awt/TestBug675BeansInDesignTimeAWT.java"
          },
          {
            "editType" : "edit",
            "file" : "make/scripts/tests.sh"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/test/com/jogamp/opengl/test/junit/jogl/acore/TestAddRemove02GLWindowNewtCanvasAWT.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/acore/TestAddRemove01GLCanvasSwingAWT.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/awt/TestGLCanvasAddRemove01SwingAWT.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/awt/TestGLCanvasAddRemove02NewtCanvasAWT.java",
          "make/scripts/tests.sh"
        ],
        "commitId" : "d178475967536f4d1e58fd6e0be49b03fe4cd4b7",
        "timestamp" : 1360944080000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Refine unit test for Bug 691: Add onscreen/offscreen tests [if available] ; Move tests to 'acore'.\u000a",
        "date" : "2013-02-15T17:01:20+0100",
        "id" : "d178475967536f4d1e58fd6e0be49b03fe4cd4b7",
        "msg" : "Refine unit test for Bug 691: Add onscreen/offscreen tests [if",
        "paths" : [
          {
            "editType" : "delete",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/awt/TestGLCanvasAddRemove01SwingAWT.java"
          },
          {
            "editType" : "add",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/acore/TestAddRemove01GLCanvasSwingAWT.java"
          },
          {
            "editType" : "delete",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/awt/TestGLCanvasAddRemove02NewtCanvasAWT.java"
          },
          {
            "editType" : "add",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/acore/TestAddRemove02GLWindowNewtCanvasAWT.java"
          },
          {
            "editType" : "edit",
            "file" : "make/scripts/tests.sh"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/native/macosx/MacOSXWindowSystemInterface-calayer.m",
          "src/nativewindow/native/macosx/OSXmisc.m",
          "src/nativewindow/classes/jogamp/nativewindow/macosx/OSXUtil.java",
          "src/nativewindow/classes/javax/media/nativewindow/OffscreenLayerSurface.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/acore/TestAddRemove02GLWindowNewtCanvasAWT.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/acore/TestAddRemove01GLCanvasSwingAWT.java",
          "make/stub_includes/opengl/macosx-window-system.h",
          "make/config/jogl/cgl-macosx.cfg",
          "src/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXCGLContext.java",
          "make/scripts/tests.sh",
          "make/config/jogl/cgl-macosx-CustomJavaCode.java"
        ],
        "commitId" : "a94ff9252df66c303f48489c3e8926104941465c",
        "timestamp" : 1360979722000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Fix Bug 691 (part-3): NSOpenGLLayer::openGLContextForPixelFormat(..) on main-thread deadlock'ed due to locked shared context\u000a\u000aNSOpenGLLayer::openGLContextForPixelFormat(..) is performed on main-thread at 1st NSOpenGLLayer display method.\u000aThis happened irregulary, i.e. sometimes (T0) right after NSOpenGLLayer creation and attachSurfaceLayer()/AddCASublayer(..),\u000asometimes later (T1).\u000a\u000aNSOpenGLLayer::openGLContextForPixelFormat(..) uses the passed shared user context.\u000aThe shared user context is locked at NSOpenGLLayer's creation (T0) and if performed at this early time\u000athe call deadlocks due to pthread_mutex wait for the shared user context.\u000a\u000aThis fix performs NSOpenGLLayer creation and layer attachment while the shared user context\u000ais kept unlocked and enforces NSOpenGLLayer display and hence NSOpenGLLayer::openGLContextForPixelFormat(..).\u000a\u000aAdded CGL.setNSOpenGLLayerEnabled(..) to enable/disable NSOpenGLLayer - currently not used.\u000a\u000a- Passed AddRemove tests for GLCanvas/Swing and GLWindow/NewtCanvasAWT w/ 100 loops on Java6 and Java7 on OSX.\u000a- Passed Instruments Leaks test w/ 10 loops on Java6 and Java7\u000a",
        "date" : "2013-02-16T02:55:22+0100",
        "id" : "a94ff9252df66c303f48489c3e8926104941465c",
        "msg" : "Fix Bug 691 (part-3): NSOpenGLLayer::openGLContextForPixelFormat(..) on",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "make/stub_includes/opengl/macosx-window-system.h"
          },
          {
            "editType" : "edit",
            "file" : "src/nativewindow/classes/javax/media/nativewindow/OffscreenLayerSurface.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXCGLContext.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/native/macosx/MacOSXWindowSystemInterface-calayer.m"
          },
          {
            "editType" : "edit",
            "file" : "src/nativewindow/native/macosx/OSXmisc.m"
          },
          {
            "editType" : "edit",
            "file" : "make/config/jogl/cgl-macosx.cfg"
          },
          {
            "editType" : "edit",
            "file" : "make/config/jogl/cgl-macosx-CustomJavaCode.java"
          },
          {
            "editType" : "edit",
            "file" : "make/scripts/tests.sh"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/acore/TestAddRemove01GLCanvasSwingAWT.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/acore/TestAddRemove02GLWindowNewtCanvasAWT.java"
          },
          {
            "editType" : "edit",
            "file" : "src/nativewindow/classes/jogamp/nativewindow/macosx/OSXUtil.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/jogamp/opengl/windows/wgl/WindowsWGLContext.java",
          "src/jogl/classes/jogamp/opengl/x11/glx/X11GLXContext.java"
        ],
        "commitId" : "2ff795342c720b3b807135c632785e18cee29334",
        "timestamp" : 1360979971000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "X11/WGL: Better Exception Message for failed ARB context creation if profile > GL2 (OpenGL >= 3.0.1) was requested.\u000a",
        "date" : "2013-02-16T02:59:31+0100",
        "id" : "2ff795342c720b3b807135c632785e18cee29334",
        "msg" : "X11/WGL: Better Exception Message for failed ARB context creation if",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/windows/wgl/WindowsWGLContext.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/x11/glx/X11GLXContext.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/test/com/jogamp/opengl/test/junit/newt/TestWindowClosingProtocol01AWT.java"
        ],
        "commitId" : "26a2496d9be3360aefc853fabb9dee2dc3327571",
        "timestamp" : 1360983638000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Fix TestWindowClosingProtocol01AWT: GLCanvas closing operation 'destroy' will no more call removeNotify() - see commit 3567e7e8519f82720f98b0b2ac30456cbfeddc0d\u000a",
        "date" : "2013-02-16T04:00:38+0100",
        "id" : "26a2496d9be3360aefc853fabb9dee2dc3327571",
        "msg" : "Fix TestWindowClosingProtocol01AWT: GLCanvas closing operation 'destroy'",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/newt/TestWindowClosingProtocol01AWT.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/jogamp/opengl/FPSCounterImpl.java",
          "src/jogl/classes/javax/media/opengl/awt/GLJPanel.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/awt/TestBug664GLCanvasSetVisibleSwingAWT.java",
          "make/scripts/tests.sh",
          "src/jogl/classes/com/jogamp/opengl/util/AnimatorBase.java",
          "src/jogl/classes/javax/media/opengl/awt/GLCanvas.java"
        ],
        "commitId" : "1cee0f1ac437de952c5cc15d5a23c8c5ddfdda8a",
        "timestamp" : 1361037864000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Fix Bug 644: AWT GLCanvas and GLJPanel ignored their visibility state\u000a\u000aIf !visible, GLCanvas and GLJPanel's paint* and display method shall not render\u000aas the other GLAutoDrawable impl. do (GLWindow, SWT GLCanvas).\u000a",
        "date" : "2013-02-16T19:04:24+0100",
        "id" : "1cee0f1ac437de952c5cc15d5a23c8c5ddfdda8a",
        "msg" : "Fix Bug 644: AWT GLCanvas and GLJPanel ignored their visibility state",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "make/scripts/tests.sh"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/javax/media/opengl/awt/GLJPanel.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/FPSCounterImpl.java"
          },
          {
            "editType" : "add",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/awt/TestBug664GLCanvasSetVisibleSwingAWT.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/javax/media/opengl/awt/GLCanvas.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/util/AnimatorBase.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/test/com/jogamp/opengl/test/junit/jogl/acore/TestAddRemove02GLWindowNewtCanvasAWT.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/acore/TestAddRemove01GLCanvasSwingAWT.java"
        ],
        "commitId" : "87b5d10bc6d9025de410bcd23b8d33ccdb13901d",
        "timestamp" : 1361038175000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Uni Tests AddRemove: Remove dead code ..\u000a",
        "date" : "2013-02-16T19:09:35+0100",
        "id" : "87b5d10bc6d9025de410bcd23b8d33ccdb13901d",
        "msg" : "Uni Tests AddRemove: Remove dead code ..",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/acore/TestAddRemove02GLWindowNewtCanvasAWT.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/acore/TestAddRemove01GLCanvasSwingAWT.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/test/com/jogamp/opengl/test/junit/newt/TestWindowClosingProtocol01AWT.java",
          "make/scripts/tests.sh",
          "src/test/com/jogamp/opengl/test/junit/newt/TestWindowClosingProtocol03NewtAWT.java",
          "src/test/com/jogamp/opengl/test/junit/newt/TestWindowClosingProtocol02NEWT.java"
        ],
        "commitId" : "674004cd67105b27b63c7ac2f05738f21864bdc0",
        "timestamp" : 1361038223000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "TestWindowClosingProtocol01AWT: More relaxed timing reducing false positives\u000a",
        "date" : "2013-02-16T19:10:23+0100",
        "id" : "674004cd67105b27b63c7ac2f05738f21864bdc0",
        "msg" : "TestWindowClosingProtocol01AWT: More relaxed timing reducing false",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/newt/TestWindowClosingProtocol01AWT.java"
          },
          {
            "editType" : "edit",
            "file" : "make/scripts/tests.sh"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/newt/TestWindowClosingProtocol02NEWT.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/newt/TestWindowClosingProtocol03NewtAWT.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "make/scripts/tests-osx-x64.sh",
          "src/newt/native/MacWindow.m",
          "src/test/com/jogamp/opengl/test/junit/jogl/awt/TestBug664GLCanvasSetVisibleSwingAWT.java",
          "src/newt/classes/jogamp/newt/driver/macosx/WindowDriver.java",
          "src/newt/native/NewtMacWindow.m",
          "src/test/com/jogamp/opengl/test/junit/jogl/acore/TestAddRemove02GLWindowNewtCanvasAWT.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/acore/TestAddRemove01GLCanvasSwingAWT.java",
          "make/scripts/tests.sh",
          "src/test/com/jogamp/opengl/test/junit/jogl/acore/TestAddRemove03GLWindowNEWT.java",
          "make/scripts/tests-osx-x64-java7.sh"
        ],
        "commitId" : "8edaa9780455b60f6034a78970cab4f516d4b061",
        "timestamp" : 1361064334000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "NEWT/OSX: Fix Memory Leak ; Fix Occasional Crash Duer to Lifecycle Ops not on Main-Thread.\u000a\u000a- Fix Memory Leak\u000a  - NewtWindow::dealloc -> [NewtView release]: Fixes NewtView leak\u000a  - NewtView::dealloc -> removeTrackingRect: Removes occasional crash (double free of TrackingRect)\u000a\u000a- Fix Occasional Crash Duer to Lifecycle Ops not on Main-Thread.\u000a  Perform OSX WindowDriver ops on Main-Thread:\u000a    - close0\u000a    - changeContentView0\u000a    - createWindow0\u000a\u000a- Cleaned up AddRemove unit tests, added TestAddRemove03GLWindowNEWT\u000a",
        "date" : "2013-02-17T02:25:34+0100",
        "id" : "8edaa9780455b60f6034a78970cab4f516d4b061",
        "msg" : "NEWT/OSX: Fix Memory Leak ; Fix Occasional Crash Duer to Lifecycle Ops",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/newt/native/MacWindow.m"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/acore/TestAddRemove02GLWindowNewtCanvasAWT.java"
          },
          {
            "editType" : "edit",
            "file" : "make/scripts/tests.sh"
          },
          {
            "editType" : "edit",
            "file" : "src/newt/native/NewtMacWindow.m"
          },
          {
            "editType" : "edit",
            "file" : "make/scripts/tests-osx-x64.sh"
          },
          {
            "editType" : "edit",
            "file" : "make/scripts/tests-osx-x64-java7.sh"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/awt/TestBug664GLCanvasSetVisibleSwingAWT.java"
          },
          {
            "editType" : "edit",
            "file" : "src/newt/classes/jogamp/newt/driver/macosx/WindowDriver.java"
          },
          {
            "editType" : "add",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/acore/TestAddRemove03GLWindowNEWT.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/acore/TestAddRemove01GLCanvasSwingAWT.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "make/build-test.xml"
        ],
        "commitId" : "68cc962abb7ca422bb9af6f4a5366eb2b428e04f",
        "timestamp" : 1361064456000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "build-test.xml: Move 'junit.run.newt.awt' up in file; 'junit.run.newt': Exclude *AWT* and *SWT* (similar to 'junit.run.newt.headless')\u000a",
        "date" : "2013-02-17T02:27:36+0100",
        "id" : "68cc962abb7ca422bb9af6f4a5366eb2b428e04f",
        "msg" : "build-test.xml: Move 'junit.run.newt.awt' up in file; 'junit.run.newt':",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "make/build-test.xml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "make/stub_includes/jni/macosx/jawt_md.h"
        ],
        "commitId" : "f937a727354fc24321d40df95008d569972ed169",
        "timestamp" : 1361115604000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Add proper copyright header w/ all remarks regarding re-distribution etc, similar to other JNI headers\u000a",
        "date" : "2013-02-17T16:40:04+0100",
        "id" : "f937a727354fc24321d40df95008d569972ed169",
        "msg" : "Add proper copyright header w/ all remarks regarding re-distribution",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "make/stub_includes/jni/macosx/jawt_md.h"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "make/scripts/make.jogl.all.macosx-java7.sh",
          "src/nativewindow/native/macosx/OSXmisc.m",
          "make/build-nativewindow.xml",
          "make/scripts/tests-osx-x64-java7u12ea.sh",
          "make/scripts/tests-osx-x64-java7u12eaOnJava6Build.sh",
          "make/scripts/tests-osx-x64-java7OnJava6build.sh",
          "make/scripts/make.jogl.all.macosx-java7u12ea.sh",
          "make/scripts/tests-osx-x64-java7.sh"
        ],
        "commitId" : "fdc20a0205bb01747055910eb2bb33202edee277",
        "timestamp" : 1361120118000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "OSX/Java7 Cleanup: Remove JavaNativeFoundation dependency; NativeWindow-JAWT: Remove c.fixup.jawt.version.macosx (redundant, libjawt.dylib is rpath'ed always)\u000a",
        "date" : "2013-02-17T17:55:18+0100",
        "id" : "fdc20a0205bb01747055910eb2bb33202edee277",
        "msg" : "OSX/Java7 Cleanup: Remove JavaNativeFoundation dependency;",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "make/build-nativewindow.xml"
          },
          {
            "editType" : "edit",
            "file" : "src/nativewindow/native/macosx/OSXmisc.m"
          },
          {
            "editType" : "add",
            "file" : "make/scripts/make.jogl.all.macosx-java7u12ea.sh"
          },
          {
            "editType" : "add",
            "file" : "make/scripts/tests-osx-x64-java7u12eaOnJava6Build.sh"
          },
          {
            "editType" : "add",
            "file" : "make/scripts/tests-osx-x64-java7OnJava6build.sh"
          },
          {
            "editType" : "edit",
            "file" : "make/scripts/tests-osx-x64-java7.sh"
          },
          {
            "editType" : "edit",
            "file" : "make/scripts/make.jogl.all.macosx-java7.sh"
          },
          {
            "editType" : "add",
            "file" : "make/scripts/tests-osx-x64-java7u12ea.sh"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "make/scripts/tests-macosx64-junit-java7.sh",
          "make/build-test.xml"
        ],
        "commitId" : "fc9539d50c12f9def7a3babde7384e3d38f61721",
        "timestamp" : 1361127267000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Unit Tests: Use Property 'jvmJava.exe' ; Add target 'junit.run.local.java7' (if=\"jvmJava7.exe\")\u000a\u000aSee GlueGen commit 6b86764f2e195b4046000fd5a7fcf3331ca72d21\u000a",
        "date" : "2013-02-17T19:54:27+0100",
        "id" : "fc9539d50c12f9def7a3babde7384e3d38f61721",
        "msg" : "Unit Tests: Use Property 'jvmJava.exe' ; Add target",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "make/build-test.xml"
          },
          {
            "editType" : "add",
            "file" : "make/scripts/tests-macosx64-junit-java7.sh"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "make/scripts/check-junit.sh"
        ],
        "commitId" : "a40ee817a3bd537b0de7018772b0835f995a1bed",
        "timestamp" : 1361129086000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Unit Tests: Add 'results-java7' to check-junit.sh (Completes commit fc9539d50c12f9def7a3babde7384e3d38f61721)\u000a",
        "date" : "2013-02-17T20:24:46+0100",
        "id" : "a40ee817a3bd537b0de7018772b0835f995a1bed",
        "msg" : "Unit Tests: Add 'results-java7' to check-junit.sh (Completes commit",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "make/scripts/check-junit.sh"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/newt/classes/jogamp/newt/driver/windows/WindowDriver.java",
          "src/test/com/jogamp/opengl/test/junit/newt/event/TestNewtKeyCodeModifiersAWT.java",
          "src/newt/native/WindowsWindow.c",
          "src/newt/classes/jogamp/newt/driver/macosx/MacKeyUtil.java",
          "src/newt/native/NewtMacWindow.h",
          "src/newt/classes/jogamp/newt/driver/android/event/AndroidNewtEventFactory.java",
          "src/newt/classes/jogamp/newt/driver/linux/LinuxMouseTracker.java",
          "src/newt/classes/jogamp/newt/awt/event/AWTNewtEventFactory.java",
          "src/newt/native/X11Display.c",
          "make/scripts/tests.sh",
          "src/newt/classes/jogamp/newt/driver/x11/WindowDriver.java",
          "src/test/com/jogamp/opengl/test/junit/newt/event/TestNewtKeyEventAutoRepeatAWT.java",
          "src/newt/classes/com/jogamp/newt/event/WindowEvent.java",
          "src/newt/classes/jogamp/newt/WindowImpl.java",
          "src/test/com/jogamp/opengl/test/junit/newt/event/TestNewtKeyPressReleaseUnmaskRepeatAWT.java",
          "make/scripts/tests-x64.bat",
          "src/test/com/jogamp/opengl/test/junit/newt/event/TestNewtKeyCodesAWT.java",
          "src/test/com/jogamp/opengl/test/junit/newt/event/TestNewtKeyEventOrderAWT.java",
          "src/newt/classes/jogamp/newt/swt/event/SWTNewtEventFactory.java",
          "src/newt/classes/jogamp/newt/driver/linux/LinuxEventDeviceTracker.java",
          "src/newt/classes/com/jogamp/newt/event/awt/AWTKeyAdapter.java",
          "src/newt/classes/com/jogamp/newt/event/KeyListener.java",
          "src/test/com/jogamp/opengl/test/junit/util/NEWTKeyUtil.java",
          "src/newt/classes/com/jogamp/newt/event/NEWTEvent.java",
          "src/newt/classes/com/jogamp/newt/event/KeyEvent.java",
          "src/newt/native/KDWindow.c",
          "make/scripts/make.jogl.all.linux-x86_64.sh",
          "make/scripts/java-win32-dbg.bat",
          "make/build-test.xml",
          "src/newt/classes/com/jogamp/newt/event/MouseEvent.java",
          "src/newt/classes/com/jogamp/newt/event/WindowUpdateEvent.java",
          "src/newt/classes/jogamp/newt/driver/macosx/WindowDriver.java",
          "src/newt/native/NewtMacWindow.m",
          "src/test/com/jogamp/opengl/test/junit/util/MiscUtils.java",
          "src/newt/native/bcm_vc_iv.c",
          "src/newt/classes/com/jogamp/newt/event/InputEvent.java",
          "src/newt/classes/jogamp/newt/driver/android/event/AndroidNewtEventTranslator.java"
        ],
        "commitId" : "85338858f5c58694fa88e77df1386d0556887944",
        "timestamp" : 1361253638000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Bug 678 (fix), Bug 641 (API + Windows Impl.), Bug 688 (prep): Update NEWT's KeyEvent handling while distinguish keyCode (kbd layout independent) and keySym (kbd layout dependent)\u000a\u000aAPI Changes:\u000a\u000a- Virtual key codes and symbols are of type short.\u000a\u000a- KeyEvent.keySymbol() shall return a layout dependent value (Bug 641)\u000a  - Method returns former keyCode() value, which was layout dependent.\u000a  - Returns 'short' value\u000a\u000a- KeyEvent.keyCode() returns a short value, instead of int\u000a\u000a- KeyEvent.keyCode() shall return a layout independent value (Bug 641)\u000a  - To ease implementation, we only 'require' the scan code to be mapped to a 'US Keyboard layout',\u000a    which allows reusing layout dependent code while preserving the goal to have a fixed physical key association\u000a\u000a  - Implementation status:\u000a    - Windows OK\u000a    - X11 TODO\u000a    - OSX: 50/50 TODO\u000a      - Using layout independent 'action keys'\u000a      - Using layout dependent 'printable keys'\u000a      - returning above semantics for both, keyCode and keySym\u000a\u000a    - Android 50/50 TODO\u000a      - Returning the layout independent keyCode\u000a      - Mapping probably incomplete\u000a\u000a- KeyEvent.EVENT_KEY_TYPED and KeyListener.keyTyped(KeyEvent) (Bug 688)\u000a  - Marked DEPRECATED\u000a  - No more called for auto-repeat events\u000a  - Synthesized in WindowImpl.consumeKeyEvent(..): No more injection by native- or java driver code\u000a\u000a- NEWTEvent.eventType: int -> short\u000a  - field, as well as all method involving eventType changed to short.\u000a\u000a- NEWTEvent.isSystemEvent: REMOVED\u000a  - Never used as well as never being implemented properly\u000a\u000aInternal Changes:\u000a\u000a- Simplified keyEvent driver code\u000a  - Especially the Windows native driver's mapping code\u000a    could be simplified using scanCode and MapVirtualKeyEx\u000a\u000a- NEWT Event Factories: hashMap -> switch/case\u000a\u000aUnit Tests:\u000a  -\u000a  - Added NewtCanvasAWT Offscreen Layer Tests\u000a    important to test the AWT -> NEWT translation on OSX/CALayer:\u000a    - TestNewtKeyCodeModifiersAWT\u000a    - TestNewtKeyCodesAWT\u000a    - TestNewtKeyEventAutoRepeatAWT\u000a    - TestNewtKeyEventOrderAWT\u000a    - TestNewtKeyPressReleaseUnmaskRepeatAWT\u000a",
        "date" : "2013-02-19T07:00:38+0100",
        "id" : "85338858f5c58694fa88e77df1386d0556887944",
        "msg" : "Bug 678 (fix), Bug 641 (API + Windows Impl.), Bug 688 (prep): Update",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/util/MiscUtils.java"
          },
          {
            "editType" : "edit",
            "file" : "src/newt/classes/jogamp/newt/driver/x11/WindowDriver.java"
          },
          {
            "editType" : "edit",
            "file" : "src/newt/classes/com/jogamp/newt/event/WindowEvent.java"
          },
          {
            "editType" : "edit",
            "file" : "src/newt/classes/com/jogamp/newt/event/WindowUpdateEvent.java"
          },
          {
            "editType" : "edit",
            "file" : "src/newt/native/bcm_vc_iv.c"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/newt/event/TestNewtKeyPressReleaseUnmaskRepeatAWT.java"
          },
          {
            "editType" : "edit",
            "file" : "src/newt/native/KDWindow.c"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/newt/event/TestNewtKeyCodesAWT.java"
          },
          {
            "editType" : "edit",
            "file" : "src/newt/classes/jogamp/newt/driver/android/event/AndroidNewtEventTranslator.java"
          },
          {
            "editType" : "edit",
            "file" : "src/newt/classes/jogamp/newt/driver/linux/LinuxMouseTracker.java"
          },
          {
            "editType" : "edit",
            "file" : "src/newt/classes/jogamp/newt/driver/macosx/WindowDriver.java"
          },
          {
            "editType" : "edit",
            "file" : "src/newt/classes/jogamp/newt/driver/macosx/MacKeyUtil.java"
          },
          {
            "editType" : "edit",
            "file" : "make/scripts/tests-x64.bat"
          },
          {
            "editType" : "edit",
            "file" : "make/scripts/make.jogl.all.linux-x86_64.sh"
          },
          {
            "editType" : "edit",
            "file" : "make/build-test.xml"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/newt/event/TestNewtKeyCodeModifiersAWT.java"
          },
          {
            "editType" : "edit",
            "file" : "src/newt/classes/com/jogamp/newt/event/NEWTEvent.java"
          },
          {
            "editType" : "edit",
            "file" : "src/newt/classes/com/jogamp/newt/event/awt/AWTKeyAdapter.java"
          },
          {
            "editType" : "edit",
            "file" : "src/newt/classes/jogamp/newt/WindowImpl.java"
          },
          {
            "editType" : "edit",
            "file" : "src/newt/classes/com/jogamp/newt/event/KeyListener.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/util/NEWTKeyUtil.java"
          },
          {
            "editType" : "edit",
            "file" : "src/newt/classes/jogamp/newt/driver/linux/LinuxEventDeviceTracker.java"
          },
          {
            "editType" : "edit",
            "file" : "src/newt/classes/com/jogamp/newt/event/InputEvent.java"
          },
          {
            "editType" : "edit",
            "file" : "src/newt/classes/com/jogamp/newt/event/KeyEvent.java"
          },
          {
            "editType" : "edit",
            "file" : "src/newt/native/X11Display.c"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/newt/event/TestNewtKeyEventAutoRepeatAWT.java"
          },
          {
            "editType" : "edit",
            "file" : "src/newt/native/NewtMacWindow.h"
          },
          {
            "editType" : "edit",
            "file" : "make/scripts/java-win32-dbg.bat"
          },
          {
            "editType" : "edit",
            "file" : "src/newt/classes/jogamp/newt/driver/android/event/AndroidNewtEventFactory.java"
          },
          {
            "editType" : "edit",
            "file" : "src/newt/native/NewtMacWindow.m"
          },
          {
            "editType" : "edit",
            "file" : "make/scripts/tests.sh"
          },
          {
            "editType" : "edit",
            "file" : "src/newt/native/WindowsWindow.c"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/newt/event/TestNewtKeyEventOrderAWT.java"
          },
          {
            "editType" : "edit",
            "file" : "src/newt/classes/jogamp/newt/driver/windows/WindowDriver.java"
          },
          {
            "editType" : "edit",
            "file" : "src/newt/classes/jogamp/newt/swt/event/SWTNewtEventFactory.java"
          },
          {
            "editType" : "edit",
            "file" : "src/newt/classes/jogamp/newt/awt/event/AWTNewtEventFactory.java"
          },
          {
            "editType" : "edit",
            "file" : "src/newt/classes/com/jogamp/newt/event/MouseEvent.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/test/com/jogamp/opengl/test/junit/newt/event/BaseNewtEventModifiers.java",
          "src/test/com/jogamp/opengl/test/junit/newt/event/TestNewtEventModifiersNEWTWindowAWT.java",
          "src/test/com/jogamp/opengl/test/junit/newt/event/TestNewtEventModifiersNewtCanvasAWT.java",
          "src/test/com/jogamp/opengl/test/junit/newt/event/TestNewtEventModifiersNewtCanvasSWT.java",
          "src/test/com/jogamp/opengl/test/junit/newt/event/TestNewtEventModifiersAWTCanvas.java"
        ],
        "commitId" : "e7df5d65e83e07bf7e8474aebcf9fd09f3597527",
        "timestamp" : 1361297332000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Unit Tests NewtEventModifiers: Attempt to make them more robust for that one particular Windows-AMD Test Node\u000a\u000a- Adding 'waitForVisible' and 'waitForRealized' on the GLAutoDrawable before test\u000a- Adding clearKeyboadAndMouse before test\u000a",
        "date" : "2013-02-19T19:08:52+0100",
        "id" : "e7df5d65e83e07bf7e8474aebcf9fd09f3597527",
        "msg" : "Unit Tests NewtEventModifiers: Attempt to make them more robust for that",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/newt/event/BaseNewtEventModifiers.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/newt/event/TestNewtEventModifiersNEWTWindowAWT.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/newt/event/TestNewtEventModifiersNewtCanvasAWT.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/newt/event/TestNewtEventModifiersNewtCanvasSWT.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/newt/event/TestNewtEventModifiersAWTCanvas.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/test/com/jogamp/opengl/test/junit/newt/event/BaseNewtEventModifiers.java",
          "src/test/com/jogamp/opengl/test/junit/newt/event/TestNewtEventModifiersNEWTWindowAWT.java",
          "src/test/com/jogamp/opengl/test/junit/newt/event/TestNewtEventModifiersNewtCanvasAWT.java",
          "src/test/com/jogamp/opengl/test/junit/newt/event/TestNewtEventModifiersNewtCanvasSWT.java",
          "src/test/com/jogamp/opengl/test/junit/newt/event/TestNewtEventModifiersAWTCanvas.java"
        ],
        "commitId" : "be352d9b3bc2a6a5a5542a0f91f13c9e28fbb8e0",
        "timestamp" : 1361301699000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Unit Tests NewtEventModifiers (2): Robostness\u000a\u000a- clearKeyboadAndMouse(): Add _testMouseListener.clear(); to clear all logs!\u000a\u000a- clearKeyboadAndMouse() after all tests\u000a- use implicit 'clearKeyboadAndMouse()' in execOffThreadWithOnThreadEventDispatch()\u000a",
        "date" : "2013-02-19T20:21:39+0100",
        "id" : "be352d9b3bc2a6a5a5542a0f91f13c9e28fbb8e0",
        "msg" : "Unit Tests NewtEventModifiers (2): Robostness",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/newt/event/BaseNewtEventModifiers.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/newt/event/TestNewtEventModifiersNEWTWindowAWT.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/newt/event/TestNewtEventModifiersNewtCanvasSWT.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/newt/event/TestNewtEventModifiersNewtCanvasAWT.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/newt/event/TestNewtEventModifiersAWTCanvas.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/newt/TestGearsES2NEWT.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/swt/TestGearsES2SWT.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/newt/TestGearsES2NewtCanvasAWT.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/awt/TestGearsES2AWT.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/newt/TestGearsES2NewtCanvasSWT.java"
        ],
        "commitId" : "c6224657027b8d4a5176810ce3acd09e97087ec5",
        "timestamp" : 1361362760000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Unit Tests: Add [manual] demo cases for SWT (TestGearsES2SWT, TestGearsES2NewtCanvasSWT); Add more AWT/NEWT layout scenarious.\u000a",
        "date" : "2013-02-20T13:19:20+0100",
        "id" : "c6224657027b8d4a5176810ce3acd09e97087ec5",
        "msg" : "Unit Tests: Add [manual] demo cases for SWT (TestGearsES2SWT,",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/newt/TestGearsES2NEWT.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/newt/TestGearsES2NewtCanvasAWT.java"
          },
          {
            "editType" : "add",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/swt/TestGearsES2SWT.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/awt/TestGearsES2AWT.java"
          },
          {
            "editType" : "add",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/newt/TestGearsES2NewtCanvasSWT.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/newt/native/NewtMacWindow.h",
          "src/newt/native/MacWindow.m",
          "src/newt/classes/jogamp/newt/driver/macosx/WindowDriver.java",
          "make/build-test.xml",
          "src/newt/native/NewtMacWindow.m"
        ],
        "commitId" : "7d5c51b635e0795d9b170342bdebe8e7e0bbd01d",
        "timestamp" : 1361363344000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "NEWT/OSX: Fix 'locationOnScreen' usage and use proper client-area window screen position (Fixes resize -> position)\u000a\u000a- Tested w/ NEWT GearsES2 and Java6 and Java7 on OSX\u000a",
        "date" : "2013-02-20T13:29:04+0100",
        "id" : "7d5c51b635e0795d9b170342bdebe8e7e0bbd01d",
        "msg" : "NEWT/OSX: Fix 'locationOnScreen' usage and use proper client-area window",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/newt/native/MacWindow.m"
          },
          {
            "editType" : "edit",
            "file" : "src/newt/classes/jogamp/newt/driver/macosx/WindowDriver.java"
          },
          {
            "editType" : "edit",
            "file" : "src/newt/native/NewtMacWindow.h"
          },
          {
            "editType" : "edit",
            "file" : "make/build-test.xml"
          },
          {
            "editType" : "edit",
            "file" : "src/newt/native/NewtMacWindow.m"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/newt/classes/com/jogamp/newt/awt/NewtCanvasAWT.java"
        ],
        "commitId" : "cf3ecdb670c0dfecd1394d5b9d5d5588c1bf71f3",
        "timestamp" : 1361363450000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "NewtCanvasAWT: Fix size determination, i.e. take newt-child's size into account if no preferred size is given.\u000a",
        "date" : "2013-02-20T13:30:50+0100",
        "id" : "cf3ecdb670c0dfecd1394d5b9d5d5588c1bf71f3",
        "msg" : "NewtCanvasAWT: Fix size determination, i.e. take newt-child's size into",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/newt/classes/com/jogamp/newt/awt/NewtCanvasAWT.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/newt/TestGearsES2NewtCanvasAWT.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/awt/TestGearsES2AWT.java",
          "make/scripts/tests.sh",
          "src/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXCGLContext.java",
          "src/nativewindow/classes/com/jogamp/nativewindow/awt/JAWTWindow.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/newt/TestGearsES2NewtCanvasSWT.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/swt/TestGearsES2SWT.java",
          "src/jogl/native/macosx/MacOSXWindowSystemInterface-calayer.m",
          "src/newt/classes/com/jogamp/newt/awt/NewtCanvasAWT.java",
          "src/nativewindow/native/macosx/OSXmisc.m",
          "src/nativewindow/classes/jogamp/nativewindow/macosx/OSXUtil.java",
          "src/newt/classes/jogamp/newt/driver/macosx/WindowDriver.java",
          "src/nativewindow/classes/javax/media/nativewindow/OffscreenLayerSurface.java",
          "src/nativewindow/classes/jogamp/nativewindow/jawt/macosx/MacOSXJAWTWindow.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/newt/TestGearsES2NEWT.java",
          "src/jogl/classes/javax/media/opengl/awt/GLCanvas.java"
        ],
        "commitId" : "14b278536e6f8de2ee6254796b89bd27d5419b72",
        "timestamp" : 1361389900000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "OSX/Java7/CALayer + JAWT: Partially Fix AWT/NEWT CALayer 'out of sight' bug, where our CALayer is moved out of the visible area\u000a\u000a- same erroneous behavior for GLCanvas and NewtCanvasAWT\u000a\u000a- sized-frame: Set framesize and validate() it\u000a\u000a- sized-component: Set component preferred size and call frame.pack()\u000a\u000a- added workaround 'OffscreenLayerSurface.layoutSurfaceLayer()' to fix CALayer size, which snaps for:\u000a\u000a  - OK initial size before setVisible: sized-frame and sized-component\u000a\u000a  - OK resize w/ sized-frame\u000a\u000a  - OK manual frame resize\u000a\u000a  - Invisible: w/ sized-component after setVisible()\u000a\u000a++\u000a\u000a- CALayer-Sublayer (GL) has additional retain/release when added/removed\u000a  to be on safe side.\u000a",
        "date" : "2013-02-20T20:51:40+0100",
        "id" : "14b278536e6f8de2ee6254796b89bd27d5419b72",
        "msg" : "OSX/Java7/CALayer + JAWT: Partially Fix AWT/NEWT CALayer 'out of sight'",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/nativewindow/native/macosx/OSXmisc.m"
          },
          {
            "editType" : "edit",
            "file" : "make/scripts/tests.sh"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/javax/media/opengl/awt/GLCanvas.java"
          },
          {
            "editType" : "edit",
            "file" : "src/nativewindow/classes/jogamp/nativewindow/jawt/macosx/MacOSXJAWTWindow.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/native/macosx/MacOSXWindowSystemInterface-calayer.m"
          },
          {
            "editType" : "edit",
            "file" : "src/newt/classes/jogamp/newt/driver/macosx/WindowDriver.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/newt/TestGearsES2NewtCanvasAWT.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXCGLContext.java"
          },
          {
            "editType" : "edit",
            "file" : "src/nativewindow/classes/com/jogamp/nativewindow/awt/JAWTWindow.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/newt/TestGearsES2NEWT.java"
          },
          {
            "editType" : "edit",
            "file" : "src/nativewindow/classes/jogamp/nativewindow/macosx/OSXUtil.java"
          },
          {
            "editType" : "edit",
            "file" : "src/nativewindow/classes/javax/media/nativewindow/OffscreenLayerSurface.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/awt/TestGearsES2AWT.java"
          },
          {
            "editType" : "edit",
            "file" : "src/newt/classes/com/jogamp/newt/awt/NewtCanvasAWT.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/newt/TestGearsES2NewtCanvasSWT.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/swt/TestGearsES2SWT.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/jogamp/opengl/GLContextImpl.java",
          "src/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXCGLContext.java"
        ],
        "commitId" : "10b4957dc36005453d2a4e7a3b4de4df20d0c901",
        "timestamp" : 1361389962000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Fix NPE of Bug 679: The ctx was released w/o fully initialized (no proper ARB ctx of expected version ?)\u000a",
        "date" : "2013-02-20T20:52:42+0100",
        "id" : "10b4957dc36005453d2a4e7a3b4de4df20d0c901",
        "msg" : "Fix NPE of Bug 679: The ctx was released w/o fully initialized (no",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/GLContextImpl.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXCGLContext.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/swt/TestGearsES2SWT.java"
        ],
        "commitId" : "43df6ed31d5144fb8fcdab51eae62fc123364a38",
        "timestamp" : 1361419159000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "TestGearsES2SWT: Fix NPE\u000a",
        "date" : "2013-02-21T04:59:19+0100",
        "id" : "43df6ed31d5144fb8fcdab51eae62fc123364a38",
        "msg" : "TestGearsES2SWT: Fix NPE",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/swt/TestGearsES2SWT.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/jogamp/opengl/GLVersionNumber.java"
        ],
        "commitId" : "24fe89e6d7cc551aaffb6c95624271eef027b275",
        "timestamp" : 1361431579000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Fix GLVersionNumber (Bug 679): Don't use a subsequent version number if not valid!\u000a",
        "date" : "2013-02-21T08:26:19+0100",
        "id" : "24fe89e6d7cc551aaffb6c95624271eef027b275",
        "msg" : "Fix GLVersionNumber (Bug 679): Don't use a subsequent version number if",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/GLVersionNumber.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/jogamp/opengl/GLContextImpl.java"
        ],
        "commitId" : "97401c4b832aa6f65bfbad47c54d18e4b720dbce",
        "timestamp" : 1361432105000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Relax GLContextImpl.setGLFunctionAvailability(..)'s Version Matching if testing major < 3 versions. (Bug 679)\u000a\u000aOn OSX, we 'only' support the ctx ARB creation and hence have no !ARM fallback.\u000a\u000aIf querying a version [2.0 .. 3.0] for GL2, it is acceptable if a valid OpenGL version is lower, e.g. 1.4.\u000a",
        "date" : "2013-02-21T08:35:05+0100",
        "id" : "97401c4b832aa6f65bfbad47c54d18e4b720dbce",
        "msg" : "Relax GLContextImpl.setGLFunctionAvailability(..)'s Version Matching if",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/GLContextImpl.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/com/jogamp/opengl/GLRendererQuirks.java",
          "src/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXCGLContext.java",
          "src/jogl/classes/jogamp/opengl/GLContextImpl.java"
        ],
        "commitId" : "ffcf0cb5beaf3c7c363d45cef0b9d18dcf3f50c6",
        "timestamp" : 1361435251000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Bug 548 and Bug 679: Add 'glFlush()' requirement (OSX < 10.7.3 && NVIDIA GPU) to GLRendererQuirks and perform only if exists.\u000a",
        "date" : "2013-02-21T09:27:31+0100",
        "id" : "ffcf0cb5beaf3c7c363d45cef0b9d18dcf3f50c6",
        "msg" : "Bug 548 and Bug 679: Add 'glFlush()' requirement (OSX < 10.7.3 && NVIDIA",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/GLRendererQuirks.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/macosx/cgl/MacOSXCGLContext.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/GLContextImpl.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/javax/media/opengl/GLProfile.java"
        ],
        "commitId" : "fe0a2ad6f702aee71ea06f9da19ec9fd696d4095",
        "timestamp" : 1361445845000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GLProfile: Adding convenient query for highest programmable core only GL profile\u000a\u000aAs suggested @ http://forum.jogamp.org/How-to-force-core-profile-tp4028307.html\u000a\u000aHowever, one could always get a dedicated core profile via:\u000a  - GLProfile.get(GLProfile.GLES2)\u000a  - GLProfile.get(GLProfile.GL3)\u000a  - GLProfile.get(GLProfile.GL4)\u000a\u000a.. etc\u000a",
        "date" : "2013-02-21T12:24:05+0100",
        "id" : "fe0a2ad6f702aee71ea06f9da19ec9fd696d4095",
        "msg" : "GLProfile: Adding convenient query for highest programmable core only GL",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/javax/media/opengl/GLProfile.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/test/com/jogamp/opengl/test/junit/newt/event/TestNewtEventModifiersNewtCanvasSWT.java",
          "src/nativewindow/classes/com/jogamp/nativewindow/swt/SWTAccessor.java",
          "src/test/com/jogamp/opengl/test/junit/newt/event/BaseNewtEventModifiers.java"
        ],
        "commitId" : "405bc071d5d13e00d0561a485d31e3a7d61bf167",
        "timestamp" : 1361449330000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "TestNewtEventModifiers*: Robostness (uhh) Unify wait-clear result code - fix SWT event dispatching.\u000a",
        "date" : "2013-02-21T13:22:10+0100",
        "id" : "405bc071d5d13e00d0561a485d31e3a7d61bf167",
        "msg" : "TestNewtEventModifiers*: Robostness (uhh) Unify wait-clear result code -",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/newt/event/TestNewtEventModifiersNewtCanvasSWT.java"
          },
          {
            "editType" : "edit",
            "file" : "src/nativewindow/classes/com/jogamp/nativewindow/swt/SWTAccessor.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/newt/event/BaseNewtEventModifiers.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/native/macosx/MacOSXWindowSystemInterface.m",
          "src/jogl/native/macosx/MacOSXWindowSystemInterface-calayer.m",
          "src/nativewindow/native/macosx/OSXmisc.m",
          "src/nativewindow/classes/jogamp/nativewindow/macosx/OSXUtil.java",
          "make/build-nativewindow.xml",
          "src/nativewindow/classes/jogamp/nativewindow/jawt/macosx/MacOSXJAWTWindow.java",
          "src/nativewindow/native/macosx/NativeWindowProtocols.h",
          "make/scripts/tests.sh",
          "make/build-jogl.xml"
        ],
        "commitId" : "cbd8e33f1e19cf0c061c371af6930aba7c36b84f",
        "timestamp" : 1361498504000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Fix CALayer pos/size and animation.\u000a\u000a- Fix CALayer animation:\u000a  - All CALayer animations are set to nil via overriding 'actionForKey'\u000a\u000a- Fix CALayer pos/size bug:\u000a\u000a  - Fix root and sub CALayer position to 0/0 and size on the main-thread w/o blocking.\u000a\u000a  - If the sub CALayer implements the Objective-C NativeWindow protocol NWDedicatedSize (e.g. JOGL's MyNSOpenGLLayer),\u000a    the dedicated size is passed to the layer, which propagates it appropriately.\u000a\u000a  - On OSX/Java7 our root CALayer's frame position and size gets corrupted by its NSView,\u000a    hence we have created the NWDedicatedSize protocol.\u000a",
        "date" : "2013-02-22T03:01:44+0100",
        "id" : "cbd8e33f1e19cf0c061c371af6930aba7c36b84f",
        "msg" : "Fix CALayer pos/size and animation.",
        "paths" : [
          {
            "editType" : "add",
            "file" : "src/nativewindow/native/macosx/NativeWindowProtocols.h"
          },
          {
            "editType" : "edit",
            "file" : "make/build-jogl.xml"
          },
          {
            "editType" : "edit",
            "file" : "src/nativewindow/native/macosx/OSXmisc.m"
          },
          {
            "editType" : "edit",
            "file" : "make/build-nativewindow.xml"
          },
          {
            "editType" : "edit",
            "file" : "make/scripts/tests.sh"
          },
          {
            "editType" : "edit",
            "file" : "src/nativewindow/classes/jogamp/nativewindow/jawt/macosx/MacOSXJAWTWindow.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/native/macosx/MacOSXWindowSystemInterface.m"
          },
          {
            "editType" : "edit",
            "file" : "src/nativewindow/classes/jogamp/nativewindow/macosx/OSXUtil.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/native/macosx/MacOSXWindowSystemInterface-calayer.m"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/newt/TestGearsES2NewtCanvasAWT.java",
          "src/test/com/jogamp/opengl/test/junit/newt/parenting/TestParentingFocusTraversal01AWT.java",
          "src/newt/classes/jogamp/newt/awt/event/AWTParentWindowAdapter.java",
          "src/newt/classes/jogamp/newt/WindowImpl.java",
          "src/newt/classes/com/jogamp/newt/awt/NewtCanvasAWT.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/awt/TestBug664GLCanvasSetVisibleSwingAWT.java",
          "src/newt/classes/jogamp/newt/driver/macosx/WindowDriver.java",
          "src/test/com/jogamp/opengl/test/junit/newt/TestFocus01SwingAWTRobot.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/awt/TestGearsES2AWT.java"
        ],
        "commitId" : "af384debfdf354d98e3d0d0c6e0c5cf5a967904e",
        "timestamp" : 1361498943000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "NEWT/OSX Fix: Child positioning ; NewtCanvasAWT: Change reparent time and use actual component size while setting min/pref. size at setup\u000a\u000a- NEWT/OSX Fix: Child positioning\u000a  - If !Offscreen and has-parent: Gather screen location by traversing through parent\u000a    and set native position (was removed w/ commit 7d5c51b635e0795d9b170342bdebe8e7e0bbd01d since still buggy).\u000a\u000a- NewtCanvasAWT: Change reparent time and use actual component size while setting min/pref. size at setup\u000a  - Analog to AWT GLCanvas\u000a  - validates and reparents at reshape(..), paint(..) and update(..)\u000a  - reshape(..) also trigers jawtWindow.layoutSurfaceLayer()\u000a  -\u000a",
        "date" : "2013-02-22T03:09:03+0100",
        "id" : "af384debfdf354d98e3d0d0c6e0c5cf5a967904e",
        "msg" : "NEWT/OSX Fix: Child positioning ; NewtCanvasAWT: Change reparent time",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/newt/classes/jogamp/newt/WindowImpl.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/newt/parenting/TestParentingFocusTraversal01AWT.java"
          },
          {
            "editType" : "edit",
            "file" : "src/newt/classes/jogamp/newt/driver/macosx/WindowDriver.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/newt/TestFocus01SwingAWTRobot.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/newt/TestGearsES2NewtCanvasAWT.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/awt/TestGearsES2AWT.java"
          },
          {
            "editType" : "edit",
            "file" : "src/newt/classes/com/jogamp/newt/awt/NewtCanvasAWT.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/awt/TestBug664GLCanvasSetVisibleSwingAWT.java"
          },
          {
            "editType" : "edit",
            "file" : "src/newt/classes/jogamp/newt/awt/event/AWTParentWindowAdapter.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/test/com/jogamp/opengl/test/junit/jogl/glu/TestBug694.java"
        ],
        "commitId" : "e2d2d4cc048e462ffa5efdc1737caad9d2fe0ef7",
        "timestamp" : 1361719391000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/gouessej",
          "fullName" : "gouessej"
        },
        "authorEmail" : "gouessej@orange.fr",
        "comment" : "Adds a unit test for the bug 694 on gluScaleImage\u000a",
        "date" : "2013-02-24T16:23:11+0100",
        "id" : "e2d2d4cc048e462ffa5efdc1737caad9d2fe0ef7",
        "msg" : "Adds a unit test for the bug 694 on gluScaleImage",
        "paths" : [
          {
            "editType" : "add",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/glu/TestBug694.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/test/com/jogamp/opengl/test/junit/jogl/acore/TestGLAutoDrawableDelegateOnOffscrnCapsNEWT.java",
          "src/newt/classes/com/jogamp/newt/event/awt/AWTAdapter.java",
          "src/newt/classes/com/jogamp/newt/Window.java",
          "src/newt/classes/com/jogamp/newt/opengl/GLWindow.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/acore/TestGLAutoDrawableDelegateNEWT.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/acore/TestGLContextDrawableSwitch11NEWT.java",
          "src/newt/classes/jogamp/newt/driver/awt/WindowDriver.java",
          "src/test/com/jogamp/opengl/test/junit/newt/TestWindowClosingProtocol03NewtAWT.java",
          "src/jogl/classes/com/jogamp/opengl/GLAutoDrawableDelegate.java",
          "make/scripts/tests.sh",
          "src/nativewindow/classes/com/jogamp/nativewindow/awt/AWTWindowClosingProtocol.java",
          "src/test/com/jogamp/opengl/test/junit/newt/TestWindowClosingProtocol02NEWT.java",
          "src/newt/classes/com/jogamp/newt/event/awt/AWTWindowAdapter.java",
          "src/newt/classes/jogamp/newt/WindowImpl.java",
          "src/newt/classes/com/jogamp/newt/awt/applet/JOGLNewtAppletBase.java",
          "src/jogl/classes/javax/media/opengl/awt/GLJPanel.java",
          "src/newt/classes/jogamp/newt/awt/event/AWTParentWindowAdapter.java",
          "src/newt/classes/com/jogamp/newt/event/NEWTEvent.java",
          "src/nativewindow/classes/javax/media/nativewindow/WindowClosingProtocol.java",
          "src/newt/classes/com/jogamp/newt/event/WindowListener.java",
          "src/test/com/jogamp/opengl/test/junit/newt/TestWindowClosingProtocol01AWT.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/acore/TestSharedContextNewtAWTBug523.java",
          "src/newt/classes/jogamp/newt/DisplayImpl.java",
          "src/newt/classes/com/jogamp/newt/awt/NewtCanvasAWT.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/acore/TestGLContextDrawableSwitch01NEWT.java",
          "src/newt/classes/com/jogamp/newt/event/InputEvent.java",
          "src/nativewindow/classes/javax/media/nativewindow/NativeWindow.java",
          "src/test/com/jogamp/opengl/test/junit/util/AWTRobotUtil.java",
          "src/test/com/jogamp/opengl/test/junit/newt/TestCloseNewtAWT.java",
          "src/jogl/classes/javax/media/opengl/awt/GLCanvas.java"
        ],
        "commitId" : "808a9a27a8c1c9e0a6701a8dd81d51f8daa8129d",
        "timestamp" : 1362004768000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Fix NEWT/AWT WindowClosing Unit Tests ; Review/Cleanup NEWT WindowClosing mechanism\u000a\u000aDue to a NEWT WindowClosing event regression cause by NewtCanvasAWT changes\u000aa review of our WindowClosing event mechanism was required.\u000a\u000aImportant cleanups are marked w/ '(*)' below.\u000a\u000aI would have preferred to change the 'WindowListener.windowDestroyNotify(WindowEvent)'\u000amethod to pass a WindowCloseEvent object exposing more information like\u000atoolkit or programmatic destruction and passing whether a 'closing' or 'nop' action\u000awill be performed based on the WindowClosingMode.\u000aFor now I postponed this idea .. since it would change the API again,\u000abut may reconsider it after merging the Android 'closing' patch.\u000a\u000a- InputEvent.consumedTag -> NEWTEvent.consumedTag\u000a\u000a- Window\u000a  - (*) Promote setWindowDestroyNotifyAction(Runnable) to public,\u000a        former WindowImpl.setHandleDestroyNotify(boolean).\u000a    Using a Runnable action for WindowImpl.windowDestroyNotify(boolean)\u000a    allows a setting defined alternative for destroy() and gets rid\u000a    of [ab]using WindowListener.windowDestroyNotify(WindowEvent) for\u000a    lifecycle actions. Used in:\u000a      - GLWindow\u000a      - GLAutoDrawableDelegate impl.\u000a\u000a- WindowImpl\u000a  - Respect NEWTEvent.consumedTag for WindowEvents as well\u000a\u000a  - (*) Impl. setHandleDestroyNotify(boolean) (see above)\u000a\u000a  - (*) destroy() simply sends out pre- and post- destruction Window events,\u000a    where windowDestroyNotify(boolean) sends out the pre-destruction event if NOP.\u000a\u000a  - (*) windowDestroyNotify(boolean) is public now, allowing other impl. details\u000a    to follow proper destruction using handleDestroyNotify Runnable (-> NewtCanvasAWT).\u000a\u000a- AWTWindowClosingProtocol:\u000a  - addClosingListenerOneShot() -> addClosingListener()\u000a    - calling addClosingListener() at addNotify()\u000a    - calling removeClosingListener() at removeNotify()\u000a\u000a  - AWTWindowClosingProtocol ctor taking NOP runnable,\u000a    allowing to send WindowEvent.EVENT_WINDOW_DESTROY_NOTIFY at WindowClosingMode.DO_NOTHING_ON_CLOSE\u000a\u000a  - add/remove listener on AWT-EDT\u000a\u000a- AWTWindowAdapter\u000a  - Add 'removeWindowClosingFrom(..)',\u000a    allowing to remove window closing event fwd.\u000a\u000a  - Also fwd windowClosed in window closing fwd'ing.\u000a\u000a- NewtCanvasAWT\u000a  - (*) Utilize AWTWindowClosingProtocol NOP runnable (see above)\u000a    to fwd closing-NOP event to NEWT\u000a\u000a  - (*) Unify remove/destroy code in destroyImpl(..)\u000a    - !removeNotify -> destroy NEWT child programatic or as toolkit event\u000a    - removeNotify || windowClosing -> destroy jawtWindow\u000a\u000a  - (*) Remove AWTWindowAdapter/AWTParentWindowAdapter's windowClosingListener,\u000a    since we utilize AWTWindowClosingProtocol\u000a\u000a- DisplayImpl\u000a  - Adding 'final void dispatchMessage(final NEWTEvent event)'\u000a    allowing to remove the NEWTEventTask wrapping for no reason\u000a    in enqueueEvent(..) if on EDT and waiting.\u000a",
        "date" : "2013-02-27T23:39:28+0100",
        "id" : "808a9a27a8c1c9e0a6701a8dd81d51f8daa8129d",
        "msg" : "Fix NEWT/AWT WindowClosing Unit Tests ; Review/Cleanup NEWT",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/newt/classes/com/jogamp/newt/event/awt/AWTWindowAdapter.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/newt/TestWindowClosingProtocol03NewtAWT.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/javax/media/opengl/awt/GLJPanel.java"
          },
          {
            "editType" : "edit",
            "file" : "src/newt/classes/com/jogamp/newt/event/awt/AWTAdapter.java"
          },
          {
            "editType" : "edit",
            "file" : "src/nativewindow/classes/com/jogamp/nativewindow/awt/AWTWindowClosingProtocol.java"
          },
          {
            "editType" : "edit",
            "file" : "src/newt/classes/com/jogamp/newt/event/WindowListener.java"
          },
          {
            "editType" : "edit",
            "file" : "src/newt/classes/jogamp/newt/awt/event/AWTParentWindowAdapter.java"
          },
          {
            "editType" : "edit",
            "file" : "src/newt/classes/com/jogamp/newt/awt/NewtCanvasAWT.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/newt/TestCloseNewtAWT.java"
          },
          {
            "editType" : "edit",
            "file" : "src/newt/classes/jogamp/newt/WindowImpl.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/acore/TestGLAutoDrawableDelegateOnOffscrnCapsNEWT.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/newt/TestWindowClosingProtocol02NEWT.java"
          },
          {
            "editType" : "edit",
            "file" : "src/nativewindow/classes/javax/media/nativewindow/WindowClosingProtocol.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/acore/TestGLContextDrawableSwitch11NEWT.java"
          },
          {
            "editType" : "edit",
            "file" : "src/nativewindow/classes/javax/media/nativewindow/NativeWindow.java"
          },
          {
            "editType" : "edit",
            "file" : "src/newt/classes/com/jogamp/newt/event/InputEvent.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/GLAutoDrawableDelegate.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/javax/media/opengl/awt/GLCanvas.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/acore/TestSharedContextNewtAWTBug523.java"
          },
          {
            "editType" : "edit",
            "file" : "src/newt/classes/jogamp/newt/driver/awt/WindowDriver.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/newt/TestWindowClosingProtocol01AWT.java"
          },
          {
            "editType" : "edit",
            "file" : "src/newt/classes/com/jogamp/newt/event/NEWTEvent.java"
          },
          {
            "editType" : "edit",
            "file" : "make/scripts/tests.sh"
          },
          {
            "editType" : "add",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/acore/TestGLAutoDrawableDelegateNEWT.java"
          },
          {
            "editType" : "edit",
            "file" : "src/newt/classes/com/jogamp/newt/Window.java"
          },
          {
            "editType" : "edit",
            "file" : "src/newt/classes/jogamp/newt/DisplayImpl.java"
          },
          {
            "editType" : "edit",
            "file" : "src/newt/classes/com/jogamp/newt/opengl/GLWindow.java"
          },
          {
            "editType" : "edit",
            "file" : "src/newt/classes/com/jogamp/newt/awt/applet/JOGLNewtAppletBase.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/acore/TestGLContextDrawableSwitch01NEWT.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/util/AWTRobotUtil.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/newt/classes/jogamp/newt/driver/android/WindowDriver.java",
          "src/newt/classes/com/jogamp/newt/event/NEWTEvent.java",
          "src/newt/classes/com/jogamp/newt/event/KeyEvent.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/GearsES2.java",
          "src/test/com/jogamp/opengl/test/android/NEWTGearsES2Activity.java",
          "src/newt/classes/jogamp/newt/driver/android/event/AndroidNewtEventFactory.java",
          "src/test/com/jogamp/opengl/test/android/MovieCubeActivity0.java",
          "src/newt/classes/jogamp/newt/driver/android/event/AndroidNewtEventTranslator.java"
        ],
        "commitId" : "3a4892c43be4a9dabba73d42175c2cfa39bd6d8d",
        "timestamp" : 1362051089000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Fix Bug 677: NEWT/Android: Add support for Android's KeyEvent.KEYCODE_BACK\u000a\u000aOriginal author: Eric Brayet <ericb@daysofwonder.com>\u000aRevised by: Sven Gothel <sgothel@jausoft.com>\u000a\u000aI took the freedom to cleanup the three original patches\u000afrom https://github.com/Pooouf/jogl.git branch 'bug_677':\u000a  - 7449d4726633d524a3bb79efffd04cfd0ca25e58 (removed by followup patch!)\u000a  - 68c739a4f03e46deecdbb71c125b4586aec08d63 (removes previous patch!)\u000a  - c2813dfc325a1482d18b6fc304e4e483f5633964\u000a\u000aFurther more I was able to reduce the 'extra' code while utilizing\u000a  - Window's isKeyboardVisible() and using keyboardVisibilityChanged(false)\u000a    to update the hidden keyboard state.\u000a  - Moving the key-handling code to the containing WindowDriver class\u000a    avoiding passing a reference to the inner view.\u000a  - Using AndroidNewtEventFactory for NEWT KeyEvent creation\u000a\u000a+++\u000a\u000a- Handle KeyEvent.KEYCODE_BACK w/ jogamp.newt.driver.android.WindowDriver.MSurfaceView.onKeyPreIme(..):\u000a    if( soft keyboard is up )\u000a      [1] Update keyboard visibility state and return NEWT KeyEvent.VK_KEYBOARD_INVISIBLE;\u000a    else\u000a      [2] call WindowImpl.windowDestroyNotify(true)\u000a\u000a    [3] then cont. processing, i.e. return false;\u000a\u000a- Turns out respecting WindowClosingMode might be\u000a  - too complicated\u000a  - interfere w/ Android UI behavior\u000a\u000a- AndroidNewtEventFactory\u000a  - createKeyEvent\u000a    - static\u000a    - adding boolean param 'inclSysKeys', if true, KEYCODE_BACK and KEYCODE_HOME are mapped\u000a\u000a- Unit tests: GearsES2 + MovieCubeActivity0 shows keyboard if pressure > 0.6f\u000a    - pressure on Android shall be between [0..1], however we have to figure out\u000a      badly calibrated touchpads/Android device where we could experience\u000a      pressure > 2.0f !\u000a\u000a    - TODO: API documentation of pressure [0..1]\u000a",
        "date" : "2013-02-28T12:31:29+0100",
        "id" : "3a4892c43be4a9dabba73d42175c2cfa39bd6d8d",
        "msg" : "Fix Bug 677: NEWT/Android: Add support for Android's",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/GearsES2.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/android/MovieCubeActivity0.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/android/NEWTGearsES2Activity.java"
          },
          {
            "editType" : "edit",
            "file" : "src/newt/classes/com/jogamp/newt/event/KeyEvent.java"
          },
          {
            "editType" : "edit",
            "file" : "src/newt/classes/jogamp/newt/driver/android/WindowDriver.java"
          },
          {
            "editType" : "edit",
            "file" : "src/newt/classes/jogamp/newt/driver/android/event/AndroidNewtEventTranslator.java"
          },
          {
            "editType" : "edit",
            "file" : "src/newt/classes/com/jogamp/newt/event/NEWTEvent.java"
          },
          {
            "editType" : "edit",
            "file" : "src/newt/classes/jogamp/newt/driver/android/event/AndroidNewtEventFactory.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/newt/classes/jogamp/newt/WindowImpl.java"
        ],
        "commitId" : "01fdd5c564dcb8a7d4f8347f71728f8c2b657cb3",
        "timestamp" : 1362051201000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "NEWT WindowImpl: Cleanup redundancies in destroy() and windowDestroyNotify(boolean)\u000a\u000a- destroy()\u000a  - screen is never null!\u000a  - always attempt to removeScreenReference()\u000a\u000a- windowDestroyNotify(boolean)\u000a  - NOP if !isNativeValid() to avoid DESTROY_* events\u000a",
        "date" : "2013-02-28T12:33:21+0100",
        "id" : "01fdd5c564dcb8a7d4f8347f71728f8c2b657cb3",
        "msg" : "NEWT WindowImpl: Cleanup redundancies in destroy() and",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/newt/classes/jogamp/newt/WindowImpl.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/newt/classes/com/jogamp/newt/event/MouseEvent.java",
          "src/newt/classes/jogamp/newt/driver/android/event/AndroidNewtEventFactory.java",
          "src/test/com/jogamp/opengl/test/android/MovieCubeActivity0.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/GearsES2.java"
        ],
        "commitId" : "b85903ac92be7884e99eb7b85884033d7ea42337",
        "timestamp" : 1362057882000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "NEWT: Harmonize MouseEvent Pressure (API Change!)\u000a\u000aDue to high fluctuation (lack of normalized) pressure values on Android devices,\u000aan option to query the normalized value and access to the current known maximum pressure is required.\u000a\u000aMouseEvent:\u000a  - getMaxPressure() returning the [self calibrated] known maximum pressure\u000a\u000a  - getPressure(..) -> getPressure(.., boolean normalize) (API Change!)\u000a     - return normalize ? pressure/maxPressure : pressure;\u000a",
        "date" : "2013-02-28T14:24:42+0100",
        "id" : "b85903ac92be7884e99eb7b85884033d7ea42337",
        "msg" : "NEWT: Harmonize MouseEvent Pressure (API Change!)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/newt/classes/jogamp/newt/driver/android/event/AndroidNewtEventFactory.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/GearsES2.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/android/MovieCubeActivity0.java"
          },
          {
            "editType" : "edit",
            "file" : "src/newt/classes/com/jogamp/newt/event/MouseEvent.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/nativewindow/classes/com/jogamp/nativewindow/awt/AWTWindowClosingProtocol.java"
        ],
        "commitId" : "7891d2b8f73afb3a71aea237bc5891f05d1d538f",
        "timestamp" : 1362069525000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Fix AWT EDT Deadlock in AWTWindowClosingProtocol, regression of commit 808a9a27a8c1c9e0a6701a8dd81d51f8daa8129d\u000a",
        "date" : "2013-02-28T17:38:45+0100",
        "id" : "7891d2b8f73afb3a71aea237bc5891f05d1d538f",
        "msg" : "Fix AWT EDT Deadlock in AWTWindowClosingProtocol, regression of commit",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/nativewindow/classes/com/jogamp/nativewindow/awt/AWTWindowClosingProtocol.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/test/com/jogamp/opengl/test/junit/util/AWTRobotUtil.java",
          "src/jogl/classes/jogamp/opengl/awt/AWTThreadingPlugin.java",
          "src/newt/classes/jogamp/newt/driver/awt/AWTEDTUtil.java",
          "src/jogl/classes/javax/media/opengl/awt/GLCanvas.java"
        ],
        "commitId" : "33eb58fc25b0e44666f72e5a2abf6e040efba8bf",
        "timestamp" : 1362069646000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Adapt to GlueGen's relocation of AWTEDTExecutor - GlueGen commit 99a50b38f5650fedca0f207e03706ffa9492e50c\u000a",
        "date" : "2013-02-28T17:40:46+0100",
        "id" : "33eb58fc25b0e44666f72e5a2abf6e040efba8bf",
        "msg" : "Adapt to GlueGen's relocation of AWTEDTExecutor - GlueGen commit",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/awt/AWTThreadingPlugin.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/util/AWTRobotUtil.java"
          },
          {
            "editType" : "edit",
            "file" : "src/newt/classes/jogamp/newt/driver/awt/AWTEDTUtil.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/javax/media/opengl/awt/GLCanvas.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/test/com/jogamp/opengl/test/junit/jogl/demos/gl2/awt/TestGLJPanelAWTBug450.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/awt/TestGearsES2AWT.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/swt/TestSWTAccessor03AWTGLn.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/acore/TestAWTCloseX11DisplayBug565.java",
          "src/test/com/jogamp/opengl/test/junit/newt/TestWindowClosingProtocol03NewtAWT.java",
          "src/test/com/jogamp/opengl/test/junit/newt/parenting/TestParenting01cAWT.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/util/texture/TestTextureSequence01AWT.java",
          "src/test/com/jogamp/opengl/test/junit/newt/parenting/TestParentingFocusTraversal01AWT.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/util/texture/TestTexture01AWT.java",
          "src/test/com/jogamp/opengl/test/junit/newt/parenting/TestParenting01bAWT.java",
          "src/test/com/jogamp/opengl/test/bugs/Bug427GLJPanelTest1.java",
          "src/test/com/jogamp/opengl/test/junit/newt/event/TestNewtKeyCodesAWT.java",
          "src/test/com/jogamp/opengl/test/bugs/Issue344Base.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/caps/TestMultisampleES1AWT.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/demos/gl2/awt/TestGearsAWTAnalyzeBug455.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/newt/TestSwingAWTRobotUsageBeforeJOGLInitBug411.java",
          "src/test/com/jogamp/opengl/test/junit/newt/parenting/TestTranslucentParentingAWT.java",
          "src/test/com/jogamp/opengl/test/junit/newt/parenting/TestParenting03AWT.java",
          "src/test/com/jogamp/opengl/test/junit/newt/parenting/TestParenting02AWT.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/awt/TestAWT01GLn.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/awt/TestJScrollPaneMixHwLw01AWT.java",
          "src/test/com/jogamp/opengl/test/junit/newt/parenting/TestParenting01cSwingAWT.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/glsl/TestShaderCompilationBug459AWT.java",
          "src/test/com/jogamp/opengl/test/junit/newt/parenting/TestParenting01aAWT.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/demos/gl2/awt/TestGearsGLJPanelAWT.java",
          "src/test/com/jogamp/opengl/test/junit/newt/TestWindowClosingProtocol01AWT.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/awt/TestAWT03GLCanvasRecreate01.java",
          "src/test/com/jogamp/opengl/test/junit/newt/parenting/TestParenting04AWT.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/awt/TestAWTCardLayoutAnimatorStartStopBug532.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/awt/TestAWT02WindowClosing.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/awt/text/TestAWTTextRendererUseVertexArrayBug464.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/demos/gl2/awt/TestGearsAWT.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/awt/TestGLCanvasAWTActionDeadlock02AWT.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/caps/TestTranslucencyAWT.java",
          "src/test/com/jogamp/opengl/test/junit/newt/TestFocus02SwingAWTRobot.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/awt/TestBug461FBOSupersamplingSwingAWT.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/awt/TestGLCanvasAWTActionDeadlock01AWT.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/acore/TestShutdownCompleteAWT.java"
        ],
        "commitId" : "9a5e03cc9e028422f8e7c85e875f6db4bedeaaff",
        "timestamp" : 1362075473000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "All AWT Related Unit Tests: Call AWT 'frame.setVisible(..)' and 'frame.pack()' on AWT-EDT - Use dedicated test TestBug572AWT for testing otherwise.\u000a",
        "date" : "2013-02-28T19:17:53+0100",
        "id" : "9a5e03cc9e028422f8e7c85e875f6db4bedeaaff",
        "msg" : "All AWT Related Unit Tests: Call AWT 'frame.setVisible(..)' and",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/awt/TestAWT02WindowClosing.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/acore/TestShutdownCompleteAWT.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/util/texture/TestTexture01AWT.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/newt/TestFocus02SwingAWTRobot.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/awt/TestJScrollPaneMixHwLw01AWT.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/awt/TestAWT01GLn.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/awt/TestAWTCardLayoutAnimatorStartStopBug532.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/newt/parenting/TestParenting01bAWT.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/awt/TestAWT03GLCanvasRecreate01.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/newt/TestSwingAWTRobotUsageBeforeJOGLInitBug411.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/util/texture/TestTextureSequence01AWT.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/demos/gl2/awt/TestGearsAWT.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/caps/TestTranslucencyAWT.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/awt/TestBug461FBOSupersamplingSwingAWT.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/caps/TestMultisampleES1AWT.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/awt/TestGearsES2AWT.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/newt/parenting/TestParentingFocusTraversal01AWT.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/newt/parenting/TestParenting01cSwingAWT.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/bugs/Bug427GLJPanelTest1.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/awt/TestGLCanvasAWTActionDeadlock02AWT.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/swt/TestSWTAccessor03AWTGLn.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/newt/parenting/TestParenting04AWT.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/newt/event/TestNewtKeyCodesAWT.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/newt/TestWindowClosingProtocol03NewtAWT.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/newt/parenting/TestParenting01aAWT.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/glsl/TestShaderCompilationBug459AWT.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/newt/parenting/TestTranslucentParentingAWT.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/acore/TestAWTCloseX11DisplayBug565.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/awt/text/TestAWTTextRendererUseVertexArrayBug464.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/newt/parenting/TestParenting03AWT.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/newt/parenting/TestParenting02AWT.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/newt/parenting/TestParenting01cAWT.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/awt/TestGLCanvasAWTActionDeadlock01AWT.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/bugs/Issue344Base.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/demos/gl2/awt/TestGLJPanelAWTBug450.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/demos/gl2/awt/TestGearsAWTAnalyzeBug455.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/demos/gl2/awt/TestGearsGLJPanelAWT.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/newt/TestWindowClosingProtocol01AWT.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/test/com/jogamp/opengl/test/junit/jogl/awt/TestBug572AWT.java",
          "make/scripts/tests.sh"
        ],
        "commitId" : "26b9b3f5dd2e6914dd6555dda61d04fac115a4b1",
        "timestamp" : 1362075523000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "TestBug572AWT: Add test case w/ setting GLCanvas's size and frame.pack() on AWT-EDT and current thread.\u000a",
        "date" : "2013-02-28T19:18:43+0100",
        "id" : "26b9b3f5dd2e6914dd6555dda61d04fac115a4b1",
        "msg" : "TestBug572AWT: Add test case w/ setting GLCanvas's size and frame.pack()",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/awt/TestBug572AWT.java"
          },
          {
            "editType" : "edit",
            "file" : "make/scripts/tests.sh"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/jogamp/opengl/windows/wgl/WindowsWGLGraphicsConfiguration.java",
          "src/jogl/classes/jogamp/opengl/windows/wgl/WindowsPbufferWGLDrawable.java"
        ],
        "commitId" : "7f2637bfe5ef1764882a123a8942e60632730bdf",
        "timestamp" : 1362076222000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Fix Bug 695: WGLExt.wglChoosePixelFormatARB causes buffer underflow due to a higher reported number of configs than buffer size\u000a\u000a\"I encountered a case on an NVidia Quadro 3500 fx where the call to\u000aWGLExt.wglChoosePixelFormatARB in WindowsWGLGraphicsConfiguration (currently\u000aline 355) returns 264 in numFormatsTmp despite 256 being passed in for the\u000amaximum number of formats. This results in a buffer underflow on line 368 since\u000apformatsTmp only has 256 values and it's trying to copy 264 values.\"\u000a\u000aFixed in WindowsWGLGraphicsConfiguration and WindowsPbufferWGLDrawable.\u000a",
        "date" : "2013-02-28T19:30:22+0100",
        "id" : "7f2637bfe5ef1764882a123a8942e60632730bdf",
        "msg" : "Fix Bug 695: WGLExt.wglChoosePixelFormatARB causes buffer underflow due",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/windows/wgl/WindowsPbufferWGLDrawable.java"
          },
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/jogamp/opengl/windows/wgl/WindowsWGLGraphicsConfiguration.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/test/com/jogamp/opengl/test/junit/jogl/glu/TestBug694.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/glu/TestBug694AWT.java"
        ],
        "commitId" : "2cf74ca4d4d7f41e8e416bfa14fe07f175dff62b",
        "timestamp" : 1362149499000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "TestBug694 -> TestBug694AWT so it properly gets picked up by the AWT unit test ant task.\u000a",
        "date" : "2013-03-01T15:51:39+0100",
        "id" : "2cf74ca4d4d7f41e8e416bfa14fe07f175dff62b",
        "msg" : "TestBug694 -> TestBug694AWT so it properly gets picked up by the AWT",
        "paths" : [
          {
            "editType" : "delete",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/glu/TestBug694.java"
          },
          {
            "editType" : "add",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/glu/TestBug694AWT.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/javax/media/opengl/awt/GLJPanel.java"
        ],
        "commitId" : "59a1ab0312492a251a0efc700d040a5f71e88611",
        "timestamp" : 1362775004000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GLJPanel: Add DEBUG_VIEWPORT flag, Add USE_GLSL_TEXTURE_RASTERIZER flag, DEBUG reshape trace.\u000a\u000a- Add DEBUG_VIEWPORT flag\u000a  Via explicit property 'jogl.debug.GLJPanel.Viewport' (not via jogl.debug=all)\u000a  Traces the current GL Viewport in OffscreenBackend.postGL(..)\u000a\u000a- Add USE_GLSL_TEXTURE_RASTERIZER flag\u000a  Via explicit property 'jogl.gljpanel.noglsl'.\u000a  Disables use of GLSL FBO flipping.\u000a\u000aDEBUG reshape trace\u000a",
        "date" : "2013-03-08T21:36:44+0100",
        "id" : "59a1ab0312492a251a0efc700d040a5f71e88611",
        "msg" : "GLJPanel: Add DEBUG_VIEWPORT flag, Add USE_GLSL_TEXTURE_RASTERIZER flag,",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/javax/media/opengl/awt/GLJPanel.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/jogl/classes/javax/media/opengl/awt/GLJPanel.java"
        ],
        "commitId" : "d143475e995e473c142fd34be2af6521246f014a",
        "timestamp" : 1362776314000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "GLJPanel: Updating GLJPanel documention w/ current mode of operation\u000a",
        "date" : "2013-03-08T21:58:34+0100",
        "id" : "d143475e995e473c142fd34be2af6521246f014a",
        "msg" : "GLJPanel: Updating GLJPanel documention w/ current mode of operation",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/javax/media/opengl/awt/GLJPanel.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/test/com/jogamp/opengl/test/junit/jogl/glu/TestBug694ScaleImageUnpackBufferSizeAWT.java",
          "src/jogl/classes/com/jogamp/opengl/util/GLPixelStorageModes.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/glu/TestBug694AWT.java"
        ],
        "commitId" : "b29f221c903aefdf99af8e8a8544b2223036454f",
        "timestamp" : 1362793276000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Fix buggy unit test for Bug 694: The unpack alignment has to be considered!\u000a",
        "date" : "2013-03-09T02:41:16+0100",
        "id" : "b29f221c903aefdf99af8e8a8544b2223036454f",
        "msg" : "Fix buggy unit test for Bug 694: The unpack alignment has to be",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/jogl/classes/com/jogamp/opengl/util/GLPixelStorageModes.java"
          },
          {
            "editType" : "delete",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/glu/TestBug694AWT.java"
          },
          {
            "editType" : "add",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/glu/TestBug694ScaleImageUnpackBufferSizeAWT.java"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/test/com/jogamp/opengl/test/junit/jogl/acore/TestFBOOnThreadSharedContext1DemoES2NEWT.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/acore/TestFBOOffThreadSharedContextMix2DemosES2NEWT.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/demos/GLFinishOnDisplay.java",
          "src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/Mix2TexturesES2.java",
          "make/scripts/tests.sh"
        ],
        "commitId" : "d3672684177a98a58c434bcd27541f44917050f3",
        "timestamp" : 1362795835000,
        "author" : {
          "absoluteUrl" : "https://jogamp.org/chuck/user/sven%20gothel",
          "fullName" : "Sven Gothel"
        },
        "authorEmail" : "sgothel@jausoft.com",
        "comment" : "Fix Mix2TexturesES2 unit tests: Use synchronized texID access and add glFinish() after demo -> FBO rendering on or off thread.\u000a\u000aFixes shared GLContext OSX rendering.\u000a",
        "date" : "2013-03-09T03:23:55+0100",
        "id" : "d3672684177a98a58c434bcd27541f44917050f3",
        "msg" : "Fix Mix2TexturesES2 unit tests: Use synchronized texID access and add",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/demos/es2/Mix2TexturesES2.java"
          },
          {
            "editType" : "edit",
            "file" : "make/scripts/tests.sh"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/acore/TestFBOOnThreadSharedContext1DemoES2NEWT.java"
          },
          {
            "editType" : "edit",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/acore/TestFBOOffThreadSharedContextMix2DemosES2NEWT.java"
          },
          {
            "editType" : "add",
            "file" : "src/test/com/jogamp/opengl/test/junit/jogl/demos/GLFinishOnDisplay.java"
          }
        ]
      }
    ],
    "kind" : "git"
  },
  "culprits" : [
    {
      "absoluteUrl" : "https://jogamp.org/chuck/user/xerxes",
      "fullName" : "xerxes"
    },
    {
      "absoluteUrl" : "https://jogamp.org/chuck/user/eric.brayet",
      "fullName" : "eric.brayet"
    },
    {
      "absoluteUrl" : "https://jogamp.org/chuck/user/sgothel",
      "fullName" : "Sven Gothel"
    },
    {
      "absoluteUrl" : "https://jogamp.org/chuck/user/gouessej",
      "fullName" : "gouessej"
    }
  ]
}