Fix data type casting when setting up menus on Windows.
src/w32menu.c (add_menu_item): Cast to UINT_PTR when assigning info.dwItemData. Fixes crashes on 64-bit Windows. Suggested by Fabrice Popineau <fabrice.popineau@supelec.fr>.
This commit is contained in:
parent
784051c42a
commit
2d5c5f7da9
2 changed files with 14 additions and 1 deletions
|
@ -1,3 +1,9 @@
|
|||
2012-07-21 Eli Zaretskii <eliz@gnu.org>
|
||||
|
||||
* w32menu.c (add_menu_item): Cast to UINT_PTR when assigning
|
||||
info.dwItemData. Fixes crashes on 64-bit Windows. Suggested by
|
||||
Fabrice Popineau <fabrice.popineau@supelec.fr>.
|
||||
|
||||
2012-07-21 Jan Djärv <jan.h.d@swipnet.se>
|
||||
|
||||
* nsterm.m (accessibilityAttributeValue): New function. (Bug#11134).
|
||||
|
|
|
@ -1533,7 +1533,14 @@ add_menu_item (HMENU menu, widget_value *wv, HMENU item)
|
|||
until it is ready to be displayed, since GC can happen while
|
||||
menus are active. */
|
||||
if (!NILP (wv->help))
|
||||
info.dwItemData = (DWORD) XLI (wv->help);
|
||||
{
|
||||
/* As of Jul-2012, w32api headers say that dwItemData
|
||||
has DWORD type, but that's a bug: it should actually
|
||||
be UINT_PTR, which is correct for 32-bit and 64-bit
|
||||
Windows alike. MSVC headers get it right; hopefully,
|
||||
MinGW headers will, too. */
|
||||
info.dwItemData = (UINT_PTR) XLI (wv->help);
|
||||
}
|
||||
if (wv->button_type == BUTTON_TYPE_RADIO)
|
||||
{
|
||||
/* CheckMenuRadioItem allows us to differentiate TOGGLE and
|
||||
|
|
Loading…
Add table
Reference in a new issue