diff options
author | culler <culler> | 2019-08-01 18:40:54 (GMT) |
---|---|---|
committer | culler <culler> | 2019-08-01 18:40:54 (GMT) |
commit | 4323a86241a88bab506135f370ac2ebc614908a9 (patch) | |
tree | dbc93558ed6ee92fccd42c4d1a138c5850689328 /generic | |
parent | 534cbcc613d7d165f84f0fc920d13f216df3fc15 (diff) | |
download | tk-4323a86241a88bab506135f370ac2ebc614908a9.zip tk-4323a86241a88bab506135f370ac2ebc614908a9.tar.gz tk-4323a86241a88bab506135f370ac2ebc614908a9.tar.bz2 |
Remove the crazy function UpdateButtonEventState which was causing all this trouble.
Diffstat (limited to 'generic')
-rw-r--r-- | generic/tkEvent.c | 67 | ||||
-rw-r--r-- | generic/tkInt.h | 2 |
2 files changed, 1 insertions, 68 deletions
diff --git a/generic/tkEvent.c b/generic/tkEvent.c index 891f667..69c19ed 100644 --- a/generic/tkEvent.c +++ b/generic/tkEvent.c @@ -559,71 +559,6 @@ GetButtonMask( /* *---------------------------------------------------------------------- * - * UpdateButtonEventState -- - * - * Update the button event state in our TkDisplay using the XEvent - * passed. We also may modify the the XEvent passed to fit some aspects - * of our TkDisplay. - * - * Results: - * None. - * - * Side effects: - * The TkDisplay's private button state may be modified. The eventPtr's - * state may be updated to reflect masks stored in our TkDisplay that the - * event doesn't contain. The eventPtr may also be modified to not - * contain a button state for the window in which it was not pressed in. - * - *---------------------------------------------------------------------- - */ - -static void -UpdateButtonEventState( - XEvent *eventPtr) -{ - TkDisplay *dispPtr; - int allButtonsMask = Button1Mask | Button2Mask | Button3Mask - | Button4Mask | Button5Mask; - - switch (eventPtr->type) { - case ButtonPress: - dispPtr = TkGetDisplay(eventPtr->xbutton.display); - dispPtr->mouseButtonWindow = eventPtr->xbutton.window; - eventPtr->xbutton.state |= dispPtr->mouseButtonState; - - dispPtr->mouseButtonState |= GetButtonMask(eventPtr->xbutton.button); - break; - - case ButtonRelease: - dispPtr = TkGetDisplay(eventPtr->xbutton.display); - dispPtr->mouseButtonWindow = None; - dispPtr->mouseButtonState &= ~GetButtonMask(eventPtr->xbutton.button); - eventPtr->xbutton.state |= dispPtr->mouseButtonState; - break; - - case MotionNotify: - dispPtr = TkGetDisplay(eventPtr->xmotion.display); - if (dispPtr->mouseButtonState & allButtonsMask) { - if (eventPtr->xbutton.window != dispPtr->mouseButtonWindow) { - /* - * This motion event should not be interpreted as a button - * press + motion event since this is not the same window the - * button was pressed down in. - */ - - dispPtr->mouseButtonState &= ~allButtonsMask; - dispPtr->mouseButtonWindow = None; - } else { - eventPtr->xmotion.state |= dispPtr->mouseButtonState; - } - } - break; - } -} - -/* - *---------------------------------------------------------------------- - * * InvokeClientMessageHandlers -- * * Iterate the list of handlers and invoke the function pointer for each. @@ -1220,8 +1155,6 @@ Tk_HandleEvent( ThreadSpecificData *tsdPtr = Tcl_GetThreadData(&dataKey, sizeof(ThreadSpecificData)); - UpdateButtonEventState(eventPtr); - /* * If the generic handler processed this event we are done and can return. */ diff --git a/generic/tkInt.h b/generic/tkInt.h index a80d209..c7dabc2 100644 --- a/generic/tkInt.h +++ b/generic/tkInt.h @@ -492,7 +492,7 @@ typedef struct TkDisplay { */ int mouseButtonState; /* Current mouse button state for this - * display. */ + * display. NOT USED as of 8.6.10 */ Window mouseButtonWindow; /* Window the button state was set in, added * in Tk 8.4. */ Tk_Window warpWindow; |