I see that in some cases the window gets hidden/shown when changing
  L&Fs (like when switching from Windows to Metal), and in some
  it doesn't (Windows <-> Nimbus). The exception is only thrown
  in the first case.

  This is because the demo disposes and re-creates the frame when
  switching to a L&F which can/can't render its decorations (see
  test/ribbon/BasicCheckRibbon.java):
    if (canBeDecoratedByLAF == wasDecoratedByOS) {
            boolean wasVisible = frame.isVisible();
            frame.setVisible(false);
            frame.dispose();
            if (!canBeDecoratedByLAF) {
                    // see the java docs under the method
                    // JFrame.setDefaultLookAndFeelDecorated(boolean
                    // value) for description of these 2 lines:
                    frame.setUndecorated(false);
                    frame.getRootPane().setWindowDecorationStyle(
                                    JRootPane.NONE);
            } else {
                    frame.setUndecorated(true);
                    frame.getRootPane().setWindowDecorationStyle(
                                    JRootPane.FRAME);
            }
            frame.setVisible(wasVisible);
            wasDecoratedByOS = !frame.isUndecorated();
    }

  Nothing illegal here, so the exception is a bug, please file it.

  Thanks,
    Dmitri


jav...@javadesktop.org wrote:
I am running flamingo ribbon demo (RC4.0) (https://flamingo.dev.java.net/) like this: 
"java -cp flamingo.jar;flamingo-tst.jar test.ribbon.BasicCheckRibbon" and 
always have exception when switching from WinXP LAF to Metal:

[code]
Exception in thread "AWT-EventQueue-0" java.lang.IllegalStateException: Buffers 
have not been created
        at sun.awt.windows.WComponentPeer.getBackBuffer(Unknown Source)
        at java.awt.Component$FlipBufferStrategy.getBackBuffer(Unknown Source)
        at java.awt.Component$FlipBufferStrategy.updateInternalBuffers(Unknown 
Source)
        at java.awt.Component$FlipBufferStrategy.revalidate(Unknown Source)
        at java.awt.Component$FlipBufferStrategy.revalidate(Unknown Source)
        at java.awt.Component$FlipBufferStrategy.getDrawGraphics(Unknown Source)
        at javax.swing.BufferStrategyPaintManager.prepare(Unknown Source)
        at javax.swing.BufferStrategyPaintManager.paint(Unknown Source)
        at javax.swing.RepaintManager.paint(Unknown Source)
        at javax.swing.JComponent.paint(Unknown Source)
        at java.awt.GraphicsCallback$PaintCallback.run(Unknown Source)
        at sun.awt.SunGraphicsCallback.runOneComponent(Unknown Source)
        at sun.awt.SunGraphicsCallback.runComponents(Unknown Source)
        at java.awt.Container.paint(Unknown Source)
        at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
        at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
        at javax.swing.RepaintManager.seqPaintDirtyRegions(Unknown Source)
        at 
javax.swing.SystemEventQueueUtilities$ComponentWorkRequest.run(Unknown Source)
        at java.awt.event.InvocationEvent.dispatch(Unknown Source)
        at java.awt.EventQueue.dispatchEvent(Unknown Source)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
        at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
        at java.awt.EventDispatchThread.run(Unknown Source)
[/code]
It seems that there is a problem with d3d pipeline, because there is no such exception 
when running with "-Dsun.java2d.d3d=false".

I am running on the system:

[code]
java -version

java version "1.6.0_11"
Java(TM) SE Runtime Environment (build 1.6.0_11-b03)
Java HotSpot(TM) Client VM (build 11.0-b16, mixed mode, sharing)

set J2D_TRACE_LEVEL=3

[I] OS Version = OS_WINXP Pro
[I] CheckAdaptersInfo
[I] ------------------
[I] Adapter Ordinal  : 0
[I] Adapter Handle   : 0x10001
[I] Description      : NVIDIA GeForce 9600 GT
[I] GDI Name, Driver : \\.\DISPLAY1, nv4_disp.dll
[I] Vendor Id        : 0x10de
[I] Device Id        : 0x0622
[I] SubSys Id        : 0x34821458
[I] Driver Version   : 6.14.11.7474
[I] GUID             : {D7B71E3E-4562-11CF-DA6A-891400C2CB35}
[I] D3DPPLM::CheckDeviceCaps: adapter 0: Passed
[I] ------------------
[I] D3DGD_getDeviceCapsNative
[I] D3DContext::InitContext device 0
[I] D3DContext::ConfigureContext device 0
[I] D3DContext::ConfigureContext: successfully created device: 0
[I] D3DContext::InitDevice: device 0
[I] D3DContext::InitDefice: successfully initialized device 0
[/code]
And it is reproduced on my home computer with NVIDIA 7600GS also.

Is this a bug in d3d pipeline? Or there is something wrong with the flamingo 
ribbon demo?
[Message sent by forum member 'kamre' (kamre)]

http://forums.java.net/jive/thread.jspa?messageID=328154

===========================================================================
To unsubscribe, send email to lists...@java.sun.com and include in the body
of the message "signoff JAVA2D-INTEREST".  For general help, send email to
lists...@java.sun.com and include in the body of the message "help".

===========================================================================
To unsubscribe, send email to lists...@java.sun.com and include in the body
of the message "signoff JAVA2D-INTEREST".  For general help, send email to
lists...@java.sun.com and include in the body of the message "help".

Reply via email to