- 480742 patch fixes the input method. The reason for this behaviour is

still unknown.
This commit is contained in:
Marcela Mašláňová 2009-02-23 12:38:50 +00:00
parent 4d3e1e56aa
commit 6c6467a629
4 changed files with 87 additions and 65 deletions

View File

@ -1,2 +1 @@
e7e17a2dd4197d9872129c0fbd06f02f tk8.5.5-src.tar.gz
7da2e00adddc7eed6080df904579d94e tk8.5.6-src.tar.gz

View File

@ -1,63 +0,0 @@
--- tk8.4.15/unix/tcl.m4.confi 2007-05-25 18:09:54.000000000 +0200
+++ tk8.4.15/unix/tcl.m4 2007-08-09 08:00:08.000000000 +0200
@@ -1124,7 +1124,7 @@
# AIX v<=4.1 has some different flags than 4.2+
if test "$system" = "AIX-4.1" -o "`uname -v`" -lt "4" ; then
- LIBOBJS="$LIBOBJS tclLoadAix.o"
+ AC_LIBOBJ([tclLoadAix])
DL_LIBS="-lld"
fi
@@ -1345,11 +1345,11 @@
#CFLAGS_OPTIMIZE="${CFLAGS_OPTIMIZE} -D__NO_STRING_INLINES -D__NO_MATH_INLINES"
if test "$have_dl" = yes; then
- SHLIB_LD='${CC} -shared ${CFLAGS} ${LDFLAGS}'
+ SHLIB_LD='${CC} ${CFLAGS} -shared ${LDFLAGS} -Wl,-soname,${@}'
DL_OBJS="tclLoadDl.o"
DL_LIBS="-ldl"
LDFLAGS="$LDFLAGS -Wl,--export-dynamic"
- CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}'
+ CC_SEARCH_FLAGS=''
LD_SEARCH_FLAGS=${CC_SEARCH_FLAGS}
else
AC_CHECK_HEADER(dld.h, [
@@ -1381,7 +1381,7 @@
# is kind of overkill but it works.
# Disable inlining only when one of the
# files in compat/*.c is being linked in.
- if test x"${LIBOBJS}" != x ; then
+ if test x"${LIB@&t@OBJS}" != x ; then
CFLAGS="$CFLAGS -fno-inline"
fi
@@ -1395,7 +1395,7 @@
SHLIB_SUFFIX=".so"
if test "$have_dl" = yes; then
- SHLIB_LD="${CC} -shared"
+ SHLIB_LD="${CC} ${CFLAGS} -shared"
DL_OBJS=""
DL_LIBS="-ldl"
LDFLAGS="$LDFLAGS -Wl,--export-dynamic"
@@ -2633,7 +2633,7 @@
}], tcl_cv_strtod_buggy=ok, tcl_cv_strtod_buggy=buggy,
tcl_cv_strtod_buggy=buggy)])
if test "$tcl_cv_strtod_buggy" = buggy; then
- LIBOBJS="$LIBOBJS fixstrtod.o"
+ AC_LIBOBJ([fixstrtod])
AC_DEFINE(strtod, fixstrtod)
fi
fi
--- tk8.4.15/unix/Makefile.in.confi 2007-05-25 18:09:53.000000000 +0200
+++ tk8.4.15/unix/Makefile.in 2007-07-31 11:26:15.000000000 +0200
@@ -639,7 +639,7 @@
fi
@echo "Installing $(LIB_FILE) to $(LIB_INSTALL_DIR)/"
@@INSTALL_LIB@
- @chmod 555 $(LIB_INSTALL_DIR)/$(LIB_FILE)
+ @chmod 755 $(LIB_INSTALL_DIR)/$(LIB_FILE)
@if test "$(TK_BUILD_EXP_FILE)" != ""; then \
echo "Installing $(TK_EXP_FILE) to $(LIB_INSTALL_DIR)/"; \
$(INSTALL_DATA) $(TK_BUILD_EXP_FILE) \

79
tk-seg_input.patch Normal file
View File

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

View File

@ -4,7 +4,7 @@
Summary: The graphical toolkit for the Tcl scripting language
Name: tk
Version: %{vers}
Release: 2%{?dist}
Release: 3%{?dist}
Epoch: 1
License: TCL
Group: Development/Languages
@ -23,6 +23,8 @@ Obsoletes: tile <= 0.8.2
Provides: tile = 0.8.2
Patch1: tk8.5-make.patch
Patch2: tk8.5-conf.patch
# this patch isn't needed since tk8.6b1
Patch3: tk-seg_input.patch
%description
When paired with the Tcl scripting language, Tk provides a fast and powerful
@ -46,6 +48,7 @@ The package contains the development files and man pages for tk.
%patch1 -p1 -b .make
%patch2 -p1 -b .conf
%patch3 -p1 -b .seg
%build
cd unix
@ -113,6 +116,10 @@ rm -rf %{buildroot}
%{_mandir}/man3/*
%changelog
* Mon Feb 23 2009 Marcela Mašláňová <mmaslano@redhat.com> - 1:8.5.6-3
- 480742 patch fixes the input method. The reason for this behaviour
is still unknown.
* Thu Feb 19 2009 Marcela Mašláňová <mmaslano@redhat.com> - 1:8.5.6-2
- 486132 add missing requires in tk-devel