JDK-6572165 : Regression : Browser Redrawing fails in 1.4.2_15(b02)
  • Type: Bug
  • Component: deploy
  • Sub-Component: plugin
  • Affected Version: 1.4.2_15
  • Priority: P2
  • Status: Closed
  • Resolution: Won't Fix
  • OS: windows_xp
  • CPU: x86
  • Submitted: 2007-06-21
  • Updated: 2011-02-16
  • Resolved: 2009-07-01
Related Reports
Relates :  
Relates :  
Description
When a modal dialogue pops up, redrawing bowser does not work well in 1.4.2_15-b02.

REPRODUCE:
 1) Compile the attached java program
 2) Invoke the attached .html by double-clicking
    You will see an applet with "print" button
 3) Click the "Print" button
    You will see a print cofirmation dialogue
 4) Click "ok"(Y) in print confirmation button
    You will see page setting dialogue.
Please see the attached redraw-fails.jpg. 
The red-rounded area is not repainted

CONFIGURATION:
   JRE 1.4.2_15b02
   OS : WindowsXP(SP1, Japanese)
   Browser : IE6.0(SP2)

Comments
WORK AROUND First of all this test case is hanging. Add these lines after public int print(Graphics g, PageFormat pf, int page) throws PrinterException { // Add these lines if (page > 0) return Printable.NO_SUCH_PAGE; // ie., end of job Now, One workaround for customer. It works with cross platform dialog. So, please tell them to use cross platform print dialog. If they want some demo code, please let me know.
18-02-2008

EVALUATION The bug has been fixed in 5.0 (See 4507585) and to backport the fix to 1.4.2, it requires to port two new classes WPageDialog and WPageDialogPeer and also requires a few modifications to be made to WPrintDialog class The cause of the problem is that the native dialog is poppedup in EDT and it blocks the event pump of the parent Frame. As with any modal dialog, we need to start a new event pump for the dialog thereby not blocking events on the parent Frame.
17-01-2008