Java Solaris Communities Sun Store Join SDN My Profile Why Join?
 
Bug Database
Bug Detail
Quick Lists
Top 25 Bugs
Top 25 RFE's
Recently Closed Bugs
Printable Page Printable Page


Bug Database
Bug ID: 6817482
Votes 0
Synopsis On IE, modal JDialog from an Applet in html frame is not modal
Category java_plugin:iexplorer
Reported Against
Release Fixed 5.0u21(b01), 6u16-rev(b03) (Bug ID:2180307) , 6u18(b03) (Bug ID:2183342) , 6u17-rev(b05) (Bug ID:2183412)
State 10-Fix Delivered, Verified, bug
Priority: 2-High
Related Bugs 6883952
Submit Date 14-MAR-2009
Description
JRE 1.5.0_16 + IE6/7.  

If an applet in an html frame shows a JDialog created as
"new JDialog((Frame)null, true);" does not behave as a
modal dialog.  Users can move brwser window in front of
the dialog by clicking the browser window.

  <frameset name="main" cols="300,*" framespacing="0">
      <frame src="form.html" frameborder="0" marginwidth="0" />
      <frame src="control.html" frameborder="0" marginwidth="0" />
  </frameset>

// control.html
  <body topmargin="0" bottommargin="0" leftmargin="0" rightmargin="0" marginheight="0" marginwidth="0">
    <applet code="modal2.ToolApplet.class" archive="../dist/Modal2.jar" width="100%" height="100%" name="SampleForm" vspace="0" hspace="0" >
    </applet>
  </body>

This symptom is not seen on Firefox or Safari.

The symptom was seen on 6u7 as well, but with 6u12, the
dialog works as a modal dialog.

So, it looks like java plugin for IE in 1.5 and 6.0-6u7 issue.
Posted Date : 2009-03-14 09:58:19.0

.
Posted Date : 2009-03-18 05:07:55.0
Work Around
N/A
Evaluation
Following changes in OnEnableModeless() fix the issue:

              if (FAILED(hr)) {
                  spInPlaceFrame->GetWindow(&containerWindow);
+ 
+                 // With IE7 and IE8, containerWindow would be the handle of 'TabWindowClass' window
+                 // and not IEFrame window, so get the handle of it's parent.
+                 TCHAR className[64] = {0}; 
+                 ::GetClassName(containerWindow, className, 64*sizeof(TCHAR)); 
+                 if (strcmp(className, "IEFrame") != 0) {
+                   containerWindow = ::GetParent(containerWindow);
+                 }
+
Posted Date : 2009-07-21 10:12:26.0
Comments
  
  Include a link with my name & email   


PLEASE NOTE: JDK6 is formerly known as Project Mustang