Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Get the toplevel.test tests passing again. |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | dgp-method-type |
Files: | files | file ages | folders |
SHA1: |
6b0ed12502449be4d5f4b7dbbc136683 |
User & Date: | dgp 2015-08-04 16:36:46.666 |
Context
2015-08-04
| ||
17:51 | Don't free buffer before we're done reading from it. check-in: a1eaab006b user: dgp tags: dgp-method-type | |
16:36 | Get the toplevel.test tests passing again. check-in: 6b0ed12502 user: dgp tags: dgp-method-type | |
2015-08-03
| ||
21:01 | Much more progress. check-in: ed739315fd user: dgp tags: dgp-method-type | |
Changes
Changes to generic/itkArchetype.c.
︙ | ︙ | |||
570 571 572 573 574 575 576 | (char *)callContextPtr->nsPtr); if (hPtr != NULL) { contextClass = (ItclClass *)Tcl_GetHashValue(hPtr); } #endif | < < | 570 571 572 573 574 575 576 577 578 579 580 581 582 583 | (char *)callContextPtr->nsPtr); if (hPtr != NULL) { contextClass = (ItclClass *)Tcl_GetHashValue(hPtr); } #endif /* * Integrate all public variables for the current class * context into the composite option list. */ Itcl_InitHierIter(&hier, contextClass); while ((iclsPtr=Itcl_AdvanceHierIter(&hier)) != NULL) { entry = Tcl_FirstHashEntry(&iclsPtr->variables, &place); |
︙ | ︙ | |||
680 681 682 683 684 685 686 | * Invoke the parts of uninitialized options to propagate * changes and update the widget. */ if (contextObj->iclsPtr == contextClass) { for (i=0; i < info->order.len; i++) { archOpt = (ArchOption*)Tcl_GetHashValue(info->order.list[i]); | < < < < < | 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 | * Invoke the parts of uninitialized options to propagate * changes and update the widget. */ if (contextObj->iclsPtr == contextClass) { for (i=0; i < info->order.len; i++) { archOpt = (ArchOption*)Tcl_GetHashValue(info->order.list[i]); if ((archOpt->flags & ITK_ARCHOPT_INIT) == 0) { val = Tcl_GetVar2(interp, "itk_option", archOpt->switchName, 0); if (!val) { Itk_ArchOptAccessError(interp, info, archOpt); return TCL_ERROR; } part = Itcl_FirstListElem(&archOpt->parts); while (part) { optPart = (ArchOptionPart*)Itcl_GetListValue(part); |
︙ | ︙ | |||
963 964 965 966 967 968 969 | } /* * If only the component name is specified, then return the * window name for this component. */ if (objc == 2) { | | < > | | | | | | | > > > > > | | | | < < | | 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 | } /* * If only the component name is specified, then return the * window name for this component. */ if (objc == 2) { /* * This is moderately ugly. We want to resolve the instance * variable "itk_component". We have the contextObj context, * but the only way to make that context control variable * resolution is to force the context namespace to be the class * namespace of the contextObj, while at the same time, not * pushing any frame, so that the same contextObj context is * still in force, when that custom resolver attached to that * namespace finally gets the chance to resolve. * * Instance variable resolution, even (especially?) in C code, * shouldn't need quite so many contortions. */ Tcl_Namespace *save = Tcl_GetCurrentNamespace(interp); Itcl_SetCallFrameNamespace(interp, contextObj->iclsPtr->nsPtr); val = Tcl_GetVar2(interp, "itk_component", token, 0); Itcl_SetCallFrameNamespace(interp, save); if (!val) { Tcl_ResetResult(interp); Tcl_AppendStringsToObj(Tcl_GetObjResult(interp), "internal error: cannot access itk_component(", token, ")", (char*)NULL); if (contextObj->accessCmd) { |
︙ | ︙ |
Changes to library/Archetype.itk.
︙ | ︙ | |||
70 71 72 73 74 75 76 | ::itcl::builtin::Archetype configure $option {*}$args } method config {{option ""} args} { eval configure $option $args } | | | < > > | 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 | ::itcl::builtin::Archetype configure $option {*}$args } method config {{option ""} args} { eval configure $option $args } # method component {{name ""} args} { # ::itcl::builtin::Archetype component $name {*}$args # } method component {{name ""} args} @Archetype-component # protected method itk_component {option args} { # ::itcl::builtin::Archetype itk_component $option {*}$args # } protected method itk_component {option args} @Archetype-itk_component # protected method itk_option {option args} { |
︙ | ︙ |