<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://jogamp.org/bugzilla/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.2"
          urlbase="https://jogamp.org/bugzilla/"
          
          maintainer="sgothel@jausoft.com"
>

    <bug>
          <bug_id>937</bug_id>
          
          <creation_ts>2014-01-05 08:29:34 +0100</creation_ts>
          <short_desc>JAWTWindow: Unsatisfying Visibility Computation (was: Canvas in CardLayout always visible)</short_desc>
          <delta_ts>2014-01-21 19:39:56 +0100</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>3</classification_id>
          <classification>JogAmp</classification>
          <product>Jogl</product>
          <component>macosx</component>
          <version>2</version>
          <rep_platform>pc_x86_64</rep_platform>
          <op_sys>macosx</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>---</priority>
          <bug_severity>critical</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>816</blocked>
    
    <blocked>849</blocked>
    
    <blocked>889</blocked>
    
    <blocked>906</blocked>
    
    <blocked>928</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Gene">gene.ressler</reporter>
          <assigned_to name="Sven Gothel">sgothel</assigned_to>
          <cc>andres.colubri</cc>
    
    <cc>fzanelli</cc>
          
          <cf_type>---</cf_type>
          <cf_scm_refs>071bdd6ce9f8c41ccecdbf8bc74f276ccd7ff651
