We are currently migrating Bugzilla to GitHub issues.
Any changes made to the bug tracker now will be lost, so please do not post new bugs or make changes to them.
When we're done, all bug URLs will redirect to their equivalent location on the new bug tracker.

Bug 961 - SDLK_LMETA and SDLK_RMETA are no longer defined
Summary: SDLK_LMETA and SDLK_RMETA are no longer defined
Status: RESOLVED FIXED
Alias: None
Product: SDL
Classification: Unclassified
Component: events (show other bugs)
Version: HG 2.0
Hardware: All All
: P2 minor
Assignee: Ryan C. Gordon
QA Contact: Sam Lantinga
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-02-28 09:15 UTC by Kalle Olavi Niemitalo
Modified: 2010-03-08 22:08 UTC (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Kalle Olavi Niemitalo 2010-02-28 09:15:50 UTC
Bos Wars requires SDL 1.2.  I tried to build it on SDL 1.3 SVN r5558 and got these errors:

engine/ui/interface.cpp: In function 'int HandleKeyModifiersDown(unsigned int, unsigned int)':
engine/ui/interface.cpp:920: error: 'SDLK_LMETA' was not declared in this scope
engine/ui/interface.cpp:921: error: 'SDLK_RMETA' was not declared in this scope
engine/ui/interface.cpp:928: error: 'SDLK_LMETA' cannot appear in a constant-expression
engine/ui/interface.cpp:929: error: 'SDLK_RMETA' cannot appear in a constant-expression

It seems the SDLK_LMETA and SDLK_RMETA constants have been removed from SDL 1.3.  I grepped for them in the SDL source tree and these were the only hits:

./include/SDL_compat.h:230:#define SDLK_LSUPER SDLK_LMETA
./include/SDL_compat.h:231:#define SDLK_RSUPER SDLK_RMETA
./src/video/bwindow/SDL_BWin.h:194:        keymap[0x66] = SDLK_LMETA;
./src/video/bwindow/SDL_BWin.h:195:        keymap[0x67] = SDLK_RMETA;

I don't know how compatible SDL 1.3 is supposed to be with applications designed for SDL 1.2.  However, as you can see, SDL itself is still trying to use the removed constants, and that is clearly a bug.

Because SDL_compat.h defines KMOD_LMETA as KMOD_LGUI, I suppose it should also define SDLK_LMETA as SDLK_LGUI, and SDLK_RMETA likewise.
Comment 1 Sam Lantinga 2010-03-08 22:08:10 UTC
Thanks!  This is fixed in subversion revision 5560.