Blame SOURCES/tk-seg_input.patch

cbfaf7
diff -up tk8.5.7/generic/tkEvent.c.old tk8.5.7/generic/tkEvent.c
cbfaf7
--- tk8.5.7/generic/tkEvent.c.old	2008-08-05 22:31:53.000000000 +0200
cbfaf7
+++ tk8.5.7/generic/tkEvent.c	2009-02-23 12:37:23.000000000 +0100
cbfaf7
@@ -247,16 +247,10 @@ InvokeFocusHandlers(
cbfaf7
     }
cbfaf7
 
cbfaf7
     /*
cbfaf7
-     * MouseWheel events are not focus specific on Mac OS X.
cbfaf7
+     * Only key-related events are directed according to the focus.
cbfaf7
      */
cbfaf7
 
cbfaf7
-#ifdef MAC_OSX_TK
cbfaf7
-#define FOCUS_DIRECTED_EVENT_MASK (KeyPressMask|KeyReleaseMask)
cbfaf7
-#else
cbfaf7
-#define	FOCUS_DIRECTED_EVENT_MASK (KeyPressMask|KeyReleaseMask|MouseWheelMask)
cbfaf7
-#endif
cbfaf7
-
cbfaf7
-    if (mask & FOCUS_DIRECTED_EVENT_MASK) {
cbfaf7
+    if (mask & (KeyPressMask|KeyReleaseMask)) {
cbfaf7
 	(*winPtrPtr)->dispPtr->lastEventTime = eventPtr->xkey.time;
cbfaf7
 	*winPtrPtr = TkFocusKeyEvent(*winPtrPtr, eventPtr);
cbfaf7
 	if (*winPtrPtr == NULL) {
cbfaf7
@@ -790,7 +789,7 @@ InvokeGenericHandlers(
cbfaf7
 	    int done;
cbfaf7
 
cbfaf7
 	    tsdPtr->handlersActive++;
cbfaf7
-	    done = (*curPtr->proc)(curPtr->clientData, eventPtr);
cbfaf7
+	    done = curPtr->proc(curPtr->clientData, eventPtr);
cbfaf7
 	    tsdPtr->handlersActive--;
cbfaf7
 	    if (done) {
cbfaf7
 		return done;
cbfaf7
@@ -1383,7 +1382,7 @@ Tk_HandleEvent(
cbfaf7
 	for (handlerPtr = winPtr->handlerList; handlerPtr != NULL; ) {
cbfaf7
 	    if ((handlerPtr->mask & mask) != 0) {
cbfaf7
 		ip.nextHandler = handlerPtr->nextPtr;
cbfaf7
-		(*(handlerPtr->proc))(handlerPtr->clientData, eventPtr);
cbfaf7
+		handlerPtr->proc(handlerPtr->clientData, eventPtr);
cbfaf7
 		handlerPtr = ip.nextHandler;
cbfaf7
 	    } else {
cbfaf7
 		handlerPtr = handlerPtr->nextPtr;
cbfaf7
@@ -1787,7 +1786,7 @@ WindowEventProc(
cbfaf7
 	return 0;
cbfaf7
     }
cbfaf7
     if (tsdPtr->restrictProc != NULL) {
cbfaf7
-	result = (*tsdPtr->restrictProc)(tsdPtr->restrictArg, &wevPtr->event);
cbfaf7
+	result = tsdPtr->restrictProc(tsdPtr->restrictArg, &wevPtr->event);
cbfaf7
 	if (result != TK_PROCESS_EVENT) {
cbfaf7
 	    if (result == TK_DEFER_EVENT) {
cbfaf7
 		return 0;
cbfaf7
@@ -2053,7 +2052,7 @@ TkFinalize(
cbfaf7
 
cbfaf7
 	firstExitPtr = exitPtr->nextPtr;
cbfaf7
 	Tcl_MutexUnlock(&exitMutex);
cbfaf7
-	(*exitPtr->proc)(exitPtr->clientData);
cbfaf7
+	exitPtr->proc(exitPtr->clientData);
cbfaf7
 	ckfree((char *) exitPtr);
cbfaf7
 	Tcl_MutexLock(&exitMutex);
cbfaf7
     }
cbfaf7
@@ -2103,7 +2102,7 @@ TkFinalizeThread(
cbfaf7
 	     */
cbfaf7
 
cbfaf7
 	    tsdPtr->firstExitPtr = exitPtr->nextPtr;
cbfaf7
-	    (*exitPtr->proc)(exitPtr->clientData);
cbfaf7
+	    exitPtr->proc(exitPtr->clientData);
cbfaf7
 	    ckfree((char *) exitPtr);
cbfaf7
 	}
cbfaf7
     }