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=supportNote 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 applicationsFor 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