--- /home/cpdev/src/classpath/java/awt/Window.java	2005-07-02 21:03:23.000000000 +0000
+++ java/awt/Window.java	2005-06-30 05:34:28.000000000 +0000
@@ -773,16 +773,12 @@
   /**
    * Tests whether or not this window is visible on the screen.
    *
-   * In contrast to the normal behaviour of Container, which is that
-   * a container is showing if its parent is visible and showing, a Window
-   * is even showing, if its parent (i.e. an invisible Frame) is not showing.
-   *
    * @return <code>true</code> if this window is visible, <code>false</code>
    * otherwise.
    */
   public boolean isShowing()
   {
-    return isVisible();
+    return super.isShowing();
   }
 
   public void setLocationRelativeTo (Component c)
@@ -878,22 +874,33 @@
       throw new IllegalStateException("Window.createBufferStrategy: window is"
 				      + " not displayable");
 
-    BufferStrategy newStrategy = null;
-
     // try a flipping strategy
     try
       {
-	newStrategy = new WindowFlipBufferStrategy(numBuffers);
+	bufferStrategy = new WindowFlipBufferStrategy(numBuffers);
+	return;
       }
     catch (AWTException e)
       {
       }
 
-    // fall back to an accelerated blitting strategy
-    if (newStrategy == null)
-      newStrategy = new WindowBltBufferStrategy(numBuffers, true);
+    // try an accelerated blitting strategy
+    try
+      {
+	bufferStrategy = new WindowBltBufferStrategy(numBuffers, true);
+      }
+    catch (AWTException e)
+      {
+      }
 
-    bufferStrategy = newStrategy;
+    // fall back to an unaccelerated blitting strategy
+    try
+      {
+	bufferStrategy = new WindowBltBufferStrategy(numBuffers, false);
+      }
+    catch (AWTException e)
+      {
+      }
   }
 
   /**
