20 lines
653 B
Diff
20 lines
653 B
Diff
--- src/event-Xt.c
|
|
+++ src/event-Xt.c 2003-09-02 17:39:09.000000000 +0200
|
|
@@ -1249,9 +1249,13 @@
|
|
However, "F1" normally does. */
|
|
if (modifiers & XEMACS_MOD_SHIFT)
|
|
{
|
|
- int Mode_switch_p = *state & xd->ModeMask;
|
|
- KeySym bot = XLookupKeysym (ev, Mode_switch_p ? 2 : 0);
|
|
- KeySym top = XLookupKeysym (ev, Mode_switch_p ? 3 : 1);
|
|
+ KeySym top, bot;
|
|
+ XKeyEvent tmpev = *ev;
|
|
+
|
|
+ tmpev.state = *state & (xd->ModeMask | ~0xff);
|
|
+ XLookupString(&tmpev, NULL, 0, &bot, NULL);
|
|
+ tmpev.state |= ShiftMask;
|
|
+ XLookupString(&tmpev, NULL, 0, &top, NULL);
|
|
if (top && bot && top != bot)
|
|
modifiers &= ~XEMACS_MOD_SHIFT;
|
|
}
|