From 5583a1d84c7b69381fc74fb9b5159ce18ddfb9de Mon Sep 17 00:00:00 2001 From: Dmitrij S. Kryzhevich Date: May 30 2014 04:42:12 +0000 Subject: Fix for tk8.6 --- diff --git a/blt.spec b/blt.spec index fc432c5..0f170c2 100644 --- a/blt.spec +++ b/blt.spec @@ -5,7 +5,7 @@ Summary: Widget extension to the Tcl/Tk scripting language Name: blt Version: 2.4 -Release: 40.z%{?dist} +Release: 41.z%{?dist} License: MIT Group: Development/Libraries @@ -21,6 +21,7 @@ Patch5: blt2.4z-noexactversion.patch Patch6: blt2.4z-zoomstack.patch Patch7: blt2.4z-tk8.5.6-patch Patch8: blt2.4z-tcl8.6.patch +Patch9: blt2.4z-tk8.6.patch BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX) @@ -74,6 +75,7 @@ This package provides the html documentation for BLT %patch6 -p0 %patch7 -p1 %patch8 -p1 +%patch9 -p1 # Fix bad interpreter path sed -i -e 's#/usr/local/bin/tclsh#/usr/bin/tclsh#' demos/scripts/page.tcl @@ -134,6 +136,9 @@ rm -rf $RPM_BUILD_ROOT %{_includedir}/%{name} %changelog +* Fri May 30 2014 Dmitrij S. Kryzhevich - 2.4-41.z +- Fix for tk-8.6. + * Fri May 30 2014 Dmitrij S. Kryzhevich - 2.4-40.z - Fix for tcl-8.6. diff --git a/blt2.4z-tk8.6.patch b/blt2.4z-tk8.6.patch new file mode 100644 index 0000000..b78c7e7 --- /dev/null +++ b/blt2.4z-tk8.6.patch @@ -0,0 +1,21 @@ +diff -urp blt2.4z/src/tkButton.c blt2.4z-tk8.6/src/tkButton.c +--- blt2.4z/src/tkButton.c 2002-09-23 14:19:01.000000000 +0700 ++++ blt2.4z-tk8.6/src/tkButton.c 2014-05-30 11:40:43.259449225 +0700 +@@ -526,8 +526,6 @@ static int InvokeButton _ANSI_ARGS_((But + static Blt_TileChangedProc TileChangedProc; + static Tcl_CmdProc ButtonCmd, LabelCmd, CheckbuttonCmd, RadiobuttonCmd; + +-EXTERN int TkCopyAndGlobalEval _ANSI_ARGS_((Tcl_Interp *interp, char *script)); +- + #if (TK_MAJOR_VERSION > 4) + EXTERN void TkComputeAnchor _ANSI_ARGS_((Tk_Anchor anchor, Tk_Window tkwin, + int padX, int padY, int innerWidth, int innerHeight, int *xPtr, +@@ -1890,7 +1888,7 @@ InvokeButton(butPtr) + } + } + if ((butPtr->type != TYPE_LABEL) && (butPtr->command != NULL)) { +- return TkCopyAndGlobalEval(butPtr->interp, butPtr->command); ++ return Tcl_EvalObjEx(butPtr->interp, butPtr->command, TCL_EVAL_GLOBAL); + } + return TCL_OK; + }