Index: x11-ssh-askpass.c =================================================================== --- x11-ssh-askpass.c.orig +++ x11-ssh-askpass.c @@ -1301,7 +1301,7 @@ void handleKeyPress(AppInfo *app, XEvent } } -Bool eventIsInsideButton(AppInfo *app, XEvent *event, ButtonInfo button) +Bool eventIsInsideButton(AppInfo *app, ButtonInfo button, XEvent *event) { /* 'gcc -Wall' complains about 'app' being an unused parameter. * Tough. We might want to use it later, and then we don't have @@ -1343,11 +1343,11 @@ void handleButtonPress(AppInfo *app, XEv return; } if (ButtonPress == event->type) { - if (eventIsInsideButton(app, event, d->okButton)) { + if (eventIsInsideButton(app, d->okButton, event)) { d->pressedButton = OK_BUTTON; d->okButton.pressed = True; paintButton(app, d->dialogWindow, d->okButton); - } else if (eventIsInsideButton(app, event, d->cancelButton)) { + } else if (eventIsInsideButton(app, d->cancelButton, event)) { d->pressedButton = CANCEL_BUTTON; d->cancelButton.pressed = True; paintButton(app, d->dialogWindow, d->cancelButton); @@ -1356,7 +1356,7 @@ void handleButtonPress(AppInfo *app, XEv } } else if (ButtonRelease == event->type) { if (OK_BUTTON == d->pressedButton) { - if (eventIsInsideButton(app, event, d->okButton)) { + if (eventIsInsideButton(app, d->okButton, event)) { acceptAction(app); } else { if (d->okButton.pressed) { @@ -1365,7 +1365,7 @@ void handleButtonPress(AppInfo *app, XEv } } } else if (CANCEL_BUTTON == d->pressedButton) { - if (eventIsInsideButton(app, event, d->cancelButton)) { + if (eventIsInsideButton(app, d->cancelButton, event)) { cancelAction(app); } else { if (d->cancelButton.pressed) { @@ -1385,7 +1385,7 @@ void handlePointerMotion(AppInfo *app, X if (NO_BUTTON == d->pressedButton) { return; } else if (OK_BUTTON == d->pressedButton) { - if (eventIsInsideButton(app, event, d->okButton)) { + if (eventIsInsideButton(app, d->okButton, event)) { if (!(d->okButton.pressed)) { d->okButton.pressed = True; paintButton(app, d->dialogWindow, d->okButton); @@ -1397,7 +1397,7 @@ void handlePointerMotion(AppInfo *app, X } } } else if (CANCEL_BUTTON == d->pressedButton) { - if (eventIsInsideButton(app, event, d->cancelButton)) { + if (eventIsInsideButton(app, d->cancelButton, event)) { if (!(d->cancelButton.pressed)) { d->cancelButton.pressed = True; paintButton(app, d->dialogWindow, d->cancelButton); Index: x11-ssh-askpass.h =================================================================== --- x11-ssh-askpass.h.orig +++ x11-ssh-askpass.h @@ -258,7 +258,7 @@ void erasePassphrase(AppInfo *app); void addToPassphrase(AppInfo *app, char c); void handleKeyPress(AppInfo *app, XEvent *event); -Bool eventIsInsideButton(AppInfo *app, XEvent *event, ButtonInfo button); +Bool eventIsInsideButton(AppInfo *app, ButtonInfo button, XEvent *event); void handleButtonPress(AppInfo *app, XEvent *event); void handlePointerMotion(AppInfo *app, XEvent *event);