make use of the --enable-clobber option
Dana Jansens danakj@orodu.net
2 files changed,
19 insertions(+),
4 deletions(-)
M
src/BaseDisplay.cc
→
src/BaseDisplay.cc
@@ -239,6 +239,7 @@ screenInfoList.reserve(ScreenCount(display));
for (int i = 0; i < ScreenCount(display); ++i) screenInfoList.push_back(ScreenInfo(this, i)); +#ifndef NOCLOBBER NumLockMask = ScrollLockMask = 0; const XModifierKeymap* const modmap = XGetModifierMapping(display);@@ -276,6 +277,10 @@ MaskList[7] = LockMask | NumLockMask | ScrollLockMask;
MaskListLength = sizeof(MaskList) / sizeof(MaskList[0]); if (modmap) XFreeModifiermap(const_cast<XModifierKeymap*>(modmap)); +#else // NOCLOBBER + NumLockMask = 0; + ScrollLockMask = 0; +#endif // NOCLOBBER gccache = 0; }@@ -366,11 +371,16 @@ Window grab_window, bool owner_events,
unsigned int event_mask, int pointer_mode, int keyboard_mode, Window confine_to, Cursor cursor) const { - for (size_t cnt = 0; cnt < MaskListLength; ++cnt) { +#ifndef NOCLOBBER + for (size_t cnt = 0; cnt < MaskListLength; ++cnt) XGrabButton(display, button, modifiers | MaskList[cnt], grab_window, owner_events, event_mask, pointer_mode, keyboard_mode, confine_to, cursor); - } +#else // NOCLOBBER + XGrabButton(display, button, modifiers, grab_window, + owner_events, event_mask, pointer_mode, keyboard_mode, + confine_to, cursor); +#endif // NOCLOBBER } /*@@ -379,9 +389,12 @@ * keyboard lock keys.
*/ void BaseDisplay::ungrabButton(unsigned int button, unsigned int modifiers, Window grab_window) const { - for (size_t cnt = 0; cnt < MaskListLength; ++cnt) { +#ifndef NOCLOBBER + for (size_t cnt = 0; cnt < MaskListLength; ++cnt) XUngrabButton(display, button, modifiers | MaskList[cnt], grab_window); - } +#else // NOCLOBBER + XUngrabButton(display, button, modifiers, grab_window); +#endif // NOCLOBBER }
M
src/BaseDisplay.hh
→
src/BaseDisplay.hh
@@ -77,8 +77,10 @@ int event_basep, error_basep;
}; BShape shape; +#ifndef NOCLOBBER unsigned int MaskList[8]; size_t MaskListLength; +#endif // NOCLOBBER enum RunState { STARTUP, RUNNING, SHUTDOWN }; RunState run_state;