perl-Tk/perl-Tk-seg.patch
Andreas Bierfert 8e99dbd438 - add parts of debian patch
- add patch to fix #235666
2008-01-04 23:24:38 +00:00

49 lines
1.4 KiB
Diff

--- 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 @@
* 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) {
return (Option *) objPtr->internalRep.twoPtrValue.ptr2;
}
- }
+ }*/
/*
* The answer isn't cached.
@@ -2277,9 +2278,19 @@
if (optionPtr == NULL) {
return NULL;
}
+
+ if (optionPtr->specPtr == NULL) {
+ return NULL;
+ }
+
+ if (!optionPtr->specPtr->type) {
+ return NULL;
+ }
+
if (optionPtr->specPtr->type == TK_OPTION_SYNONYM) {
optionPtr = optionPtr->extra.synonymPtr;
}
+
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) {