d2f50f2ed523aa8443f647e46aeecc09fa27583d
9dcaf86ad6ae08e60c68abd4c069f3ab19807854
367b704b448b4ebabcfc62cc29e61fa5760514d1</cf_scm_refs>
          <cf_workaround>---</cf_workaround>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>3546</commentid>
    <comment_count>0</comment_count>
    <who name="Gene">gene.ressler</who>
    <bug_when>2014-01-05 08:29:34 +0100</bug_when>
    <thetext>Earlier bug 532 (https://jogamp.org/bugzilla/show_bug.cgi?id=532) now occurs in Mac OS X Lion and Mavericks.  

Once a GLCanvas overlays a lightweight Swing panel, it never can be reordered below it again.  This is a z-ordering problem.

The sample code in 532 has a CardLayout with a JPanel for the top card and GLCanvas for the bottom.  

Press the button and the GLCanvas with rotating square animation comes to top.  Press it again, and the JPanel should come back.  

It does on 32- and 64-bit Windows platforms with JRE 6 and 7.  Not with Mac under JRE 7.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>3547</commentid>
    <comment_count>1</comment_count>
    <who name="Sven Gothel">sgothel</who>
    <bug_when>2014-01-05 18:33:15 +0100</bug_when>
    <thetext>Can you reproduce with the derived unit test ?
  com.jogamp.opengl.test.junit.jogl.acore.anim.TestAWTCardLayoutAnimatorStartStopBug532

I double check w/ latest tip ..</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>3557</commentid>
    <comment_count>2</comment_count>
    <who name="Sven Gothel">sgothel</who>
    <bug_when>2014-01-09 06:54:03 +0100</bug_when>
    <thetext>Have you tested w/ latest aggregated build ?
  &lt;http://jogamp.org/deployment/archive/master/gluegen_759-joal_509-jogl_1195-jocl_901/&gt;

You can always check:
  &lt;http://jogamp.org/deployment/archive/master/?C=M;O=D&gt;

See ..
  &lt;http://forum.jogamp.org/Java-7-Java3D-Borderlayout-problem-tp4031082p4031086.html&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>3569</commentid>
    <comment_count>3</comment_count>
    <who name="Sven Gothel">sgothel</who>
    <bug_when>2014-01-10 16:06:45 +0100</bug_when>
    <thetext>Tested &apos;TestAWTCardLayoutAnimatorStartStopBug532&apos; on OSX 10.9 (CALayer) ..

Experience:

1- LABEL: Shows
2- Switch to GLCanvas
3- GLCanvas shows 
4- Switch to LABEL
5- LABEL Shows
6- Switch to GLCanvas
7- Nothing Shows  ** BUG **

Can you confirm that the above is the issue at hand ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>3570</commentid>
    <comment_count>4</comment_count>
    <who name="Sven Gothel">sgothel</who>
    <bug_when>2014-01-10 16:09:42 +0100</bug_when>
    <thetext>(In reply to comment #3)
&gt; Tested &apos;TestAWTCardLayoutAnimatorStartStopBug532&apos; on OSX 10.9 (CALayer) ..
...

Note - I also tested the following manually without any issue on OSX and X11:

# Simple GLCanvas setVisible on/off
#   OK (X11, OSX)
#testawt com.jogamp.opengl.test.junit.jogl.awt.TestBug664GLCanvasSetVisibleSwingAWT $*

#
# GLCanvas moving between JTabbedPanel&apos;s tabs
#   OK (X11, OSX)
#testawt com.jogamp.opengl.test.junit.jogl.awt.TestBug816JTabbedPanelVisibilityB849B878AWT $*

#
# GLCanvas/AWT Checkbox Visibility
#   OK (X11, OSX)
#testawt com.jogamp.opengl.test.junit.jogl.awt.TestBug816OSXCALayerPos03aB729AWT $*

#
# GLCanvas/AWT Checkbox Visibility (on parent&apos;s Panel)
#   OK (X11, OSX)
#testawt com.jogamp.opengl.test.junit.jogl.awt.TestBug816OSXCALayerPos03bB849AWT $*
#
# GLCanvas/Swing Checkbox Visibility (on parent&apos;s JPanel)
#   OK (X11, OSX)
#testawt com.jogamp.opengl.test.junit.jogl.awt.TestBug816OSXCALayerPos03cB849AWT $*</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>3572</commentid>
    <comment_count>5</comment_count>
    <who name="Sven Gothel">sgothel</who>
    <bug_when>2014-01-12 08:17:55 +0100</bug_when>
    <thetext>071bdd6ce9f8c41ccecdbf8bc74f276ccd7ff651
    
    Simplify JAWTComponentListener&apos;s HierarchyListener:
      - Don&apos;t interfere w/ Component&apos;s visibility anymore!
        This shall reduce sideeffects.
        Utilize &apos;isShowing&apos; in each Component specialization, i.e. GLCanvas.
    
      - On SHOWING_CHANGED if a parent caused a change
        of the tracked components showing state,
        propagate it to the offscreen-layer!
    
      - Remove all other complicated states!
    
    GLCanvas, GLJPanel:
      - Instead of &apos;isVisible()&apos; use &apos;showing state&apos;,
        since only the &apos;showing state&apos; reflects &apos;true&apos; visibility
        throughout the hierarchy.
    
      - Add HierarchyListener and track volatile showing state
        to be used instead of &apos;isVisible&apos;.
        Using a cached showing state is more efficient
        than quering &apos;isShowing()&apos; all the time!
    
    NewtCanvasAWT:
      - Use &apos;isShowing()&apos; instead of &apos;isVisible(), see above

d2f50f2ed523aa8443f647e46aeecc09fa27583d
     AWTParentWindowAdapter/AWTRobotUtil: Use &apos;isShowing()&apos; instead of &apos;isVisible()&apos; 
     determining actual on-screen showing state</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>3573</commentid>
    <comment_count>6</comment_count>
    <who name="Sven Gothel">sgothel</who>
    <bug_when>2014-01-12 08:18:57 +0100</bug_when>
    <thetext>Manually tested:


#
# Simple GLCanvas setVisible on/off
#   OK (X11, OSX)
#testawt com.jogamp.opengl.test.junit.jogl.awt.TestBug664GLCanvasSetVisibleSwingAWT $*

#
# GLCanvas moving between CardLayout&apos;s JPanels
#   OK (X11, OSX)
#testawt com.jogamp.opengl.test.junit.jogl.acore.anim.TestAWTCardLayoutAnimatorStartStopBug532 $*

#
# GLCanvas moving between JTabbedPanel&apos;s tabs
#   OK (X11, OSX)
testawt com.jogamp.opengl.test.junit.jogl.awt.TestBug816JTabbedPanelVisibilityB849B878AWT $*

#
# GLCanvas/AWT Checkbox Visibility
#   OK (X11, OSX)
#testawt com.jogamp.opengl.test.junit.jogl.awt.TestBug816OSXCALayerPos03aB729AWT $*

#
# GLCanvas/AWT Checkbox Visibility (on parent&apos;s Panel)
#   OK (X11, OSX)
#testawt com.jogamp.opengl.test.junit.jogl.awt.TestBug816OSXCALayerPos03bB849AWT $*
#
# GLCanvas/Swing Checkbox Visibility (on parent&apos;s JPanel)
#   OK (X11, OSX)
#testawt com.jogamp.opengl.test.junit.jogl.awt.TestBug816OSXCALayerPos03cB849AWT $*

#testawt com.jogamp.opengl.test.junit.jogl.awt.TestBug816OSXCALayerPos01AWT $*
#testawt com.jogamp.opengl.test.junit.jogl.awt.TestBug816OSXCALayerPos02AWT $*
#testawt com.jogamp.opengl.test.junit.jogl.awt.TestBug816GLCanvasFrameHoppingB849B889AWT $*
#testawt com.jogamp.opengl.test.junit.jogl.awt.TestBug816OSXCALayerPos04aAWT $*
#testawt com.jogamp.opengl.test.junit.jogl.awt.TestBug816OSXCALayerPos04bAWT $*</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>3603</commentid>
    <comment_count>7</comment_count>
    <who name="Sven Gothel">sgothel</who>
    <bug_when>2014-01-21 19:38:49 +0100</bug_when>
    <thetext>9dcaf86ad6ae08e60c68abd4c069f3ab19807854
   JAWTWindow.JAWTComponentListener: Minor Cleanup


367b704b448b4ebabcfc62cc29e61fa5760514d1
  OSXMisc CALayer::FixCALayerLayout: Fix visible:=false case, i.e. don&apos;r override cached visibleOpacity w/ forced zero when called twice</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>3605</commentid>
    <comment_count>8</comment_count>
    <who name="Sven Gothel">sgothel</who>
    <bug_when>2014-01-21 19:39:56 +0100</bug_when>
    <thetext>*** Bug 946 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>