From 78436968e933c94de3294c0e370bf3ce6fe8ed88 Mon Sep 17 00:00:00 2001 From: Tom Callaway Date: Wed, 12 Mar 2008 03:53:03 +0000 Subject: [PATCH] rework Tk-seg patch --- perl-Tk-seg.patch | 27 ++++++--------------------- perl-Tk.spec | 11 +++++++---- 2 files changed, 13 insertions(+), 25 deletions(-) diff --git a/perl-Tk-seg.patch b/perl-Tk-seg.patch index f21a848..26201fa 100644 --- a/perl-Tk-seg.patch +++ b/perl-Tk-seg.patch @@ -1,14 +1,13 @@ ---- pTk/mTk/generic/tkConfig.c.orig 2008-01-04 18:50:58.000000000 +0100 -+++ pTk/mTk/generic/tkConfig.c 2008-01-05 00:15:15.000000000 +0100 -@@ -1210,11 +1210,12 @@ +diff -up Tk-804.028/pTk/mTk/generic/tkConfig.c.seg Tk-804.028/pTk/mTk/generic/tkConfig.c +--- Tk-804.028/pTk/mTk/generic/tkConfig.c.seg 2008-03-11 23:29:39.000000000 -0400 ++++ Tk-804.028/pTk/mTk/generic/tkConfig.c 2008-03-11 23:28:09.000000000 -0400 +@@ -1210,11 +1210,11 @@ GetOptionFromObj(interp, objPtr, tablePt * First, check to see if the object already has the answer cached. */ - if (objPtr->typePtr == &tkOptionObjType) { -- if (objPtr->internalRep.twoPtrValue.ptr1 == (VOID *) tablePtr) { +/* if (objPtr->typePtr == &tkOptionObjType) { -+ if (objPtr->internalRep.twoPtrValue.ptr1 == (VOID *) tablePtr -+ && objPtr->internalRep.twoPtrValue.ptr2 != NULL) { + if (objPtr->internalRep.twoPtrValue.ptr1 == (VOID *) tablePtr) { return (Option *) objPtr->internalRep.twoPtrValue.ptr2; } - } @@ -16,7 +15,7 @@ /* * The answer isn't cached. -@@ -2277,9 +2278,19 @@ +@@ -2277,9 +2277,15 @@ Tk_GetOptionValue(interp, recordPtr, opt if (optionPtr == NULL) { return NULL; } @@ -24,10 +23,6 @@ + if (optionPtr->specPtr == NULL) { + return NULL; + } -+ -+ if (!optionPtr->specPtr->type) { -+ return NULL; -+ } + if (optionPtr->specPtr->type == TK_OPTION_SYNONYM) { optionPtr = optionPtr->extra.synonymPtr; @@ -36,13 +31,3 @@ if (optionPtr->specPtr->objOffset >= 0) { resultPtr = *((Tcl_Obj **) (recordPtr + optionPtr->specPtr->objOffset)); if (resultPtr == NULL) { ---- pTk/mTk/generic/tkFrame.c.orig 2008-01-04 22:52:12.000000000 +0100 -+++ pTk/mTk/generic/tkFrame.c 2008-01-04 23:51:20.000000000 +0100 -@@ -769,6 +769,7 @@ - result = TCL_ERROR; - goto done; - } -+ - objPtr = Tk_GetOptionValue(interp, (char *) framePtr, - framePtr->optionTable, objv[2], framePtr->tkwin); - if (objPtr == NULL) { diff --git a/perl-Tk.spec b/perl-Tk.spec index 8c7713f..e0b60a6 100644 --- a/perl-Tk.spec +++ b/perl-Tk.spec @@ -3,7 +3,7 @@ Name: perl-Tk Version: 804.028 -Release: 4%{?dist} +Release: 5%{?dist} Summary: Perl Graphical User Interface ToolKit Group: Development/Libraries @@ -56,7 +56,7 @@ chmod -x pod/Popup.pod Tixish/lib/Tk/balArrow.xbm # debian patch %patch1 -p1 # patch to fix #235666 ... seems like caching code is broken -%patch2 +%patch2 -p1 -b .seg %patch100 %build @@ -65,8 +65,8 @@ find . -name Makefile | xargs %{__perl} -pi -e 's/^\tLD_RUN_PATH=[^\s]+\s*/\t/' make %{?_smp_mflags} # disable because they need an x screen -#%check -#make test +%check +# make test %install rm -rf $RPM_BUILD_ROOT @@ -102,6 +102,9 @@ rm -rf $RPM_BUILD_ROOT %exclude %{perl_vendorarch}/Tk/reindex.pl %changelog +* Tue Mar 11 2008 Tom "spot" Callaway 804.028-5 +- rework patch2 to fix menu and test case failures (bz 431330, upstream 33880) + * Tue Feb 05 2008 Tom "spot" Callaway - 804.028-4 - rebuild for new perl