Hi, I am using Java SDK 2 on Redhat 6.0. I have a Java GUI on a C++ library and have hit the following problem. The GUI includes a component like this for displaying images, class DisplayPanel extends JPanel { public void paintComponent (Graphics g) { super. paintComponent (g); // paint background // route 1 g. drawImage (image, 0, 0, this); ... OR ... // route 2 _interface_to_c++. display_image (g, this); } } If I use route 1, everything is fine, the image is displayed whenever it is required. Route 2 involves a call to a C++ routine, which takes an image from memory, wraps it up in the required Java format (using MemoryImageSource), then does a drawImage. However, the following problem occurs - paintComponent is invoked in the usual way, it calls the C++ routine, the image is displayed (correctly), the processing terminates, but then something causes paintComponent to be invoked again. It goes into a loop in which paintComponent is repeatedly invoked, and the C++ routine is continually drawing the image. Well the basic logic is ok on the Java side because route 1 works fine. So something in the C++ routine causes Java to think the DiplayPanel component needs to be updated. And it all hinges on the call to drawImage from C++ (if I remove that, no looping). I almost began to think it's a bug, that you can't use the JNI when displaying images. Any thoughts? Thanks, Paul. p.s. I tried things like "markCompletelyClean" on the component after return from C++ to try to disable the repaint but no luck. --------------------------------------------------------------------------- Paul Beardsley email: [EMAIL PROTECTED] MERL - A Mitsubishi Electric Research Laboratory, tel: +(617) 621 7569 201 Broadway, Cambridge, MA 02139, USA fax: +(617) 621 7550 ---------------------------------------------------------------------- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]