diff -ru CVS/classpath/gnu/java/awt/peer/gtk/GtkButtonPeer.java updated/classpath/gnu/java/awt/peer/gtk/GtkButtonPeer.java
--- CVS/classpath/gnu/java/awt/peer/gtk/GtkButtonPeer.java	2006-07-18 01:41:04.000000000 +0300
+++ updated/classpath/gnu/java/awt/peer/gtk/GtkButtonPeer.java	2010-03-24 11:54:38.000000000 +0300
@@ -1,5 +1,5 @@
 /* GtkButtonPeer.java -- Implements ButtonPeer with GTK
-   Copyright (C) 1998, 1999, 2004, 2006  Free Software Foundation, Inc.
+   Copyright (C) 1998, 1999, 2004, 2006, 2010  Free Software Foundation, Inc.
 
 This file is part of GNU Classpath.
 
@@ -75,12 +75,13 @@
 
   void create ()
   {
-    create (((Button) awtComponent).getLabel ());
+    String label = ((Button) awtComponent).getLabel ();
+    create(label != null ? label : "");
   }
 
   public void setLabel (String label) 
   {
-    gtkSetLabel(label);
+    gtkSetLabel(label != null ? label : "");
   }
 
   void postActionEvent (int mods)
diff -ru CVS/classpath/gnu/java/awt/peer/gtk/GtkClipboardNotifier.java updated/classpath/gnu/java/awt/peer/gtk/GtkClipboardNotifier.java
--- CVS/classpath/gnu/java/awt/peer/gtk/GtkClipboardNotifier.java	2007-02-13 00:39:20.000000000 +0300
+++ updated/classpath/gnu/java/awt/peer/gtk/GtkClipboardNotifier.java	2010-03-24 11:54:18.000000000 +0300
@@ -1,5 +1,5 @@
 /* GtkClipboardNotifier.java -- Helper for announcing GtkSelection changes.
-   Copyright (C) 2005, 2006  Free Software Foundation, Inc.
+   Copyright (C) 2005, 2006, 2010  Free Software Foundation, Inc.
 
 This file is part of GNU Classpath.
 
@@ -51,7 +51,8 @@
    * The one and only instance. All operations are synchronized on
    * this.
    */
-  private static GtkClipboardNotifier notifier = new GtkClipboardNotifier();
+  private static final GtkClipboardNotifier notifier
+    = new GtkClipboardNotifier();
 
   /**
    * Creates a deamon thread that monitors this for change
@@ -119,6 +120,10 @@
           {
             clipboard.setContents(new GtkSelection(clipboard), null);
           }
+        catch (ThreadDeath t)
+          {
+            throw t;
+          }
         catch (Throwable t)
           {
             // should never happen, but might if we have some faulty listener.
diff -ru CVS/classpath/gnu/java/awt/peer/gtk/GtkImageConsumer.java updated/classpath/gnu/java/awt/peer/gtk/GtkImageConsumer.java
--- CVS/classpath/gnu/java/awt/peer/gtk/GtkImageConsumer.java	2007-02-13 00:39:20.000000000 +0300
+++ updated/classpath/gnu/java/awt/peer/gtk/GtkImageConsumer.java	2010-03-24 11:54:18.000000000 +0300
@@ -1,5 +1,5 @@
 /* GtkImageConsumer.java
-   Copyright (C) 2005, 2006 Free Software Foundation, Inc.
+   Copyright (C) 2005, 2006, 2010  Free Software Foundation, Inc.
 
 This file is part of GNU Classpath.
 
@@ -53,11 +53,11 @@
  */
 public class GtkImageConsumer implements ImageConsumer
 {
-  private GtkImage target;
+  private final GtkImage target;
   private int width, height;
   private Hashtable<?,?> properties;
   private int[] pixelCache = null;
-  private ImageProducer source;
+  private final ImageProducer source;
 
   public GtkImageConsumer(GtkImage target, ImageProducer source)
   {
@@ -111,10 +111,11 @@
     if (pixelCache == null)
       return; // Not sure this should ever happen.
 
+    int thisWidth = this.width;
     if (cm.equals(GtkImage.nativeModel))
       for (int i = 0; i < height; i++)
         System.arraycopy (pixels, offset + (i * scansize),
-                          pixelCache, (y + i) * this.width + x,
+                          pixelCache, (y + i) * thisWidth + x,
                           width);
     else
       {
@@ -124,11 +125,9 @@
               for (int j = 0; j < width; j++)
                 {
                   // get in RRGGBBAA and convert to AARRGGBB
-                  int pix = cm.getRGB(pixels[offset + (i * scansize) + x + j]);
-                  int a = ((pix & 0xFF000000) >> 24) & 0xFF;
-                  int rgb = (pix & 0x00FFFFFF) << 8;
-                  pix = rgb | a;
-                  pixelCache[(y + i) * this.width + x + j] = pix;
+                  int pix = cm.getRGB(pixels[offset + (i * scansize) + j]);
+                  pixelCache[(y + i) * thisWidth + x + j] =
+                        (pix << 8) | (pix >>> 24);
                 }
           }
         else
@@ -137,13 +136,10 @@
               for (int j = 0; j < width; j++)
                 {
                   // get in AARRGGBB and convert to AABBGGRR
-                  int pix = cm.getRGB(pixels[offset + (i * scansize) + x + j]);
-                  byte b = (byte)(pix & 0xFF);
-                  byte r = (byte)(((pix & 0x00FF0000) >> 16) & 0xFF);
-                  pix &= 0xFF00FF00;
-                  pix |= ((b & 0xFF) << 16);
-                  pix |= (r & 0xFF);
-                  pixelCache[(y + i) * this.width + x + j] = pix;
+                  int pix = cm.getRGB(pixels[offset + (i * scansize) + j]);
+                  pixelCache[(y + i) * thisWidth + x + j] =
+                        (pix & 0xFF00FF00) | ((pix & 0xFF) << 16) |
+                        ((pix >> 16) & 0xFF);
                 }
           }
       }
@@ -167,5 +163,3 @@
     this.properties = props;
   }
 }
-
-
diff -ru CVS/classpath/gnu/java/awt/peer/qt/QtButtonPeer.java updated/classpath/gnu/java/awt/peer/qt/QtButtonPeer.java
--- CVS/classpath/gnu/java/awt/peer/qt/QtButtonPeer.java	2005-09-04 18:31:06.000000000 +0300
+++ updated/classpath/gnu/java/awt/peer/qt/QtButtonPeer.java	2010-03-24 11:54:20.000000000 +0300
@@ -1,5 +1,5 @@
 /* QtButtonPeer.java --
-   Copyright (C)  2005  Free Software Foundation, Inc.
+   Copyright (C) 2005, 2010  Free Software Foundation, Inc.
 
 This file is part of GNU Classpath.
 
@@ -53,7 +53,8 @@
   protected void setup()
   {
     super.setup();
-    setLabel( ((Button)owner).getLabel() );
+    String label = ((Button)owner).getLabel();
+    setLabel( label != null ? label : "" );
   }
 
   /**
@@ -73,7 +74,3 @@
   
   public native void setLabel( String label );
 }
-
-
-
-
diff -ru CVS/classpath/gnu/java/awt/peer/qt/QtCheckboxPeer.java updated/classpath/gnu/java/awt/peer/qt/QtCheckboxPeer.java
--- CVS/classpath/gnu/java/awt/peer/qt/QtCheckboxPeer.java	2006-07-26 23:08:08.000000000 +0300
+++ updated/classpath/gnu/java/awt/peer/qt/QtCheckboxPeer.java	2010-03-24 11:54:20.000000000 +0300
@@ -1,5 +1,5 @@
 /* QtCheckboxPeer.java --
-   Copyright (C)  2005, 2006  Free Software Foundation, Inc.
+   Copyright (C) 2005, 2006, 2010  Free Software Foundation, Inc.
 
 This file is part of GNU Classpath.
 
@@ -66,7 +66,8 @@
   {
     super.setup();
     setCheckboxGroup( ((Checkbox)owner).getCheckboxGroup() );
-    setLabel( ((Checkbox)owner).getLabel() );
+    String label = ((Checkbox)owner).getLabel();
+    setLabel( label != null ? label : "" );
     setState( ((Checkbox)owner).getState() );
   }
 
@@ -79,9 +80,10 @@
 	group.setSelectedCheckbox((Checkbox)owner);
 
     int sel = checked ? ItemEvent.SELECTED : ItemEvent.DESELECTED;
+    String label = ((Checkbox)owner).getLabel();
     ItemEvent e = new ItemEvent((Checkbox)owner, 
 				ItemEvent.ITEM_STATE_CHANGED, 
-				((Checkbox)owner).getLabel(),
+                                label != null ? label : "",
 				sel);
     QtToolkit.eventQueue.postEvent(e);
   }
@@ -109,5 +111,3 @@
   public native void setState( boolean state );
 
 }
-
-
diff -ru CVS/classpath/gnu/java/awt/peer/qt/QtMenuItemPeer.java updated/classpath/gnu/java/awt/peer/qt/QtMenuItemPeer.java
--- CVS/classpath/gnu/java/awt/peer/qt/QtMenuItemPeer.java	2006-07-26 23:08:08.000000000 +0300
+++ updated/classpath/gnu/java/awt/peer/qt/QtMenuItemPeer.java	2010-03-24 11:54:20.000000000 +0300
@@ -1,5 +1,5 @@
 /* QtMenuItemPeer.java --
-   Copyright (C)  2005, 2006  Free Software Foundation, Inc.
+   Copyright (C) 2005, 2006, 2010  Free Software Foundation, Inc.
 
 This file is part of GNU Classpath.
 
@@ -54,6 +54,8 @@
   protected void init()
   {
     String label = ((MenuItem)owner).getLabel();
+    if (label == null)
+      label = "";
     create(label, label.equals("-"), (owner instanceof CheckboxMenuItem));
   }
 
@@ -98,10 +100,3 @@
 
   public native void setState(boolean state);
 }
-
-
-
-
-
-
-
diff -ru CVS/classpath/gnu/java/awt/peer/qt/QtToolkit.java updated/classpath/gnu/java/awt/peer/qt/QtToolkit.java
--- CVS/classpath/gnu/java/awt/peer/qt/QtToolkit.java	2007-06-22 12:52:08.000000000 +0300
+++ updated/classpath/gnu/java/awt/peer/qt/QtToolkit.java	2010-03-24 11:54:20.000000000 +0300
@@ -1,5 +1,5 @@
 /* QtToolkit.java --
-   Copyright (C)  2005, 2006, 2007  Free Software Foundation, Inc.
+   Copyright (C) 2005, 2006, 2007, 2010  Free Software Foundation, Inc.
 
 This file is part of GNU Classpath.
 
@@ -164,7 +164,7 @@
 
     // make sure the GUI thread has started.
     while (!guiThread.isRunning())
-      ;
+      Thread.yield();
 
     if( graphicsEnv == null )
       graphicsEnv = new QtGraphicsEnvironment( this );
