We're seeing cases where where java applications can consistently cause
the 4.0 server to crash.  It requires a fairly specific set of circumstances

- Solaris 8 (doesn't crash on Linux, not sure about other Solaris versions)
- Sun's J2SDK 1.4.2_06 (doesn't crash with 1.4.0 or 1.4.1)
- VNC 4.0 server running in default 8 bit mode (doesn't crash with -depth 24)

To reproduce, copy the following code (from
http://java.sun.com/developer/qow/archive/24/) into a file called 
SplashTest.java, and run 

                $ javac SplashTest.java
                $ java SplashTest
                (Move the mouse onto the splash screen when it comes up)

Given that java 1.4.0 and 1.4.1 are OK, I almost wonder if there is a bug
in java.  But even if there is, it would be nice if it didn't crash
the server.

============================ cut here ==============================
import java.awt.event.*;
import java.awt.*;

public class SplashTest {

    public static void main(String args[]) {
       new SplashWindowFrame();
    }
}

class SplashWindowFrame extends Frame {
    SplashWindow sw;
    Image splashIm;

    SplashWindowFrame() {
       super();

       /* Add the window listener */
       addWindowListener(new WindowAdapter() {
          public void windowClosing(WindowEvent evt) {
              dispose(); 
              System.exit(0);
          }});

       /* Size the frame */
       setSize(200,200);

       /* Center the frame */
       Dimension screenDim = 
            Toolkit.getDefaultToolkit().getScreenSize();
       Rectangle frameDim = getBounds();
       setLocation((screenDim.width - frameDim.width) / 2,
                (screenDim.height - frameDim.height) / 2);

       MediaTracker mt = new MediaTracker(this);
       splashIm = Toolkit.getDefaultToolkit(
           ).getImage("test.gif");
       mt.addImage(splashIm,0);
       try {
          mt.waitForID(0);
       } catch(InterruptedException ie){}

       sw = new SplashWindow(this,splashIm);

       try {
          Thread.sleep(3000);
       } catch(InterruptedException ie){}

       sw.dispose();

       /* Show the frame */
       setVisible(true);
       }
}

class SplashWindow extends Window {
    Image splashIm;

    SplashWindow(Frame parent, Image splashIm) {
        super(parent);
        this.splashIm = splashIm;
        setSize(200,200);

        /* Center the window */
        Dimension screenDim = 
             Toolkit.getDefaultToolkit().getScreenSize();
        Rectangle winDim = getBounds();
        setLocation((screenDim.width - winDim.width) / 2,
                (screenDim.height - winDim.height) / 2);
        setVisible(true);
    }

    public void paint(Graphics g) {
       if (splashIm != null) {
           g.drawImage(splashIm,0,0,this);
       }
    }
}


============================ cut here ==============================
-- 
Peter Fales                       Lucent Technologies, Room 1C-436
N9IYJ                             2000 N Naperville Rd PO Box 3033
internet: [EMAIL PROTECTED]       Naperville, IL 60566-7033
                                  work: (630) 979-8031
_______________________________________________
VNC-List mailing list
[email protected]
To remove yourself from the list visit:
http://www.realvnc.com/mailman/listinfo/vnc-list

Reply via email to