JDK-6638633 : The "Browser settings changed" dialog was always displayed although no changes was made to JCP
The Version table provides details related to the release that this issue/RFE will be addressed.
Unresolved : Release in which this issue/RFE will be addressed. Resolved: Release in which this issue/RFE has been resolved. Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.
With the 6u10 b08, when running the Java Control Panel (JCP), upon clicking on the Ok button, the "Browser settings changed" (see attached screeshot) dialog is always shown although the user hasn't changed anything in the JCP.
This problem was introduced in 6u10 b07 via the fix for 6533331.
There's an extra lstrcat(szMozDir, "plugins") in the IsDefaultInBrowser() function of RegCommon.cpp. The extra lstrcat makes the szMozDir incorrect and resulting in the IsNPFileVersionMatch() always returns FALSE.
When the user clicks on the "Ok" button in the Java Control Panel even though without making any browsers related changes, the code goes through the Java_com_sun_deploy_panel_PlatformSpecificUtils_applyBrowserSettings function of RegJControl.cpp. If IsNPFileVersionMatch() always returns FALSE, the following check will always be TRUE when the user opens Java Control Panel without making any changes:
if (isMozillaDefault != IsDefaultInBrowser(PLUGIN_MAJOR_VERSION, PLUGIN_MINOR_VERSION, PLUGIN_MICRO_VERSION, PLUGIN_UPDATE_VERSION, MOZILLA))
As a result, the bChange flag is always set to TRUE. By default, the following flags are also set to TRUE: bIExplorerResult, bNetscape6Result, bMozillaResult, bFirefoxResult. So further down in the same function, the "showSuccessDialog" java method, which displays the "Browser settings changed" dialog, will always be called.