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

asynchronous QuitApplet confuses win32 peer

XMLWordPrintable

    • 1.1
    • x86
    • windows_95, windows_nt
    • Not verified

          I have an applet that forks a thread to asynchronously update the
      screen about once a second. On win32, if I click the QuitApplet button,
      about 20% of the time I get:

          java.lang.InternalError: getGraphics implemented only for Canvas Components
      at sun.awt.win32.Win32Graphics.<init>(Win32Graphics.java:49)
      at sun.awt.win32.MComponentPeer.getGraphics(MComponentPeer.java:177)
      at java.awt.Component.getGraphics(Component.java:554)
      at sunw.idl.util.Chart.step(Chart.java:205)
      at sunw.idl.util.Tabulator.step(Tabulator.java:252)
      at sunw.idl.util.UpdaterThread.run(Tabulator.java:53)

      All the sunw.idl.util.* classes are mine. UpdaterThread is the
      asychronous updater. Tabulator.step coordinates the updating, and
      Chart.step is the code that actually tries to touch the screen. I strongly
      suspect that java.awt.Component.getGraphics() is being called as the applet
      is being taken down and things are falling apart. (If it helps, I've been
      running the same applet on Solaris for several months and have never seen
      this error (or anything like it) in that part of the world.)

          This is not a big deal, since the applet goes away, which is what I've
      asked it to do, but it does leave a bad taste in the mouth about our code,
      which we should try to avoid.

      ... peter 4/25/96 3:20PM

            egilbertsunw Eric Gilbertson (Inactive)
            pbk Peter Kessler
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved:
              Imported:
              Indexed: