Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-4427837

Image transfer is broken on Win9X

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: P1 P1
    • 1.4.0
    • 1.4.0
    • client-libs
    • None
    • beta
    • x86
    • windows_98
    • Verified



      Name: dsR10078 Date: 03/20/2001



      Image data cannot be transferred via the system clipboard or DnD on
      Win9X/ME.
      The bug is reproducible on merlin build b55.
      Here is the test case which reproduces the problem for the clipboard:
      ----------------------------------------------------------------
      import java.awt.*;
      import java.awt.datatransfer.*;

      public class SimpleTest implements Transferable {

          final Toolkit toolkit = Toolkit.getDefaultToolkit();
          final Clipboard clipboard = toolkit.getSystemClipboard();
          Image image = null;

          public static void main(String[] args) {
              if (args.length == 0) {
                  System.out.println("No image loaded. To load an image:");
                  System.out.println(" java ClipboardTest <image file>");
              }
              SimpleTest test = new SimpleTest(args.length > 0 ? args[0] :
      null);
          }

          public SimpleTest(String imageName) {
              if (imageName != null) {
                  image = toolkit.createImage(imageName);
              }

              clipboard.setContents(this, null);
          }

          public DataFlavor[] getTransferDataFlavors() {
              return new DataFlavor[] { DataFlavor.imageFlavor };
          }

          public boolean isDataFlavorSupported(DataFlavor flavor) {
              return DataFlavor.imageFlavor.equals(flavor);
          }

          public Object getTransferData(DataFlavor flavor)
            throws UnsupportedFlavorException {
              if (!isDataFlavorSupported(flavor)) {
                  throw new UnsupportedFlavorException(flavor);
              }

              System.err.println("getTransferData image=" + image);
              return image;
          }
      }
      ----------------------------------------------------------------

      On Win9X/ME this test throws an exception:

      getTransferData image=sun.awt.windows.WImage@4741d6
      Exception in thread "main" java.lang.NullPointerException
              at java.io.OutputStream.write(OutputStream.java:61)
              at
      sun.awt.datatransfer.DataTransferer.translateTransferable(DataTransferer.java:926)
              at
      sun.awt.windows.WDataTransferer.translateTransferable(WDataTransferer.java:129)
              at sun.awt.windows.WClipboard.setContents(WClipboard.java:78)
              at SimpleTest.<init>(SimpleTest.java:23)
              at SimpleTest.main(SimpleTest.java:15)

      The test works on WinNT.

      ###@###.### 2001-03-20
      ======================================================================

            dassunw Das Das (Inactive)
            dassunw Das Das (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: