Jacob Senglea (1): Enable FreeBSD x86_64 builds (and add swt.jar) Michael Weber (1): New test case that demonstates bug 523, hang on application exit if GLContext objects are shared across GLWindow instances. This bug does not manifest in the latest source. Rami Santina (12): Allow Android activity launch from another app. Android manifest add uses es2 gears es2 use default presesion vertex shader test scripts: gluegen apk un+install remove trace gl RedSquare ES2 demo: precission change Added allin one shader stripped for graph. tegra2: split fragment shaders into two (a - 1st pass, b - 2nd pass) ; disabled discard Fix intendation Fixed shader entry files a/b GraphUI demo: add x and y translation for 1 pointer GraphUI: flip y coords Sven Gothel (322): Make jogl-test-applets look nice; Add NEWT Overview; Link both to JOGL's index page Add AppletLauncher to launcher applets ; Make JOGL Test page look nice JOGL index page: reorg menu links Make jogl-applet-runner-newt.jnlp relative Minor editing Applet Tag -> Mixed Object/Embed minor edit Fix html errors html fixes fix url and html tags Add Apache 1.1 and 2.0, SGIFreeB 2.0 and ubuntu-font licenses to doc/licenses; Proper license text referencing from root LICENSE.txt refined JOGL-DEPLOYMENT doc LICENSE.txt: Removed 'may be used'. Added Emphasized multiple licenses Remove obsolete WinCE .lib files Added NVidia License for CG header; Fixed intendation Add jogamp-next test applets to www index remove jogl.cg.jar from jogl.all*.jar Proper usage of loadLibrary Remove native lib cg from jogl native lib jar Use Platform's initSingleton() instead of JVMUtil's (private package) ; Use TempJarCache if used. test scripts: use build/lib for JOGL native lib access (will be removed though) Adding html launch type and page for new 'NApplet', using new TempJarCache for native libs. Add NApplet launch variant to all applets Use new JNILIbLoaderBase addNativeJarLibs(all, atomic) for JOGL, NativeWindow and NEWT; no more LD_LIB_.. in setenv.sh for test scripts Cleanup DefaultEDTUtil: Generics and DEBUG OSX: Sync MainThread w/ DefaultEDTUtil and proper deledation AWT EDT, MacWindow: create/visible at native creation CreateWindow set visible; lockSurface: lock AWT if available test scripts NativeWindow/OSX: Add nativewindow_macosx lib and nativewindow.os.macosx.jar for 'GetLocationOnScreen()' NEWT/JOGL: MacOSX Update Adapt to GlueGen's Lock ChangeSet: e4baba27507ce78e64a150ec6f69fb96f5721a34 ; Use generics NEWT: Adapt to GlueGen's Lock ChangeSet, all java callbacks for native have 'defer' 1st argument NEWT/Threading: MainThread / DefaultEDTUtil tests: added some commented out 'wait for press enter' startups, reduce getCurrentScreenMode() loop to 100 GLContextImpl: Fix bug: Surface was not unlocked in case new context creation failed. test script .. NEWT/OSX: 'Better' child window positioning, still, after reparenting into parent, a white window rectangle remains. NEWT/OSX: Enable OSX Android Activity Launching (jogl.test) Fix GLProfile ES2: Component numbers can't be validated (??) Fix ES2 shaders TypecastFontConstructor: Use IOUtil's createTempFile() to comfort Android NEWT/Android: Send MouseClicked event, MouseEvent enhancement, Demo: real 2 finger zoom NewtBaseActivity: Enable 'slave' mode, ie as a downstream for external launched Activity, see NewtLauncherActivity NEWT DisplayImpl: Check for null event in task GearsES1/ES2 demos: remove junit assertions Android: Add jogl-test manifest. APK scripts Android/Demos: Add ElektronenMultiplizierer (fix shader and keylistener add/remove) demo: es2 shaders: use default precision Android Launcher: Generalize ClassLoaderUtil. Use local TempFileCache Android Launcher Demos: Adept to df6021f9ef50623e6ac8f0822e827fd31a0a0cf2 Graph GLSL: Use global precicision settings enhancing readability EGL: chooseGraphicsConfigurationStatic() public and w/ optional visualID ES Library lookup order - Favor spec lib name EGL: eglSwapBuffers() show failure in DEBUG mode NEWT/Android: More ANativeWindow coop; test script scripts Android: Use standard launch mode; Add default actions to NewtBaseActivity; Add RedSquare ES1 + ES2 Android/JogAmp ClassLoader: Split CL JogAmp + User-APK, reuse JogAmp CL if in same ClassLoader GLPipelineFactory: Generics && Using enhanced GlueGen's ReflectionUtil.getConstructor(..) GLContext/GLDebugMessageHandler: Fix/clarify init and usage of dbg handler Android Launcher: Sort properties / enable DebugGL/TraceGL test scripts Android/Tests: Adding missing activities Android launcher manifest: Commented out feature glEsVersion per application RedSquareES1: remove GLU dependency Android Launcher: Change properties .. debug, etc - disable trace AndroidWindow: get required PixelFormat ID by req. Caps NEWT/Android: 565, 5551 or RGBA_8888 (no RGBX/888) ; surfaceRealized() ASAP scripts .. DefaultGLCapabilitiesChooser: Add multisampling criteria Android Launcher: Show caps chooser dbg Android/EGL: dump all caps, write-back format Android Launcher: disable trace Graph: Reflect shader name change in impl. TODO: Use/switch to 2nd pass shader tegra: refine disabled discard, ie keep logic/math intact. Rami ? Graph Shader Simplification, 'a'/'b' redefined; GraphUI 2-pass demo; adb scripts: pass through '$*' for device naming, ie '-s device00:5555' or '-s 390adf8383' Workaround Android 3.0 Dalvik Issue 16434 Android: launcher manifest: adding INTERNET permission for NV's perfhud NEWT/Android: Move fullscreen setting to AndroidWindow ; Cleanup AndroidWindow EGL: In case a nativeVisualID is given to match, but none visual IDs are available, ignore the given ID NEWT/Android: Add BUTTON1 for one-pointer events ShaderUtils: Use glShaderSource variant w/ NIO only args ES2 Test Update: Add RedSquareES2 mouse events, toggle: fullscreen / SwapInterval test script NEWT/Android: Add TRANSLUCENT feature / Demo: 'GearsES2T' NEWT/Window/setVisible: Remove setVisible(..) fast path - Always set visible=true, even if size==0 NEWT/Android: respect isUndecorated() and custom window size. PMVMatrix: Defaults from direct NIO -> array-backed non-direct NIO: Reduced cycles 45% -> 5% (from GearsES2 100%) NEWT/Android: Fix setting 'format' Android test launcher manifest: add external storrage permission for trace Clarify/Fix GLArrayDataEditable:padding() - no use case yet .. well GLArrayData: Add GLArrayHandlerFlat ; Update VBO name to interleaved subarrays Android Elektron/RedSquare use bpp 5/6/5 Android Demos GearsES2 + RedSquareES2: Add tracing .. and no vsync (doesn't work) GLWindow/GLDrawableHelper: Adding experimental notion of skipping GL context release for a specific thread minor editing EGL: Fall back to NV_coverage_sample if EGL MSAA/FSAA is n/a Generalize sample extension in GLCapabilities*, currently NV_coverage_sample is respected in EGL DefaultGLCapabilitiesChooser: Punish sample extension mismatch also if req == default && req != given NEWT: Add pointer features: visibility, confined and warp (move) NEWT Pointer Feature: Add Windows impl. ; Fix test (warp action) ; Minor cleanup in X11 Fix HowToBuild NEWT Pointer Mods: Propagate 'confined' and 'invisible' to modifier mask of InputEvent (Mouse) ; Test confined navigation w/ GearsES2 NEWT/OSX: Fix erroneous child Window position and top-parent visibility NEWT Parenting Tests: Run all AWT modification call's on AWT EDT as the spec demands; Add missing frame.validate() after change. Fix Nativewindow GetLocationOnScreen OSX impl. - Transform OSX origin bottom-left to our top-left origin. FBO MRT Test: Disable OSX, since it causes an SIGSEGV (Bus Error/Illegal Memory Access) @ glDrawArrays() NEWTCanvasAWT: Add AWT GraphicsConfiguration in constructor, allowing transparency Test Util NEWGLContext: Add assertions Test: Add AWT/GLCanvas transparency test NEWT OSX: Disable native VERBOSITY OSX Minor Cleanups: ctx delete note (freeze when shared ctx), Better MainThread Thread name[s] Newt/OSX: Fix top/child positioning, positionChanged(), rely on native pos/size notifications Test Shared - Window Positioning: don't assume req pos. is realized, use rel positions to 1st window NEWT/OSX MacWindow: Use screen of window NativeWindow/OSX: Use screen of window JOGL/OSX: Properly utilize NSOpenGLContext update() via ContextUpdater, which only holds the 'update' state now. GLCanvas / GLWindow: Change 'manual' resize/repaint animation filter NEWT: Filter Window focusChanged() and visibleChanged() [test if value changed] NEWT/OSX: Fix resize behavior / Cleanup coordinate transormation (client-space/top-level, child/parent) TestParenting03AWT: Add manual code to disable 2nd GLWindow for internal testing (def.: enabled) MacOSX: Fix shared ctx release [onMainThread]; Make GLContextShareSet lifecycle deterministic; Remove warnings MacOSX: Always release ctx on main thread (offscreen was frozen as well); Cleanup Warnings and OSX ContextUpdater OSX/SWT: Adding OSXUtil: RunOnMainThread(), IsMainThread() / Utilizing those for SWT access/calls OSX: Avoid invoking JNI or performSelectorOnMainThread in JNI if already mainThread Tests/OSX: NEWT is supported. Disable swt.awt for OSX, test currently freezes. NEWT/EDTUtil: Allow get/set poll period, defaults to defaultEDTPollPeriod Fix NEWT/Pointer Invisible: INVISIBLE_MASK was equal w/ CONFINED_MASK (duh) NEWT/Pointer Confined: Dispatch mouse move events before enabled; Only request-focus/warp-ptr if enabled NEWT/Mouse: Skip 'move' event w/ same position. Add Enter/Exit events NEWT/OSX: Add mouse enter/exit and pointer features (visible, confined, warp) - cleanup pos/coord translations Test GearsES2: Split confine mode to centered 'J' and non centered 'j', to test actual confinement NEWT/OSX: exec. makeKeyAndOrderFront/makeKeyWindow on MainThread NEWT/OSX: Proper impl. of NEWT's focus management (fixes NEWT/AWT focus behavior/tests) test script NEWT/OSX: Send events direct w/o EDT queue (like X11 and Win32) OSX: Fix CGL deleteContext()'s release call on MainThread (typo, shall have no ':' for void func call) NEWT/OSX: Adding 'fake' lockSurface based on [view canDraw]. Can't use lockFocus(), deadlocks since we render separate to focus mgmt. Fix Solaris gcc args ; Cleanup dependencies and linker args; Adding JVM arch flags (-d32/-d64) ; glxext.h uses 'gl-64bit-types.h' use jvmDataModel.arg set by gluegen bump swt to version 3.7.1 Exclude SWT tests on platforms w/o SWT runtime Fixed my sloppy English "it's" usage - thx Julien Only revert ScreenMode (destroy/shutdown) if owner (Screen) changed it NEWT/OSX: Attempt to stabilize native parenting (ie w/ AWT) ; Add windowRepaint() callback Using math functions in initializers fails on MacOSX - fixed Remove warnings Test: NEWT Remote GLWindow w/ GL2ES1 (GLSL n/a on remote GLX, eg. NV) Test NEWT Remote GLWindow: Show VBO usage Cleanup JARs: Add jogl_cg native jar (atomic only); Move newt.event.jar to atomic. NEWT/ScreenMode: If unimplemented have at least current mode in list. Current mode uses ScreenSize w/ dummy values if unimplemented. Test/Ruler/ScreenMode: Validate whether current ScreenMode exists NEWT/MacOSX: Fix resignKeyWindow super call. Summarize sendFocusLost/sendFocusGained -> focusChanged NEWT/Test FocusEventCountAdapter: Detailed test whether focus gained/lost NewtCanvasAWT: Cleanup / Remove FIXME tag (impl. is ok) NEWT/Native RequestFocus: Even if owning focus, run the focusAction() call incl. native focus request (X11, Windows, OSX) Test/AWTRobotUtil: Proper titlebar location (using insets) ; Real UI/Robot requestFocus impl. Test/Focus: Add sleep for manual focus tests Newt/OSX: Disable VERBOSE test script Proper self containing NV Cg location NEWT/ScreenMode: Make getCurrenctScreenMode..() more fail proof in case the (native) impl. doesn't work. Partially revert cba9a070f9649bec42627631d393963d548e320c: Skip focusAction() and native focus request on X11/Windows. On both platforms it's not required (proper focus traversion) and AWT would deadlock on Windows Test: AWTRobotUtil TO 1s -> 2s Tests: AWT EDT: invokeLater(..) -> invokeAndWait(..) for a more predictable workflow Add debug-all commented out line Add debug version of etc/test.* MacOSX: Pull down (and fix releaseContext) NSOPENGL/CGL mode/impl, fixes SWT usage and FBOMRT Minor edits / cleanup of GLContext* OSX: Enable OpenGL profile support, ie OpenGL 3.2 -> GL3 for OSX >= 10.7 GLProfile: Add GLProfile getImpl(); Use getImpl() for getGL2ES[12](..), dropping GL2ES[12] lists NEWT/OSX: Add missing sendKeyEvent(..) specialization to produce the keyCode (like enqueueKeyEvent()) NEWT/OSX: Can't use sending key/mouse directly to WindowImpl, deadlock .. see comment NEWT/OSX: Refine comment for native requestFocus(); Remove warning NEWT/OSX NewtView: Add 'soft' pthread locking impacts: needsDisplay/displayIfNeeded, .. NEWT/OSX: Using NewtView softLock ; Adding debug info to solve assertion: 'NSThemeFrame lockFocus' NSView.m:6053 MacOsX/JAWT_SurfaceLayers/CALayers: Kick off / JAWT_getAWT() CALAYER version support. Win32: Reuse Platform's OS VersionNumber NEWT/Applet: Add 'newt.debug.Applet' ; Be more verbose in DEBUG Mode; Nativewindow/OSX: GetLocationOnScreen() must use [win frame] for window height. Test: More 'layouting' in NewtCanvasAWT test case test script OSX: CGL type cleanup ; layeredSurface impl. Cleanup ; JAWT* version flag setting based whether Impl layeredSurface (java/native): - OSXUtil: NSView backing creation - OSXUtil: AttachJAWTSurfaceLayer - MacOSXCGLContext.create(): Attach NSOpenGLLayer if layered - MacOSXCGLDrawable.updateHandle(): if direct: add NSView backing layer - MacOSXCGLDrawable: Add getNSViewHandle() to distinguish between NSView and none (CGL/pbuffer) NativeWindow/JOGL: NativeSurface adds add/remove SurfaceUpdateListener JOGL/Offscreen-Drawable: Use setRealized(boolean) protocol for offscreen/pbuffer JOGL *Drawable swapBufferImpl() cleanup: Don't force swap-buffer off for offscreen/pbuffer, but respect GLDrawableImpl's decision (double-buffer) OS X Layered View: Use pbuffer method (pbuffer w/ dbl buffer) JOGL: Add 'struct timespec' (POSIX) utils for native time handling JOGL: GLBase Add 'isNPOTTextureAvailable()' for convenience OSX: SharedResource add knowledge of NPOT-, RECT- and Float-Texture features, used by pbuffer drawable before a current context. GLContext: Intendation + Use generics (remove warnings) FPSCounter: Use Java 1.5 TimeUnit Minor edits: Remove unused code and warnings OS X Layered View: Part2 Java/Native MacOSXCGLContext / MacOSXPbufferCGLContext NativeWindow: Add accessor interfaces NativeSurfaceHolder and NativeWindowHolder Minor edits: remove redundancies OS X Layered View: Part3 JAWTWindow/MacOSXJAWTWindow (Java/Native) OS X Layered View: Part4 NEWT OffscreenWindow/WindowImpl fix OS X Layered View: Part5 NEWT/AWT Interaction ; Fix NSOpenGLLayer pos ; Cleanup Fix regression: setScreen(..) invalid ref count & flag minor edit Fix TestParenting03AWT: NewtCanvasAWT has always a NativeWindow Cleanup offscreen/pbuffer drawables - minor edits test: minor edit NativeWindow: SurfaceChangeable::setSize() -> surfaceSizeChanged() to avoid conflicts with setSize() NewtCanvasAWT: Fix NPE (regression from commit 46542168d64b37f544f61802693f15b59b224e4e) NewtCanvasAWT: nativeWindow field lifecycle is same as holder (Composition). (regression from commit 46542168d64b37f544f61802693f15b59b224e4e) NativeWindow minor edits: Remove warnings (generics, imports, ..) Fix regression JAWTWindow/AWTGraphicsConfiguration updateGraphicsConfiguration() of commit 46542168d64b37f544f61802693f15b59b224e4e Fix MacOSXJAWTWindow: Impl. SurfaceChangeable ; Proper invalidateNative() MacOSXPbufferCGLDrawable: verbose debug messages NEWT/WindowImpl: Generalize recreation @ setSize() for offscreen surface Animator: Limit wait for condition in finishLifecycleAction() via timeout NEWT/Screen: minor editing/cleanup NEWT/WindowImpl: Fix minor regression offscreen recreate @ setSize() (commit 51ad6992e068f25d86d2c9e085bd7ec6f49d2432) OS X Layered View: Part6 (native) Using a root CALayer where we attach/detach our GL one Minor edits: Remove dead code / fix dbg printf Revert introduction of NativeSurfaceHolder and NativeWindowHolder interfaces Animator timeout/refinement OS X Layered View: Part7 Allow NEWT onscreen MacWindow to be used incl reparenting Nativewindow: Introduce API private MutableGraphicsConfiguration OSX: Fix context update call OS X Layered View Part8: Generalize OffscreenLayerSurface ; Use local JAWT instance ; Applet's on OS X are working OSXUtil: Remove (ClassLoader) dependency on JAWT_DrawingSurfaceInfo (dirty hack) test script Fix OS X JAWT SIGSEGV @ NEWT Window creation ; Reloc AttachJAWTSurfaceLayer() OSXUtil -> MacOSXJAWTWindow NEWT InputEvent consumed: Expose special attachement Object 'consumedTag', which ends event propagation if attach to an InputEvent. NEWT/AWT Focus Traversal / Deadlock Fix (Windows) ; Harmonized NEWT KeyListener handling (Bug 526) Fix NewtCanvasAWT Focus Traversal (focusable) Fix Reloc AttachJAWTSurfaceLayer() (commit d644e9321dceeecdd94a1797e25e6e356d957c23) WindowsWGLDrawableFactory createOffscreenDrawable() - Don't spin off creation on AWT thread (may deadlock) Focus Test: Don't assume NewtCanvasAWT even received the focus Relocate NewtFactoryAWT: jogamp.newt.awt.event -> jogamp.newt.awt NEWT Window: Promote/Expose 'Window getDelegatedWindow()' for accessing the delegate (ie GLWindow) NewtMacWindow: Add CR/LF to DBG_PRINT NEWT: Move 'focusAction()' invokation from native code to Java, avoiding deadlocks and simplify call-tree NEWT/AWT Focus traversal enhancement/fix (incl. OS X fixes) Demo: GearsES1/ES2 visualize focus NEWT build: Add jogamp/newt/driver/* to core NEWT MacWindow: Revised offscreen FIXME tags minor edits: test, scripts Tests: Use WindowFocusListener for AWTRobot toFront(.. window), more reliable Fix GLDrawableFactory: Move 'GLContext getOrCreateSharedContext(..)' to non public class GLDrawableFactoryImpl. Initialize JAWTUtil/JAWTJNILibLoader in static initialzier block, not leaving privileged block Add Unit Test TestGearsAWTAnalyzeBug455 to analyze bug455 - inconclusive NativeWindow GraphicsDevice javadoc cleanup / Factory method access cleanup (minor edits) X11GLXDrawableFactory.createOffscreenSurfaceImpl(): Create own screen/device instance pair Test NEWT Remote Connection (X11): Use localhost:0.0 as default Fix X11Util.dumpOpenDisplayConnection() ; Bug 515: Update fglrx driver remark and native test. AWTGraphicsConfiguration: Private special cstr. FIXME: Use 'encapsulated' ie. delegated in all cases. test script NativeSurface's getGraphicsConfiguration() returns the native (delegated) AbstractGraphicsConfiguration, if delegation is used. GraphicsConfigurationFactory: Kick off 'registerFactory' via static method instead of constructor for clarity. JOGL/NativeWindow: Push down JOGL's X11AWTGLXGraphicsConfigurationFactory to NativeWindow X11AWTGraphicsConfigurationFactory Nativewindow AWT Device/Screen: Cleanup construction [default, specific]; AWTDevice: Remove subtype NativeWindow X11GraphicsDevice: Pass 'owner' for close-display operation @ constructor Forgot to add JogAmp (c) Fix native manual test 'displayMultiple02' for multiple X11 Display connection open/close in various order scripts: profile.jogl / setenv-jogl.sh / test.sh: Expose and use AWT / NOAWT CLASSPATH specific vars GLX Information usage cleanup - GLXUtil: Distinguish between client and server GLX information, cache client information. - GLXDrawableFactory: Utilize GLXUtil client data, as well as cache (SharedResource) GLX server data, avoiding 'uncontrolled' GLX queries, ie. w/o locking. - isMultisampleAvailable = isClientMultisampleAvailable && isServerMultisampleAvailable JAWTWindow: remove validateNative() .. NativeWindow X11 Locking: Fix XInitThreads/XLockDisplay/XUnlockDisplay Usage ; Complete commit bafd9b99816f55c105230a59211caf13f0315910 (NEWT): - WindowImpl exposes private non-delegated GraphicsConfiguration, - which is being used by GLWindow's wrapped NativeWindow instantiation (eg: AWT driver) - Fix NewtFactoryAWT.getNativeWindow() use AWTGraphicsConfiguration.create(..) Minor test changes Add Test case for bug 519 X11AWTGraphicsConfigurationFactory: Use lock: owner ? AWT-Lock : X11-AWT-Lock X11Util: Cleanup ATI_HAS_XCLOSEDISPLAY_BUG API doc. DefaultGraphicsDevice: Initialize toolkitLock directly in cstr, where setToolkitLock(..) swaps the lock thread safe. NewtFactory/GLWindow: Cleanup API doc (Display lifecycle, copy or reuse, etc ..) NEWT X11Display: Use default X11 locking for X11GraphicsDevice TestsGLSLShaderState*: Reduce loops / Extend timeout - Slow devices may hit TO otherwise. TestParenting03AWT: manual test option -firstUIAction for GLProfile.initSingleton(firstUIAction) NEWT/GLContextImpl: Refine API doc, NEWT: Display name -> connection name X11Util.shutdown(): Remove x11IOErrorHandler NEWT X11Screen: Update X11 RANDR / GL locking test code (still commented out) SharedResourceRunner: Use generics ; X11GLXDrawableFactory.SharedRunnable shutdown: don't attempt to close Display device. TestScreenMode00bNEWT: Reduce getCurrentScreenMode loop 100 -> 50, due to slow processing on CentOS / HD3400 OSX GLLayer (native): Remove CALayer add/remove/swap sublayer animation; Fix DestroyNSWindow0 MacOSXJAWTWindow: Also need to fix (onscreen:=false) of the encapsulated GraphicsConfiguration X11Util: Remove wrapped/locked X11Lib methods X11Screen RANDR: Use temp display connection due to arbirary failures sometimes NativeWindow build: Remove duplicate class X11AWTGraphicsConfigurationFactory in JAR files Revert some changes: X11Screen/RANDR, X11Util (XInitThreads/XLockDisplay), NEWT XDisplay Locking NEWT OSX closeWindow: simple close, no extra view detachment etc MacOSX: Disable native verbosity NEWT OSX: Add stopNSApplication(), revert commit c26d6005e1fe74e9aee01d9d72942f566884fcd2 NEWT: Add DriverUpdatePosition interface; Clarify NativeWindow API doc (position) JAWTWindow: Impl. insets (if AWT component is a Container) MacWindow: Impl. DriverUpdatePosition; Alias position2TopLevel -> getLocationOnScreenImpl NEWT MacWindow: Fix positionChange() Usage ; Fix getLocationOnScreenImpl() Fix Bug 527: Creating a context w/ shared context, while the latter is in use (threading) NEWT ScreenMode: Use unified ScreenMode in impl; X11Screen: Be verbose if TO reached, ie not successfully changed mode. Test: Forgot to uncomment package name of new test for 97218b88af9113740b3704a3666d7356cdc83cd0 Test: Add TestSharedContextVBOES2NEWT2 (ES2 variant of TestSharedContextListNEWT2) MacOSX: Expose CGL's CGLLockContext(..) and CGLUnlockContext(..) - to provide required locking in multithreading environment GLContextImpl*: createImpl() / makeCurrentImpl() refinement / robostness NEWT MacWindow: the softLock (pthread mutex) is now always blocking (remove non blocking code) NEWTMacWindow:View: Make lock recursive .. Windows: Bump JVM to 6u29 More Robust GLProfile Initialization ; Add NativeWindowFactory Shutdown JOGLNewtApplet1Run: Issue GLProfile.shutdown() to adapt to the 'new' plugin lifecycle. Move manual GDI utils to GDIUtil ; Minor cleanup. GLDrawableFactory: Implementations lifecycle is handled via constructor/destroy() GLProfile: use dbl checked locking w/ volatile ; Proper shutdown sequence. Complete commit 2c0a0981f7e1376064abd981c79c65c9d1b57410 ; Missed native impl. X11Util / GDISurface Robustness Minor edits. Adapt to GlueGen commit 7e6cf46ed2e0e9772f79e06437596056efa8c682: JNILibLoaderBase addNativeJarLibs(..) Fix Bug 522: NEWT requestFocus() causes a crash if !isNativeValid() Fix 96205926731aeb61a862c87974f611d814937c54 GDIUtil native code. GLContext fix shutdown(): Clear proc address tables and extension cache (GLContextImpl) New GLProfile.ShutdownType: SHARED_ONLY / COMPLETE - Enhance/Fix Lifecycle Management More AWT-EDT invokeAndWait-wrapping for Frame show/dispose Test AWT Translucency: Use ReflectionUtil to use com.sun.awt.AWTUtilities, n/a on some AWT impl. Remove GLProfile.initSingleton(..) out of static init block NEWT EVENT_MOUSE_WHEEL_MOVED: Fix Bug 413 - Generate proper mouse wheel events. Add siggraph 2011, p70-rsantina