--- src/bltInit.c.orig 2008-05-29 00:05:10.000000000 +0200 +++ src/bltInit.c 2008-05-29 00:26:40.000000000 +0200 @@ -413,7 +413,7 @@ Blt_Init(interp) * Check that the versions of Tcl that have been loaded are * the same ones that BLT was compiled against. */ - if (Tcl_PkgRequire(interp, "Tcl", TCL_VERSION, EXACT) == NULL) { + if (Tcl_InitStubs(interp, TCL_VERSION, 1) == NULL) { return TCL_ERROR; } /* Set the "blt_version", "blt_patchLevel", and "blt_libPath" Tcl @@ -458,16 +458,23 @@ Blt_Init(interp) register Tcl_AppInitProc **p; Tcl_Namespace *nsPtr; + if (Tk_InitStubs(interp, TK_VERSION, 1) == NULL) { + return TCL_OK; + } + +#if 0 #if (TCL_VERSION_NUMBER >= _VERSION(8,1,0)) if (Tcl_PkgPresent(interp, "Tk", TK_VERSION, EXACT) == NULL) { return TCL_OK; - } + } #else if (Tcl_PkgRequire(interp, "Tk", TK_VERSION, EXACT) == NULL) { Tcl_ResetResult(interp); return TCL_OK; } #endif +#endif + nsPtr = Tcl_CreateNamespace(interp, "blt::tile", NULL, (Tcl_NamespaceDeleteProc *) NULL); if (nsPtr == NULL) { @@ -507,7 +514,7 @@ Blt_Init(interp) * Check that the versions of Tcl that have been loaded are * the same ones that BLT was compiled against. */ - if (Tcl_PkgRequire(interp, "Tcl", TCL_VERSION, EXACT) == NULL) { + if (Tcl_InitStubs(interp, TCL_VERSION, EXACT) == NULL) { return TCL_ERROR; } /* Set the "blt_version", "blt_patchLevel", and "blt_libPath" Tcl @@ -543,6 +550,11 @@ Blt_Init(interp) if (!tkLoaded) { register Tcl_AppInitProc **p; + if (Tk_InitStubs(interp, TK_VERSION, 1) == NULL) { + return TCL_OK; + } + +#if 0 #if (TCL_VERSION_NUMBER >= _VERSION(8,1,0)) if (Tcl_PkgPresent(interp, "Tk", TK_VERSION, EXACT) == NULL) { return TCL_OK; @@ -553,6 +565,8 @@ Blt_Init(interp) return TCL_OK; } #endif +#endif + /* Initialize the BLT commands that use Tk too. */ for (p = tkCmds; *p != NULL; p++) { if ((**p) (interp) != TCL_OK) {