Redistributable Package Fix: Incorrect TBBS_CHECKED value when a Visual C++ 2010 MFC application calls submenu methods if the MF_CHECKED flag is set

Symptoms

Consider the following scenario:

  • You use Microsoft Visual Studio 2010 to develop a Microsoft Visual C++ 2010 Microsoft Foundation Class (MFC) application that calls the CContextMenuManager::TrackPopupMenu method or the CContextMenuManager::ShowPopupMenu method.
  • The menu that corresponds to the HMENU parameter has one or more submenus.
  • One or more of the submenu items have the MF_CHECKED flag set.
  • You run the MFC application.

In this scenario, the TBBS_CHECKED flag is not set correctly for the submenus that had the MF_CHECKED flag set.

Cause

The CMFCPopupMenuBar::ImportFromMenu method creates a CMFCToolBarMenuButton object, and uses the submenu as a parameter. When the CMFCToolBarMenuButton object is initialized, the MFCToolBarMenuButton::CreateFromMenu method is called. However, the CreateFromMenu method ignores the MF_CHECKED flag, and sets an incorrect TBBS_CHECKED value.

Resolution

Hotfix information

A supported hotfix is now available from Microsoft. However, it is intended to correct only the problem that is described in this article. Apply it only to systems that are experiencing this specific problem. This hotfix may receive additional testing. Therefore, if you are not severely affected by this problem, we recommend that you wait for the next software update that contains this hotfix.

To resolve this problem immediately, contact Microsoft Customer Support Services to obtain the hotfix. For a complete list of Microsoft Customer Support Services telephone numbers and information about support costs, visit the following Microsoft Web site:

http:⁠//support.microsoft.com/contactus/?ws=support Note In special cases, charges that are ordinarily incurred for support calls may be canceled if a Microsoft Support Professional determines that a specific update will resolve your problem. The usual support costs will apply to additional support questions and issues that do not qualify for the specific update in question.

Prerequisites

To apply this hotfix, you must have the Visual C++ 2010 Service Pack 1 (SP1) Redistributable Package installed.

Restart requirement

You may have to restart the computer after you install this hotfix if the affected files are being used.

Hotfix replacement information

 This hotfix does not replace any other hotfix.

File Information

The English version of this hotfix has the file attributes (or later file attributes) that are listed in the following table. The dates and times for these files are listed in Coordinated Universal Time (UTC). When you view the file information, it is converted to local time. To find the difference between UTC and local time, use the Time Zone tab in the Date and Time item in Control Panel.

For all supported x86-based versions of Microsoft Visual C++ 2010 SP1 Redistributable Package

File name File version File size Date Time Platform
Atl100.dll 10.0.40219.369 139,016 07-Dec-2011 16:36 x86
Mfc100.dll 10.0.40219.369 4,398,344 07-Dec-2011 17:53 x86
Mfc100chs.dll 10.0.40219.369 37,136 07-Dec-2011 17:53 x86
Mfc100cht.dll 10.0.40219.369 37,136 07-Dec-2011 17:53 x86
Mfc100deu.dll 10.0.40219.369 65,296 07-Dec-2011 17:53 x86
Mfc100enu.dll 10.0.40219.369 56,080 07-Dec-2011 17:53 x86
Mfc100esn.dll 10.0.40219.369 64,784 07-Dec-2011 17:53 x86
Mfc100fra.dll 10.0.40219.369 65,296 07-Dec-2011 17:53 x86
Mfc100ita.dll 10.0.40219.369 63,248 07-Dec-2011 17:53 x86
Mfc100jpn.dll 10.0.40219.369 44,816 07-Dec-2011 17:53 x86
Mfc100kor.dll 10.0.40219.369 44,304 07-Dec-2011 17:53 x86
Mfc100rus.dll 10.0.40219.369 61,712 07-Dec-2011 17:53 x86
Mfc100u.dll 10.0.40219.369 4,424,456 07-Dec-2011 17:53 x86
Mfcm100.dll 10.0.40219.369 82,696 07-Dec-2011 17:53 x86
Mfcm100u.dll 10.0.40219.369 82,704 07-Dec-2011 17:53 x86
Msvcp100.dll 10.0.40219.369 422,160 07-Dec-2011 16:36 x86
Msvcr100_clr0400.dll 10.0.40219.369 774,416 07-Dec-2011 16:36 x86
Vcomp100.dll 10.0.40219.369 51,984 07-Dec-2011 17:53 x86

For all supported x64-based versions of Microsoft Visual C++ 2010 SP1 Redistributable Package

                
                
                
                
                
                
                
                
                
              

File name File version File size Date Time Platform
Atl100.dll 10.0.40219.369 159,496 07-Dec-2011 17:33 x64
Mfc100.dll 10.0.40219.369 5,575,944 07-Dec-2011 17:33 x64
Mfc100chs.dll 10.0.40219.369 37,136 07-Dec-2011 17:33 x64
Mfc100cht.dll 10.0.40219.369 37,136 07-Dec-2011 17:33 x64
Mfc100deu.dll 10.0.40219.369 65,296 07-Dec-2011 17:33 x64
Mfc100enu.dll 10.0.40219.369 56,080 07-Dec-2011 17:33 x64
Mfc100esn.dll 10.0.40219.369 64,784 07-Dec-2011 17:33 x64
Mfc100fra.dll 10.0.40219.369 65,296 07-Dec-2011 17:33 x64
Mfc100ita.dll 10.0.40219.369 63,248 07-Dec-2011 17:33 x64
Mfc100jpn.dll 10.0.40219.369 44,816 07-Dec-2011 17:33 x64
Mfc100kor.dll 10.0.40219.369 44,304 07-Dec-2011 17:33 x64
Mfc100rus.dll 10.0.40219.369 61,712 07-Dec-2011 17:33 x64
Mfc100u.dll 10.0.40219.369 5,603,080 07-Dec-2011 17:33 x64
Mfcm100.dll 10.0.40219.369 93,960 07-Dec-2011 17:33 x64
Mfcm100u.dll 10.0.40219.369 93,968 07-Dec-2011 17:33 x64
Msvcp100.dll 10.0.40219.369 609,040 07-Dec-2011 17:33 x64
Msvcr100_clr0400.dll 10.0.40219.369 830,224 07-Dec-2011 17:33 x64
Vcomp100.dll 10.0.40219.369 58,128 07-Dec-2011 17:33 x64

For all supported IA-64-based versions of Microsoft Visual C++ 2010 SP1 Redistributable Package

File name File version File size Date Time Platform
Atl100.dll 10.0.40219.369 386,312 07-Dec-2011 16:20 IA-64
Msvcp100.dll 10.0.40219.369 967,440 07-Dec-2011 16:20 IA-64
Msvcr100_clr0400.dll 10.0.40219.369 1,500,432 07-Dec-2011 16:20 IA-64
Vcomp100.dll 10.0.40219.369 144,144 07-Dec-2011 16:20 IA-64

Status

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

More Information

For more information about MFC applications, visit the following MSDN website:

General information about MFC applications For the Visual Studio hotfix for this issue, click the following article number to view the article in the Microsoft Knowledge Base:

2639247 Visual Studio Fix: Incorrect TBBS_CHECKED value when an MFC application calls submenu methods in Visual Studio 2010 if the MF_CHECKED flag is set