Notice: This website is an unofficial Microsoft Knowledge Base (hereinafter KB) archive and is intended to provide a reliable access to deleted content from Microsoft KB. All KB articles are owned by Microsoft Corporation. Read full disclaimer for more details.

InfoPath may crash when you repeatedly click button controls that change form content


View products that this article applies to.

Symptoms

When you fill out a Microsoft Office InfoPath 2003 form, the application may unexpectedly crash with an access violation. If the InfoPath 2003 form has several command buttons, and you repeatedly click the command buttons, the actions of the command buttons may cause the current view to update. When the current view updates, a crash may occur if a focus change occurs during the update. You may receive the following error message:
Microsoft InfoPath has encountered a problem and needs to close. We are sorry for the inconvenience.
The error message may report one of the following signatures:

Application  | Application Version | Module     | Module Version | Offset
---------------------------------------------------------------------------
InfoPath.exe   11.0.5531.0           Mshtml.dll   6.0.2800.1237    000b9562 
InfoPath.exe   11.0.5531.0           Mshtml.dll   6.0.2800.1276    000a21e3


You may also receive other signatures with other module versions and with other offsets.

↑ Back to the top


Cause

The problem is caused by a bug in a shared-system component (Mshtml.dll) that is used by InfoPath 2003 to display a form. The problem is not unique to InfoPath 2003. This problem may occur in other applications that use this component, such as Microsoft Internet Explorer. The problem is sporadic. However, the problem may occur more frequently on complex forms that use buttons to change field data and to cause view updates. The problem occurs when Mshtml.dll is processing the button-focus events, and HTML is reloading the document that hosts the buttons at the same time.

↑ Back to the top


Workaround

To work around this problem, manually change the XSL that is used for your solution so that the HTML for your form is slightly modified. To do this, follow these steps:
  1. Locate the following line of code in the XSL:
    <input type="button" ... />
  2. Replace the previous line of code with the following line of code:
    <input type="button" unselectable="on" ... />
    Note When you use the UNSELECTABLE attribute, you cannot select the button in Design mode. Therefore, you must replace the line of code after the form layout is complete. At runtime, the button is updated with the correct InfoPath 2003 button element, and the button will work as you expect. Because Mshtml.dll does not interpret the item as selectable, Mshtml.dll does not switch focus to the item during the page update. Therefore, a crash does not occur.

↑ Back to the top


Status

Microsoft has confirmed that this is a bug in the Microsoft products that are listed in the "Applies to" section.

↑ Back to the top


Keywords: KB837013, kbnofix, kbmshtml

↑ Back to the top

Article Info
Article ID : 837013
Revision : 2
Created on : 9/23/2011
Published on : 9/23/2011
Exists online : False
Views : 287