Commit 2d5c5f7d authored by Eli Zaretskii's avatar Eli Zaretskii
Browse files

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>.
parent 784051c4
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
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment