2002-02-25 Jeff Hobbs * generic/tkText.c (ConfigureText): reenable the blinking cursor on state change where necessary. [Bug #503772] * tests/listbox.test: * generic/tkListbox.c: corrected error handling when setting to an invalid listvar value. [Bug #503613] 2002-02-18 Don Porter * changes: First draft of updates to changes for 8.3.5. 2002-02-01 Jeff Hobbs * generic/tkCmds.c (Tk_TkObjCmd): don't use 'bool' as an arg as it conflicts with the C99 spec. [Bug #511956] (ingham) 2002-01-31 Todd Helfter * generic/tkMenu.c (ConfigureMenuCloneEntries) * tests/menu.test (menu3.68) Correct and test for logic error when cloning menus. [Bug 508988] 2002-01-04 Don Porter * generic/tkBind.c (TkBindFree): * generic/tkGrid.c (Tk_GridCmd,ResolveConstraints,CheckSlotData, DestroyGrid): * generic/tkSelect.c (Tk_DeleteSelHandler,TkSelDeadWindow): Replaced Tcl_Free calls with ckfree so that memory debugging is fully supported. 2001-12-18 Don Porter * tests/event.test (event-click-drag-1.2): Corrected test that failed on Solaris/CDE due to text scrolling. [Bug 413735] 2001-10-19 Jeff Hobbs ************************ **** 8.3.4 TAGGED **** ************************ * unix/configure: regend * unix/tcl.m4: added -lc to LIBS on AIX and corrected location of ldAix. 2001-10-19 Daniel Steffen * generic/tkConsole.c: * library/console.tcl: * mac/tkMacInit.c: * mac/tkMacResource.r: corrected how mac deals with tcl library files present both in resources and in $tk_library directory. 2001-10-19 Jeff Hobbs * library/tk.tcl: added tk::GetSelection from 8.4 for console. * library/console.tcl: fixed a few errors where namespace command names were used that were not back-ported from 8.4. 2001-10-18 Jeff Hobbs * unix/configure: regend * unix/tcl.m4 (SC_ENABLE_GCC): enabled better recognition of gcc. * tests/defs.tcl: removed threaded build warning under X. * library/console.tcl (tkConsoleOutput): fixed undefined widget argument. 2001-10-17 Daniel Steffen * mac/tkMacProjects.sea.hqx: updated projects with new version numbers and resource reorganization; included XML versions of the projects for CW Pro5 or Pro7 users. 2001-10-17 Daniel Steffen Backport of mac specific changes added to 8.4 since 8.3.3: * generic/tkConsole.c: crashing bug fix when printing to console at program exit after the console has already been closed. Now setting gStdoutInterp=NULL in ConsoleClose(). * mac/tkMacInit.c: correct use of Tcl_JoinPath in tk_library initialization * mac/tkMacMenu.c: special MDEF_PROC_OFFSET only needed for exactly one specific version of the MWERKS 68k compiler . * mac/tkMacApplication.r: * mac/tkMacLibrary.r: * mac/tkMacResource.r: updated copyrights/dates in version strings; reorganized resources among these files to avoid multiple copies in applications and shared libraries, the script libraries/Xcursors etc are now no longer duplicated in Wish but are only included in the resources of Tk.shlb. 2001-10-17 Jeff Hobbs * unix/tkUnixXId.c (TkpScanWindowId): added specific char* cast to prevent warning. 'string' is not modified in any case. * unix/configure: regened * unix/configure.in: added preset CFLAGS check from HEAD to prevent --enable-gcc from adding "-g -O2" * win/configure: regened from dgp's changes 2001-10-16 Don Porter * unix/tcl.m4: * win/tcl.m4: Copied updates from Tcl for 8.3.4 release. 2001-10-16 Jeff Hobbs * library/xmfbox.tcl: fixed filtering in motif file dialog. [Patch #469670] (nelson) * generic/tkWindow.c (OpenIM): Added simple XIM patch to enable basic XIM input on Unix. [Patch #412727] (fabian) 2001-10-15 Jeff Hobbs * unix/configure: * unix/configure.in: * win/configure: * win/configure.in: * win/tkConfig.sh.in: reworked to be a little cleaner in comparison to each other, and to AC_SUBST even empty vars for win/tkConfig.sh 2001-10-12 Jeff Hobbs * win/tkWinDialog.c: Win64 pointer fixes * win/tkWinWm.c (WinSetIcon): closed channels in the error case. * generic/tkBind.c (NameToWindow): * generic/tkCmds.c (Tk_WinfoObjCmd): * generic/tkInt.decls (TkpScanWindowId): * generic/tkIntPlatDecls.h: * generic/tkStubInit.c: * mac/tkMacPort.h (TkpPrintWindowId,TkpScanWindowId): * unix/tkUnixPort.h (TkpPrintWindowId,TkpScanWindowId): * unix/tkUnixXId.c (TkpScanWindowId): * win/tkWinWindow.c (TkpScanWindowId): Corrected definition of TkpScanWindowId to handle situation where types Window and int do not have the same number of bits. CONST-ified too. * xlib/X11/X.h: made XID __int64 type for Win64. * win/tkWinX.c (TkGetServerInfo): added recognition of Win64. * tests/scrollbar.test (scrollbar-6.27): marked knownBug because it is skewed by bad dimensions returned by Windows. * tests/textDisp.test (textDisp-4.12): corrected test to work properly on Windows. 2001-10-12 Donal K. Fellows * library/demos/rolodex: Minor updates. * library/demos/square: A bit of tidying up... * library/demos/tcolor: Rewrote to remove uses of [case], brace-up expressions, and not rely on the lines of rgb.txt being well- formatted lists! * library/demos/timer: Uses [clock clicks -milliseconds] now which does not drift rapidly over time; the old version lost more than 5 seconds over half a minute! Also improved the spacing on the label and disabled those buttons that are not usefully clickable. * library/demos/browse: No longer require "browse" to be executable and on the path, and use [lsort [glob]] instead of [exec ls] to read the directory contents. Also add slashes to the ends of directory entries so people can see what will happen when the entry is double-clicked. * library/demos/hello, library/demos/ixset: Added comments to make Emacs think these are Tcl files. * library/demos/rmt: Reworked to use 8.*-style menus and to behave correctly when the window is enlarged by the user. 2001-10-09 Jeff Hobbs * library/console.tcl: added more smarts extracted from tkcon to the default console. 2001-10-04 Jeff Hobbs * library/bgerror.tcl: back-ported bgerror dialog from 8.4 (that used Windows-esque "Details" button). Replaced ::tk::unsupported::MacWindowStyle by unsupported1 (das) 2001-10-03 Jeff Hobbs * README: * generic/tk.h: * mac/README: * unix/Makefile.in: * unix/README: * unix/aclocal.m4: * unix/configure: * unix/configure.in: * unix/tcl.m4: * unix/tk.spec: * win/Makefile.in: * win/makefile.vc: * win/README: * win/configure: * win/configure.in: * win/tcl.m4: updated patchlevel to 8.3.4. updated READMEs to point to www.tcl-tk.net where applicable. added proper Win64 support to makefiles. 2001-09-20 Jeff Hobbs * unix/configure: regen'ed * unix/aclocal.m4: added --enable-64bit support for HP-11 with the 64-bit kernel. 2001-09-15 Don Porter * doc/getOpenFile.n: Removed docs for the -multiple and -message options that are not provided in Tk 8.3. They are only available in Tk 8.4. [Bug 461760] 2001-09-14 Andreas Kupries * generic/tkImgGIF.c: * generic/tkImgPPM.c: * generic/tkImgPhoto.c: * generic/tkMenu.c: Applied patch [461578], provided by Vincent Darley. This fixes several memory leaks in the image code. They happen if there are errors during the initialization of the channel the image is supposed to be read from. 2001-08-28 Jeff Hobbs * win/tkWinDialog.c (ChooseDirectoryHookProc): work-around for MS bug that caused crashing in tk_chooseDirectory on Win95. [Bug #224936] (baker) * unix/tkUnixWm.c (TkWmRestackToplevel): reworked how ConfigureNotify requests were handled in relation to the parent to avoid the problem with potential 'raise' delays on some wms. [Bug #220260] (baker) wms that were affected should notice the difference in tests unixWm-51.* not failing that failed before. 2001-08-27 Jeff Hobbs * generic/tkWindow.c (Initialize): added call to Tcl_SetMainLoop. This only has effect when tclsh is run (not wish), and then Tk is loaded in interactively. 2001-08-24 Jeff Hobbs * tests/unixFont.test (unixFont-2.[234]): fixed to be more sensitive on systems that have more installed fonts. * generic/tkWindow.c (Tk_DestroyWindow): changed to use Tcl_EventuallyFree instead of ckfree so that widgets that have references to a tkwin can use them. * generic/tkCanvArc.c: * generic/tkCanvBmap.c: * generic/tkCanvLine.c: * generic/tkCanvPoly.c: * generic/tkCanvText.c: * generic/tkCanvWind.c: * generic/tkRectOval.c: corrected argument handling in Create functions that could lead to ABRs or FMRs and corrected names of argc/argv to objc/objv. * generic/tkImgGIF.c (Mgetc): corrected screwy use of ternary operator and possible FMR. * tests/listbox.test: * generic/tkListbox.c: made use of Tcl_Preserve/Tcl_Release to prevent FMR errors in Display functions. * generic/tkEntry.c: corrected missing Tcl_Release that caused font not freed complaints when trying valid cleanup calls. * generic/tkEntry.c (DestroyEntry): used Tcl_EventuallyFree instead of ckfree for entryPtr to prevent FMRs. [Bug #413904] * unix/tkUnixScale.c (TkpDisplayScale): corrected FMR when scale was deleted while calling its command. 2001-08-24 Don Porter * tests/dialog.test: New file testing [tk_dialog]. 2001-08-23 Jeff Hobbs * unix/configure: * unix/aclocal.m4: added QNX-6 build support. [Bug #219410] (loverso) 2001-08-06 Jeff Hobbs * unix/configure: regenerated * unix/aclocal.m4: added GNU (HURD) configuration target. (brinkmann) [Patch: #442974] 2001-08-03 Jeff Hobbs * win/configure: regenerated * win/tcl.m4: fixed DLLSUFFIX definition to always be ${DBGX}.dll. This is necessary for TEA compliant builds that build shared against a static-built Tk. * win/Makefile.in ($(WISH)): added $(TK_STUB_LIB_FILE) to build target, otherwise it wouldn't get generated in a static build. 2001-05-21 Jeff Hobbs * unix/aclocal.m4: sync'ed up IRIX config with tcl changes. [Bug #424748] 2001-05-04 Daniel Steffen ** Mac 8.3.3 binary release ** detailed change log for changes to mac code for 8.3.3 ** (expands on log entries below marked 2001-04-04 Jeff Hobbs) * mac/tkMacShLib.exp: removed file * mac/MWTkBuildLibHeader.h: * mac/MW_TkBuildLibHeader.pch: * mac/MW_TkHeaderCommon.h: * mac/MW_TkOldImgStaticHeader.h: * mac/MW_TkStaticHeader.h: * mac/MW_TkStaticHeader.pch: new precompiled header files * mac/MW_TkHeader.pch: * mac/MW_TkOldImgHeader.h: * mac/MW_TkTestHeader.pch: revised precompiled header handling: now include a common header file 'MW_TkHeaderCommon.h' from all .pch files, the .pch files themselves now only setup #defines (e.g. BUILD_tk, STATIC_BUILD, TCL_DEBUG, TCL_THREADS) like in makefiles on other platforms. * mac/tkMac.h: * mac/tkMacPort.h: * mac/tkMacInt.h: use of BUILD_tk and TCL_STORAGE_CLASS like on other platforms, standardize #include'd files to what's done on other platforms, removed use of #pragma export, changed extern to EXTERN where appropriate to enable DLL export via the TCL_STORAGE_CLASS mechanism. * mac/tkMacAppearanceStubs.c: removed use of #pragma export * mac/widget.r: new resource file for 'Widget Demos' * mac/tkMacProjects.sea.hqx: updated mac build project files: - build support for CodeWarrior Pro6, UnivIntf 3.4 & shared runtime libraries (see Tcl ChangeLog for details). - changed weak linking so that CFM68k binaries now work on all OS versions from the free 7.5.5 onwards, with or without AppearanceMgr and/or NavigationMgr installed. - added target to automatically build 'Widget Demos' * generic/tkInt.decls: * generic/tkIntDecls.h: * generic/tkIntPlatDecls.h: * generic/tkStubInit.c: * mac/tkMacInt.h: MAC_TCL tk stub support was badly broken due to multiply defined (mac specific) names in tk.decls and tkInt.decls, removed the duplicates from the internal unsupported interfaces "interface tkInt" and "interface tkIntPlat"; moved declaration of TkpIsWindowFloating from tkMacInt.h to tkInt.decls: interface tkIntPlat. - these changes to the stub tables might require you to recompile your Tk extensions if they turn out to reference one of the removed routines in the wrong table (should be unlikely). * generic/tkMain.c: MAC_TCL: workaround for broken/non-standard isatty on MW Pro6, #include instead of defining isatty * generic/tkPointer.c: MAC_TCL: #include tkMacInt.h * generic/tkStubLib.c: MAC_TCL: removed obsolete special casing of mac headers, standardize #include'd files to what's done on other platforms * mac/tclets.r: * mac/tkMacWindowMgr.c: * mac/tkMacScrlbr.c: * mac/tkMacMenu.c: * mac/tkMacMenus.c: * mac/tkMacFont.c: * mac/tkMacDialog.c: * mac/tkMacButton.c: renamed obsolete apple API names to modern equivalents; UH3.4 support: added #include ; fixed munged non-ASCII chars in sources due to bungled latin1<->mac roman encoding in CVS repository. * mac/tkMacDialog.c: added support for -filetypes option (fix for bug tcl #221636); added update event handling for background windows while in a NavigationMgr dialog; fixed nasty bug when calling CustomGetFile (missing addr operator) (fix for bug tk #220911 & tcl #219367); renamed routines conflicting with standard MoreFiles headers (see Tcl ChangeLog for details) * mac/tkMacApplication.r: * mac/tkMacLibrary.r: * mac/tkMacResource.r: fixed obsolete copyrights/dates in version strings, updated version strings to standard usage, added support for '(Support Libraries)' subfolder for shared runtime libraries in unmerged binaries, commented out demo setting of "Tcl Environment Variables" * mac/tkMacMenu.c: * mac/tkMacMDEF.r: changes to support MW Pro 6 68k compiler producing different offset to start of MDEF; fix to static 68k presence testing when calling the custom MDEF * mac/tkMacWm.c.c: * mac/tkMacWindowMgr.c: added/fixed AppearanceMgr checks; override AppearanceMgr version detection on static 68k to ensure static 68k Wish runs on PPCs with recent AppearanceMgr 2001-04-05 Jeff Hobbs * tests/canvas.test: marked canvas-13.1 knownBug * generic/tkCanvas.c (CanvasEventProc): reverted 2001-04-02 canvas changes back because it lead to cached fonts not being freed. The changes were correct for the bug, but the problem is that the needed Tcl_EventuallyFree will sometimes not get called until the whole app is being destroyed and thus the font panic is invoked. * win/configure: * win/tcl.m4: added -link50compat * win/tkWinX.c (GenerateXEvent): set xkey.numbytes = 0 for MouseWheel event processing. * unix/tkUnixFont.c: Corrected support for iso10646 (X11 Unicode) fonts on Unix. This adds a ucs-2be (UCS-2 Big Endian) encoding in Tk on Unix that is used for those fonts (X11 requires big-endianness). (welch) [Patch #406411; Bug #220890 #220899] Added alias for jisx0201* fonts to jis0201 encoding. [Bug #414033] * mac/tkMacProjects.sea.hqx: this was accidently swapped with the tcl project files. * tests/listbox.test: labelled listbox-27.1 knownBug as it isn't really fixed. * generic/tkListbox.c: reverted listbox back to 8.3.2 version because the fixes weren't 100% correct for the problem. 2001-04-04 Jeff Hobbs ** Start changes for improved mac build (steffen) ** * mac/tkMacShLib.exp: removed file * generic/tkInt.decls: removed superfluous declarations. * generic/tkIntDecls.h: * generic/tkIntPlatDecls.h: * generic/tkMain.c: include unistd.h for mac. * generic/tkPointer.c: include tkMacInt.h for mac. * generic/tkStubInit.c: * generic/tkStubLib.c: * mac/MW_TkHeader.pch: * mac/MW_TkOldImgHeader.h: * mac/MW_TkTestHeader.pch: * mac/tclets.r: * mac/tkMac.h: * mac/tkMacAppearanceStubs.c: * mac/tkMacApplication.r: * mac/tkMacButton.c: * mac/tkMacDialog.c: support for -filetypes * mac/tkMacFont.c: * mac/tkMacInt.h: * mac/tkMacLibrary.r: * mac/tkMacMDEF.r: * mac/tkMacMenu.c: * mac/tkMacMenus.c: * mac/tkMacPort.h: * mac/tkMacResource.r: * mac/tkMacScrlbr.c: improved scrollbar code * mac/tkMacWindowMgr.c: added control of floating windows * mac/tkMacWm.c: improved use of precompiled headers, better support for Appearance Manager, change copyrights, resource files, use DLLIMPORT/DLLEXPORT, comment corrections. * mac/MWTkBuildLibHeader.h: * mac/MW_TkBuildLibHeader.pch: * mac/MW_TkHeaderCommon.h: * mac/MW_TkOldImgStaticHeader.h: * mac/MW_TkStaticHeader.h: * mac/MW_TkStaticHeader.pch: new files * mac/tkMacProjects.sea.hqx: new mac build project files. ** End changes for improved mac build (steffen) ** * win/tkWinMenu.c (TkWinHandleMenuEvent): corrected reseting of service mode to only occur when it was set. [Bug #220948] * README: * mac/README: updated patchlevel to 8.3.3 and corrected links and notes. * generic/tk.h: * unix/configure.in (TK_PATCH_LEVEL): * unix/configure: * unix/tk.spec: * win/configure.in (TK_PATCH_LEVEL): * win/configure: updated patchlevel to 8.3.3, configure scripts are now part of CVS for 8.3.x *************************************************************** ** START OF ASYNC BACKPORT LOG (8.4aCVS 2001-04-03 -> 8.3.3) ** *************************************************************** * doc/CanvPsY.3: * doc/ConfigWidg.3: * doc/CrtImgType.3: * doc/CrtItemType.3: * doc/FontId.3: * doc/GetFont.3: * doc/GetHWND.3: * doc/HWNDToWindow.3: * doc/MaintGeom.3: * doc/Tk_Init.3: * doc/bind.n: * doc/canvas.n: * doc/event.n: * doc/font.n: * doc/frame.n: * doc/getOpenFile.n: * doc/grid.n: * doc/image.n: * doc/loadTk.n: * doc/message.n: * doc/messageBox.n: * doc/options.n: * doc/photo.n: * doc/scale.n: * doc/scrollbar.n: * doc/text.n: * doc/tk.n: * doc/toplevel.n: * doc/wm.n: doc cleanup and clarifications 2001-04-03 Jeff Hobbs * tests/winClipboard.test: improved results for understanding when tests fail. * tests/winDialog.test: string totitle'd some results that expected [pwd] to return a capital drive letter. * tests/cursor.test: changed tests to use 'heart' cursor because 'arrow' on windows has a pre-skewed use count. 2001-04-02 Jeff Hobbs * win/configure: * win/tcl.m4 (SHLIB_LD): added -incremental:no. [Bug #219381] * generic/tkMenu.c (TkInvokeMenu): checked for menu deletion before calling associated menu entry command. [Bug #220821] * generic/tkImgPhoto.c (ImgPhotoCmd): corrected the src and dest values for $imageName put when -format and -to are used. [Bug #232741] * tests/listbox.test: added test listbox-27.1, delete during scrollbar update * generic/tkListbox.c (DestroyListbox, ListboxEventProc): corrected listbox to make proper use of Tcl_EventuallyFree and protect against unusual listbox deletion. * tests/entry.test: added tests entry-20.*, delete during widget activity * generic/tkEntry.c (DestroyEntry, EntryEventProc): fixed the entry widget to survive deletion while processing scrollbar updates and validation. * tests/canvas.test: test of canvas delete during event * generic/tkCanvas.c (DestroyCanvas, CanvasEventProc): fixed the canvas to survive deletion during event processing. [Bug #228024] 2001-03-30 Jeff Hobbs * tests/safe.test: added note about correcting failures in safe.test. * win/tcl.m4: added imm32.lib to LIBS_GUI for Tk IME support. * win/tkWinInt.h: * win/tkWinKey.c: * win/tkWinX.c: added support for changing IME on the fly in Windows (2000). (lam) [Patch #402993] * tests/bind.test (bind-22.18): * generic/tkBind.c (NameToWindow): handled the error case where a valid-looking but invalid identifier could be passed in certain event generate options causing a crash. [Bug #411307] * win/tkWinWm.c (UpdateWrapper): ensured that the passed in winPtr had an existent window to operate on. [Bug #409172] * win/Makefile.in (install-*): improved install-* targets to use their base build dependency. 2001-03-29 Jeff Hobbs * library/tk.tcl: put a catch around adding to the <> virtual event as it doesn't seem to work on all HP systems. [Bug #411669] 2001-03-29 Mo DeJong * library/entry.tcl (tkEntryMouseSelect): * library/text.tcl (tkTextSelectTo): When the mouse is dragged with the button down, move the insertion cursor to the current mouse position. * tests/event.test: Add a series of tests for event generation. Add tests for selection, check the position of the insertion cursor. 2001-03-28 Jeff Hobbs * unix/configure: * unix/tcl.m4: corrected IRIX-5.x config to not use -n32. (english) [Patch 403626] 2001-03-28 Don Porter * tests/focus.test (focus-6.1): * tests/macEmbed.test (unixEmbed-5.1): * tests/macMenu.test (macMenu-21.3): * tests/menu.test (menu-27.1): * tests/unixEmbed.test (unixEmbed-8.2): * tests/unixWm.test (unixWm-50.4): Replaced all [load {} tk] in Tk test suite with [load {} Tk]. [Bug 220940, Patch 411952] 2001-01-02 Andreas Kupries * Everything below belongs together and implements TIP #8 (SF patch #102833). * win/tkWinWm.c (line 56f): Added icon structures. * win/tkWinWm.c (struct WmInfo, line 242): Added reference to optional icon for titlebar. * win/tkWinWm.c (struct ThreadSpecificData, line 335): Added reference to optional default icon for toplevel windows. * win/tkWinWm.c (line 387 ... 1169): All the new functions required to deal with icon specifications, 'InitWm' changed. * win/tkWinWm.c (TkWmNewWindow, UpdateWrapper, TkWmDeadWindow, Tk_WmCmd): Added initialization and handling of the new fields. * doc/wm.n: Documentation updated to explain the newly available functionality. 2000-11-02 Jeff Hobbs * win/tkWinButton.c: * win/tkWinDialog.c: * win/tkWinScrlbr.c: * win/tkWinWm.c: fixed up code for Win64 support. This mostly remains in _WIN64 #ifdef's, until updated compilers are standard. * win/tcl.m4: * win/makefile.vc: updated for Win64 compile support 2000-11-01 Jeff Hobbs * win/tkWinDialog.c (GetFileNameW, GetFileNameA, Tk_ChooseDirectoryObjCmd): created work-around for change in NT5.0/98 that caused no initialdir setting to open the browser up in the user's documents dir. * tests/color.test: marked color-2.6 nonPortable as we can't reliably assume what 'red' maps to. 2000-11-01 Eric Melski * win/tkWinDialog.c: Added branch for 0 return from CommDlgExtendedError() switches; this was formerly treated as an error, but it actually is not, since it just means the user hit cancel or closed the dialog. (GetFileNameW): Added better smarts such that -multiple is not considered a valid option for tk_getSaveFile. Removed CommDlgExtendedError() checks for color and choosedir dialogs, and removed all except the explicit invalid filename checks for the file dialogs. 2000-10-30 David Gravereaux * win/configure.in: * win/Makefile.in: * win/makefile.vc: * win/rc/tk.rc: * win/rc/tk_base.rc (new): * win/rc/wish.rc: Added logic to derive filenames better in the resource scripts based on compile options along with better support for building a static wish shell with cursor resources. 2000-10-27 Jeff Hobbs * unix/tcl.m4: added support for AIX-5. * tests/tk.test: * doc/tk.n: updated to reflect default on status of useinputmethods. * library/tk.tcl: tk useinputmethods is set to 1 by default. This enables Kanji and dead-char input by default. Intro'd in 1999-12-16 with default off to avoid some problems with older X servers that would slow down widget creation over time. * win/Makefile.in (test, winhelp, tktest): corrected the TCL_LIBRARY path specification. 2000-10-18 Eric Melski * win/tkWinDraw.c (RenderObject): Applied patch from [Bug: 6368], which corrects rendering of 1-pixel wide stippled lines on Windows. * generic/tkCanvLine.c (DisplayLine): Applied patch from [Bug: 6368], corrects bugs relating to use of active- and disabledwidth values for displaying lines (disabledwidth was never used, and activewidth/disablewidths would only possibly be used when greater than default width, rather than when simply not equal to default width). * win/tkWinDialog.c (GetFileNameW, GetFileNameA, Tk_ChooseColorObjCmd, Tk_ChooseDirectoryObjCmd): Added error checking for the return value from the common dialog functions, so that the commands will not silently fail if the common dialog returns an error. [Bug: 6369]. 2000-10-10 Eric Melski * generic/tkConfig.c (Tk_InitOptions): Added Tcl_IncrRefCount/Tcl_DecrRefCount calls on valuePtr, to prevent memory leaks when the value object comes from the option database. [Bug: 6275]. 2000-10-06 Jeff Hobbs * win/Makefile.in (cat32.${OBJEXT}): add win/ subdirectory to cat32 target to correctly find the source file. 2000-10-04 Eric Melski * generic/tkGeometry.c (Tk_MaintainGeometry): Added a check for the case in which the slave window is a direct descendant of the master window. In this case, we need not set up the additional infrastructure normally provide by Tk_MaintainGeometry, because we can rely on the parent/child relationship to handle it for us implicitly. In this case, Tk_MaintainGeometry just calls directly to Tk_MoveResizeWindow. This allows geometry managers to simply always use Tk_MaintainGeometry to maintain geometry for slaves, and avoid doing the direct descendant check themselves. (Tk_UnmaintainGeometry): Added a matching check for the direct descendant case; in this case, Tk_UnmaintainGeometry simply returns immediately. 2000-09-29 D. Richard Hipp * generic/tkBitmap.c: Changes to prevent a BadMatch error from the Xserver when the same bitmap is used on two or more screens of the same display. * tests/menu.test: Print a warning if the TK_ALT_DISPLAY environment variable is not configured so as to test for the bug fix above. * library/tk.tcl (::tk::SetGrabFocus): "Catch" the grab in case another application already holds the grab and the "grab" command fails. 2000-09-29 Jeff Hobbs * win/Makefile.in: commented use of TESTFLAGS * unix/Makefile.in: added TESTFLAGS to test and testlang targets to conform with Windows makefile and TEA style. 2000-09-06 Eric Melski * doc/HWNDToWindow.3: * doc/GetHWND.3: Changed synopsis to indicate the tkPlatDecls.h should be included, not tk.h. * generic/tkPlatDecls.h: Removed #include for Windows, a better solution for now is to update the docs and have extension authors #include . * generic/tk.h: Removed '#include "tkPlatDecls.h"', as the incorrect inclusion order between windows.h/tkPlatDecls.h causes build conflicts on Windows. * generic/tkPlatDecls.h: Added #include for Windows, so that HWND, etc., are defined properly. 2000-09-01 Eric Melski * win/makefile.vc (install-libraries): * win/Makefile.in (install-libraries): * unix/Makefile.in (install-libraries): Added tkPlatDecls.h to list of header files to install. * generic/tk.h: Added #include "tkPlatDecls.h", which declares the platform specific component of the public Tk stubs API's. 2000-08-29 Eric Melski * win/tkWinMenu.c (DrawWindowsSystemBitmap): Use scratchDC for determining the source's logical coordinates. Patch from [Bug: 6134 (Markus Oberhumer)]. * win/tkWinMenu.c (SetDefaults): Compute the indicatorDimensions[] under Windows NT/2000 in the same way as under Windows 95/98. Patch from [Bug: 6134 (Markus Oberhumer)]. * win/tkWinFont.c (GetScreenFont): Added a memset() to pacify memory checkers. Patch from [Bug: 6134 (Markus Oberhumer)]. 2000-08-18 Eric Melski * generic/tkImgPhoto.c (ImgPhotoGet): Removed redundant call to DitherInstance; this call was formerly being made from ImgPhotoGet->ImgPhotoConfigureInstance->DitherInstance, and ImgPhotoGet->DitherInstance. The second call was removed. *************************************************************** ** END OF ASYNC BACKPORT LOG (8.4aCVS 2001-04-03 -> 8.3.3) ** *************************************************************** 2000-08-08 Jeff Hobbs 8.3.2 RELEASE finalized * changes: updated for release notes version of ChangeLog 2000-08-05 Jeff Hobbs * win/Makefile.in (cat32.${OBJEXT}): corrected where to find cat.c given the change in default def'n of TCL_SRC_DIR. * win/tcl.m4: changed references from 8.4 to 8.3 (leftover from a backported file). * library/safetk.tcl: rationalized the setting of tk_library when initialized Tk in a safe interpreter. 2000-08-04 Jeff Hobbs * BACKPORTED FROM 8.4 (HEAD) BRANCH: * tests/button.test: * generic/tkButton.c: Added -activeforeground, -activebackground for labels, for the -state option. * doc/label.n: Added -disabledforeground to list of options [Bug: 6053]. * tests/focus.test (focusSetupAlt): removed wm withdraw from proc as it would cause a hang for tkwait visibility * tests/menu.test: * generic/tk3d.c: * generic/tkColor.c: * generic/tkCursor.c: corrected handling of 3DBorder, Cursor and Color objects on multiple screens. [Bug: 5454] * generic/tkCursor.c: Added initialization for nextPtr field of TkCursor, patch from Nijtmans/Howlett. * canvas.test: added test for 5783. * generic/tkCanvPoly.c (DisplayPolygon): added checks for the polygon fillGC not being empty to prevent segfault. [Bug: 5783] * generic/tkImgGIF.c: Applied patch from Jan Nijtmans to fix a problem with the GIF writing code [Bug: 5823]. * generic/tkImgGIF.c: Changed defines for GIF87a/GIF89a to be static char arrays with integer initialization, to address EBCIDIC vs. ASCII encoding issues and to handle compilers that don't deal with "\xAB" syntax for specifying hex values in strings. * generic/tkMenu.c (DeleteMenuCloneEntries): Applied fix from [Bug: 5275], which corrected a segfault-causing indexing problem when deleting entries from torn-off menus. * generic/tkPlace.c (Tk_PlaceCmd): reworked place master/slave table init'n to prevent seg fault when using place on multiple displays. * tests/text.test: Added tests for -regexp -nocase searches with backslash character classes. * tests/text.test: Added tests for searching when text is elided. * generic/tkText.c (TextSearchCmd): Text search did not work properly when -regexp and -nocase were used, in combination with backslash character classes represented by capital letters (ie, \W, \M); altered implementation of -regexp -nocase searches to use new regexp interfaces to fix this problem. [Bug: 5988]. * generic/tkText.c (TextSearchCmd): Text search was not returning the correct index when the search covered (but did not search) elided characters; corrected this by adjusting the match index by the number of elided characters preceeding the start of the match, just as is done with embedded windows, etc. [Bug: 5470]. * generic/tkText.c (TextSearchCmd): Added a test for a NULL segment pointer when doing backwards searches for "" on an empty text widget. [Bug: 6007]. * library/focus.tcl: fixed calling of takeFocus proc [Bug: 5372] * win/tkWinMenu.c (ReconfigureWindowsMenu): Added MF_GRAYED bit for disabled menu entries, to ensure that those which are drawn by the system are shown grayed (such as entries on menubars) [Bug: 4372]. * win/tkWinMenu.c (ReconfigureWindowsMenu): Added code to add the MF_SEPARATOR bit for SEPARATOR_ENTRY menu items. This causes separator entries on the system menu to be drawn correctly [Bug: 5451]. * win/tkWinMenu.c (GetMenuSeparatorGeometry): Tweaked height requested for separator bars to be (linespace - (2*descent)) instead of just (linespace); this makes the separator occupy a more correct amount of vertical space. [Bug: 5303]. 2000-07-20 Brent Welch * win/tkConfig.sh.in: Made corresponding changes to match gcc for windows mods to the rest of the files. 2000-07-28 Mo DeJong * win/Makefile.in: * win/aclocal.m4: * win/configure.in: * win/tcl.m4: Back port of gcc for windows build system from 8.4. 2000-07-26 Jeff Hobbs * unix/configure.in (TK_PATCH_LEVEL): updated to 8.3.2 * unix/tk.spec: * win/configure.in: * generic/tk.h: * README: 2000-07-22 Brent Welch * win/Makefile.in, win/configure.in, win/rc/tk.rc, win/rc/tk_base.rc Trying to generalize .rc files so they work with both DLL's and static shell builds. 2000-07-10 Brent Welch * win/{Makefile.in,configure.in,tkConfig.sh.in}: Cleanup of defines in tkConfig.sh 2000-05-15 Jeff Hobbs * win/tkWinWm.c: changed wm deiconify from using idle callback to calling restack and focus code immediately. 2000-04-26 Jeff Hobbs 8.3.1 RELEASE * README: * mac/README: * unix/README: * unix/tk.spec: * win/README: Updating URLs to reference dev.scriptics.com 2000-04-25 Jeff Hobbs * unix/Makefile.in: * win/Makefile.in: makefile cleanup 2000-04-25 Eric Melski * generic/tkMain.c: Fixed function header comment for Tk_MainEx. * unix/mkLinks: * doc/GetScroll.3: Added information about Tk_GetScrollInfoObj [Bug: 1866]. 2000-04-24 Eric Melski * unix/mkLinks: * doc/Grab.3: Man page for Tk_Grab and Tk_Ungrab [Bug: 1868, 1889] * unix/mkLinks: * doc/MainWin.3: Added entry for Tk_GetNumMainWindows [Bug: 1865]. * unix/mkLinks: * doc/GetHINSTANCE.3: Man page for Tk_GetHINSTANCE [Bug: 1862]. 2000-04-24 Jeff Hobbs * generic/tkImage.c (Tk_PostscriptImage): added check to create necessary prolog for photos * generic/tkCanvPs.c: added Tk_PostscriptPhoto that outputs PS for photo images * generic/tkImgPhoto.c: new func ImgPhotoPostscript and added that in as ps proc in tkPhotoImageType. * generic/tkStubInit.c: * generic/tkDecls.h: * generic/tk.decls: added Tk_PostscriptPhoto * generic/tkConfig.c (DoObjConfig): removed direct setting of interp->result. * mac/tkMacWm.c (Tk_WmCmd): initialized gotToplevel in colormapwindows case (bug found by Reasoning, Inc's automated code testing). 2000-04-24 Eric Melski * unix/mkLinks: * doc/GetHWND.3: Man page for Tk_GetHWND [Bug: 1863]. * unix/mkLinks: * doc/HWNDToWindow.3: Man page for Tk_HWNDToWindow [Bug: 1869]. * unix/mkLinks: * doc/AddOption.3: Man page for Tk_AddOption [Bug: 1854] 2000-04-22 Jim Ingham * mac/tkMacDialog.c (Tk_MacGetOpenFile): Add empty bodies for the "-initialfile" and "-defaultextension" options. * mac/tkMacDialog.c (NavServicesGetFile): Only cons the result up into a list if multiple is true. * mac/tkMacMenus.c (SourceDialog): Use the "tk_getOpenFile" instead of hand-coding the dialog with StandardGetFile. This way we get the Navigation dialogs for free. * doc/getOpenFile.n: Document the -multiple and -message flags which are only implemented on the Mac. Also note that the -title works on the Mac with Nav Services installed. 2000-04-19 Eric Melski * doc/WinViewable.3: * unix/mkLinks: Removed docs for Tk_IsViewable. * win/tkWinDialog.c: Removed calls to Tk_IsViewable. * generic/tkUtil.c: * generic/tkStubInit.c: * generic/tkDecls.h: * generic/tkCmds.c: * generic/tk.decls: Removed Tk_IsViewable function (it was not actually needed). 2000-04-19 Jeff Hobbs * win/aclocal.m4: made SC_PROG_TCLSH search specifically for tclsh*.exe type files to find an executable. * win/Makefile.in: fixed up cleanup, winhelp, cat32 targets * library/console.tcl: made console use systemfixed font on Win * generic/tkEntry.c: removed unnecessary ENTRY_VALIDATE #define 2000-04-19 Eric Melski * generic/tkRectOval.c (ConfigureRectOval): Added checks for valid outline settings before creating of outline GC; this means that it is really possible now to have an oval or rectangle with no outline. [Bug: 5029]. 2000-04-19 Jeff Hobbs * library/choosedir.tcl (::tk::dialog::file::chooseDir::Config): * library/tkfbox.tcl (::tk::dialog::file::Config): removed the extraneous glob on -initialdir after file isdir already returned 1 and moved cd trick into this case as the else already uses [pwd]. [Bug: 5181] * win/winMain.c: moved extern call out of WinMain func * README: * generic/tk.h: * unix/configure.in: * unix/tk.spec: * win/configure.in: bumped to version 8.3.1 * library/msgbox.tcl (tkMessageBox): changed to use grid in some places, realign icon to anchor nw. * mac/tkMacScale.c: reverted tkMacScale.c to 1.5 equivalent (it was accidentally bumped forward). 2000-04-18 Eric Melski * win/tkWinPointer.c: Changed Mod2Mask in TkWinGetModifierState to ALT_MASK, to fix some event problems [Bugs: 1160, 5088]. * win/tkWinX.c: Changed Mod2Mask in GetState to ALT_MASK, to fix some event problems [Bugs: 1160, 5088]. * generic/tkInt.h: Moved definition of ALT_MASK and META_MASK here so that it would be accessible from other modules than tkBind.c. * generic/tkBind.c: Added code in BindEvent to check for ALT_MASK and META_MASK in the event state field, as this field may not be set up with the correct display modifier mask bits if the XEvent structure was created by [event generate] or by the Windows X emulation. [Bugs: 1160, 5088]. 2000-04-18 Scott Redman * win/tk.rc: * win/wish.rc: * win/wish.ico: Modified copyright dates in Windows resource files. Updated the icon for wish.exe. 2000-04-17 Eric Melski * win/tkWinDialog.c: Added checks for visibility of parent window before creating MessageBox and ChooseColor dialogs; this prevents the application from locking when the parent is withdrawn and the message box is created. In these cases, the window will be created without a parent. * unix/mkLinks: Added WinViewable.3. * tests/msgbox.test: Added tests for patch from [Bug: 4997]. * library/msgbox.tcl: * library/dialog.tcl: Applied patch from [Bug: 4997]; detaches dialog window from parent if parent is not viewable. * library/bgerror.tcl: Removed workaround from [Bug: 4370]; this is superceeded by patches to dialog.tcl. * generic/tkCmds.c: Changed WinfoObjCmd to use Tk_IsViewable function to determine visibility of windows instead of inlining the code. * generic/tkStubInit.c: * generic/tkDecls.h: * generic/tk.decls: Added Tk_IsViewable declaration. 2000-04-17 Eric Melski * library/text.tcl: Tweaked double-/triple-click selection; previously, anchor and insert marks were placed in unexpected locations following a double or triple click. Now they are placed logically. Also tweaked the extension of selection via shift-double-clicks so that it no longer selects the contiguous whitespace on the side of the selection opposite the double-click. [RFE: 4253]. * doc/menu.n: Added note regarding rendering of checkbuttons/radiobuttons in menubars on different platforms -- some systems do not draw indicators for check/radiobuttons in menubars. * library/menu.tcl: Corrected behavior of checkbuttons/commands/radiobuttons in menubars [Bug: 630]. * tests/grid.test: Added test for [grid propagate . 0] to not toggle. * generic/tkGrid.c: Fixed bogus logic in [grid propagate] that caused [grid propagate . 0] to act as a toggle instead of an absolute set. [Bug: 2286]. 2000-04-16 Jeff Hobbs * win/tkWinColor.c (FindSystemColor): correct calculation of colors when shifting value. [Bug: 4919] 2000-04-16 Jim Ingham * mac/tkMacPort.h: protect against strncasecmp already defined - it is in the Pro5 version of MSL. * mac/tkMacWindowMgr.c (GenerateKeyEvent): Check for a null tkWin. If the hidden window we use for double-buffering controls manages to percolate to the top (should never happen, but...) this will keep us from crashing. * mac/tkMacButton.c (InitSampleControls): Hide the double-buffering window BEHIND the first "." window you can find. This will keep it from ever being the front window, and thus a black hole for events. * mac/tkMacButton.c (ButtonEventProc): Disable the controls when the window is in the background. This is required by the MacOS HIG. This doesn't always get called when it should, it still needs more work. * mac/tkMacDialog.c: Pretty substantial rewrite to include Navigation Services support for systems which have it. 2000-04-14 Eric Melski * win/tkWinKey.c: Added check for ASCII delete character in KeycodeToKeysym, to fix [Bug: 5090]. See comment in code for more information. * generic/ks_names.h: Added Scroll_Lock and Sys_Req definitions. * win/tkWinKey.c: Changed implementation of KeycodeToKeysym, et. al., to use a keycode table for lookups; this will result in faster keycode -> keysym translations for non-ASCII keys like Control, Alt, etc. 2000-04-14 Jeff Hobbs * win/tkWinWm.c (WmProc): added check in WM_MOUSEACTIVATE so we correctly activate native menus when clicking in when we didn't have focus [Bug: 2272] * generic/tkCanvas.c (CanvasEventProc:2451): corrected cast * generic/tkEntry.c (Tk_EntryObjCmd): adjusted finishing error cases and changed TK_CONFIG_NULL_OK to TK_OPTION_NULL_OK * tests/scale.test: * generic/tkScale.c: * generic/tkScale.h: * unix/tkUnixScale.c: * mac/tkMacScale.c: moved (PixelToValue|ValueToPixel|SetScaleValue) to tkScale.c. Caused an associated variable to be immediately set [Bug: 4833] * library/scale.tcl (tkScaleActivate): reduced number of scale redisplays by checking current value of state before setting it again. [Bug: 4191] * tests/winDialog.test: tk_chooseDirectory seems to get a noop from GetOpenFileName in the static build, hanging some tests. The tests were fixed to timeout (noop cause unknown). * unix/aclocal.m4 (SC_ENABLE_THREADS): enhanced the detection of pthread_mutex_init [Bug: 4359] and (SC_CONFIG_CFLAGS) added --enable-64bit-vis switch for Sparc VIS compilation [Bug: 4995] 2000-04-13 Eric Melski * win/tkWinKey.c: Added smarts to check whether the left or right Control, Shift, or Alt key was pressed. [Bug: 870]. * win/tkWinMenu.c: Corrected code that created separator items on menus; originally, it requested that the system be responsible for drawing those items, so it would ignore configuration items like the widget background. Now, we draw the separators ourselves (as we do with every other kind of menu item already). [Bug: 1166]. * win/tkWin3d.c: * unix/tkUnix3d.c: Applied patch from [RFE: 2501]: adds more sophisticated smarts to TkpGetShadows, so that the highlight of a very bright color is actually distinguishable from the color, and the shadow of a very dark color is similarly distinguishable from the color. * generic/tkCanvas.c: Applied patch from [Bug: 4202]; adds a check for NULL tkwin in Tk_CanvasEventuallyRedraw. 2000-04-12 Jeff Hobbs * test/winClipboard.test: * win/tkWinInt.h: * win/tkWinClipboard.c (UpdateClipboard): * win/tkWinX.c (GenerateXEvent): added updatingClipboard tsd and TkWinUpdatingClipboard accessor function to allow us to flag ourselves when we are the ones updating the clipboard. This corrected inability to create our own clipboard types within a Tk application. [Bug: 2338 4318] * win/tkWinTest.c (TestclipboardCmd): improved TestclipboardCmd with better error handling and obj'ification 2000-04-11 Eric Melski * msgcat.n: Added docs for new behavior from patch in [Bug: 4158]. * msgcat.test: Added tests for new behavior from patch in [Bug: 4158]. * msgcat.tcl: Applied patch from [Bug: 4158], which enables msgcat::mc to search the entire namespace ancestry chain for message translations (ie, first it checks the current namespace, then the parent, then the parent's parent, etc). Also allows the specification of additional args for msgcat::mc; if extra args are given, the [format] command is used to substitute the additional args in the translated message. * library/bgerror.tcl: Moved check for withdrawn state after check for tkerror; this was causing problems when tkerror was used. 2000-04-10 Eric Melski * library/bgerror.tcl: Added check for withdrawn state of . and unsetting of transient bit for .bgerrorDialog if . is not viewable; this protects against the application hanging on systems like Windows, where transient windows are withdrawn with their parents. [Bug: 4370]. * tests/event.test: Added test for [event generate $widget ] [Bug: 4611]. * tests/choosedir.test: Changed "namespace import ::tcltest" to "namespace import -force ::tcltest". * win/tkWinKey.c: * unix/tkUnixKey.c: * mac/tkMacKeyboard.c: Changed InitKeymapInfo to TkpInitKeymapInfo. [Bug: 4611]. * generic/tkStubInit.c: * generic/tkIntDecls.h: Re-gen'd from tkInt.decls. * generic/tkInt.decls: Added TkpInitKeymapInfo to list of function decls. * generic/tkBind.c (HandleEventGenerate): Added code to initialize keymap info if necessary, and to correctly set modifier bits in XEvent structure create to handle [event generate] calls. Previously, the alt/meta bits were not set correctly, so [event generate $widget ] would always fail. [Bug: 4611] 2000-04-07 Jeff Hobbs * generic/tkGrid.c (InitMasterData): fixed uninit'd data in GridMaster struct [Bug: 4387] * library/safetk.tcl (disallowTk): made disallowTk work in the simple case. * library/comdlg.tcl (tkFocusGroup_In): fixed key navigation problems in dialogs under CDE [Bug: 2960] * tests/winDialog.test: removed knownBug constraint from 5.16 * win/tkWinFont.c (GetScreenFont): corrected adjustment against LC_FACESIZE limitation for NT [Bug: 4931] * win/makefile.vc (TKTEST_OBJS): * win/Makefile.in (TKTEST_OBJS): moved tkWinTest.c from normal objs to TKTEST_OBJS where it belonged. 2000-04-03 Jeff Hobbs * generic/tkTest.c: fixed incorrect platform inclusion for TkplatformtestInit (it would never get called). * unix/Makefile.in (MAN_INSTALL_DIR): patch to accept --mandir correctly [Bug: 4085] * library/clrpick.tcl (tkColorDialog_Config): error now thrown when -initialcolor "" specified. [Bug: 4198] 2000-03-31 Jeff Hobbs * doc/DrawFocHlt.3: doc name correction * generic/tkEntry.c: set TK_OPTION_NULL_OK bit on -invcmd option and removed #ifdef ENTRY_VALIDATE expressions * library/menu.tcl (tkMenuInvoke): corrected naming of tearoffs [Bug: 4506] * library/tkfbox.tcl (tkIconList_Goto): caused browsecmd to be called in tkIconList_Select. This causes the entry to be set properly when using the type-in-name-in-listbox bindings. * win/tkWinDialog.c: added unicode-aware open/save file dialogs * win/tkWinFont.c (TkpFontPkgInit): move private ref to platformId to TkWinGetPlatformId * win/tkWinMenu.c (SetDefaults): moved private use of versionInfo to TkWinGetPlatformId and removed all code for (versionInfo.dwMajorVersion < 4) (== Win32s) * win/tkWinX.c: * win/tkWin32Dll.c: moved TkWinGetPlatformId to tkWinX.c * win/tkWinInit.c: added TkWinXInit to TkpInit to ensure that its called for static Windows shells. [Bug: 3647] * win/tkWinInt.h: * win/tkWinX.c: * win/tkWinDraw.c (SetUpGraphicsPort): * win/tkWinScrlbr.c (UpdateScrollbar): removed use of tkpIsWin32s * win/tkWinInt.h (TkWinDCState struct): added bkmode value * win/tkWinDraw.c (TkWinGetDrawableDC, et al): added support for properly transparent dashed lines on Windows. [Bug: 4617] 2000-03-30 Eric Melski * generic/tkImgGIF.c: Fixed some ANSI specific bits to avoid compile problems with non-ANSI compilers (ie, replace const with CONST, etc). [Bug: 4223]. * unix/configure.in: Applied patch from [Bug: 4237]; ensures that srcdir is fully qualified. * unix/Makefile.in: Applied patch from [Bug: 4237]; if tcltest was not compiled, make test/tktest failed. Now it has a rule to build tcltest if it has not been built. 2000-03-28 Eric Melski * library/tkfbox.tcl: Moved an overlooked tkFDialog* function in ::tk::dialog::file namespace. * tests/unixWm.test: Added tests for memory leak conditions in tkUnixWm.c. * tests/canvas.test: Added test for bad configuration options on empty and non-empty canvas. * generic/tkCanvas.c: Removed bad code in CANV_CONFIGURE block of CanvasWidgetCmd; this was causing non-empty canvases to improperly handle bad configuration options [Bug: 4456]. 2000-03-27 Eric Melski * unix/tkUnixWm.c: Applied patch from [Bug: 4405]; fixes memory leak in Unix wm command. 2000-03-24 Eric Melski * tests/filebox.test: * tests/choosedir.test: Updated tests. * library/xmfbox.tcl: Updated to stash data array in ::tk::dialog::file namespace instead of in global namespace. * library/tkfbox.tcl: Extended some functions to support creation of a choosedir dialog, to allow greater code reuse between the two dialogs. Moved tkFDialog* functions into a namespace (::tk::dialog::file). Because these are private Tk functions (and should thus not be used directly by users), this should not impact anybody (the tk_getOpenFile and tk_getSaveFile commands still exist at the global scope). * library/tk.tcl: * library/tclIndex: Updated function names for tkFDialog* functions and choosedir functions. * library/choosedir.tcl: New and improved implementation of tk_chooseDirectory dialog. Based on tk_getOpenFile dialog. 2000-03-23 Eric Melski * generic/tkWindow.c: * generic/tkInt.h: Updated Tcl_OptionCmd -> Tcl_OptionObjCmd * generic/tkOption.c: Tcl_Obj'ectified the "option" command. 2000-03-22 Eric Melski * library/listbox.tcl (tkListboxCancel): Added a check for empty string value for tkPriv(listboxPrev). Without this check, it's possible to get a stack trace under certain conditions. [Bug: 4373]. 2000-03-15 Sven Delmas * win/tkWinDialog.c: Changed the behavior for the tk_chooseDirectory dialog under Windows. Instead of trying to return the currently selected listbox entry (which didn't work in case the user selected the initial directory anyway), we now return the value shown in the entry. This seems to be in accordance with the expected behavior for this dialog. 2000-03-14 Eric Melski * tests/choosedir.test: Marked test 3.1 and 3.2 as bad until the issue with those tests on IRIX can be determined. 2000-03-10 Eric Melski * library/menu.tcl: Applied patch from [Bug: 4155]; protects against grabs on non-viewable windows. 2000-03-08 Eric Melski * tests/choosedir.test: Modified test 3.1 (-mustexist works) to be more careful about cleaning up its potentially troublesome after events. 2000-03-07 Eric Melski * tests/button.test: * generic/tkButton.c: Added -disabledforeground/-state to labels. 2000-03-07 Jeff Hobbs * tests/entry.test: * generic/tkEntry.c (EntrySetValue): malloc the value when validating because validation could cause the pointer to become invalid. Also fixed configure to not trigger focus-based validation. Improved use of Tcl_WrongNumArgs. [Bug: 4320] 2000-03-06 Eric Melski * library/menu.tcl: Added a check in tkMenuFirstEntry that changes menu behavior to only auto-post an immediate child cascade if we are currently on a menubar menu. This prevents massive auto-cascading in cases where the first entry of the cascade is itself a cascade, and the first entry of that cascade is a cascade, and the first entry of that cascade is a cascade ... [Bug: 676]. * generic/tkOldConfig.c: Added check for NULL tkwin value in Tk_ConfigureWidget [Bug: 4079] * generic/tkWindow.c: Added check for NULL tkwin value in Tk_NameToWindow [Bug: 4079] 2000-03-02 Jeff Hobbs * tests/color.test: * xlib/xcolors.c (XParseColor FindColor): * win/tkWinColor.c (XAllocColor): Fixed bit fiddling for colors to return "correct" values for color mapping. [Bug: 4282] * unix/Makefile.in (SCRIPT_INSTALL_DIR): removed extraneous '/' * unix/aclocal.m4: corrected TCL_NEEDS_EXP_FILE to be 1 for AIX * win/tkWinInt.h: change extern to EXTERN for TkWinChildProc declaration with extra #defs. [Bug: 4240] * library/focus.tcl: fixed tkFocusOK to protect $w in uplevel with list. [Bug: 4208] * doc/CrtItemType.3: fixed docs for Tk_CreateItemType to reflect changes made in 8.3.0 (but old style would still work as well). [Bug: 4252] * tests/config.test: extra test to check object cleanup when destroying the widget * generic/tkListbox.c (DestroyListbox): fixed crash in DestroyListbox due to null tkwin. [Bug: 4207] * tests/entry.test: added test suite for entry validation * doc/entry.n: improved docs discussing caveats and gotchas when mixing textvar with widget validation * generic/tkEntry.c (EntryValidateChange): improved handling of validation with relation to -textvariable. Previously, it would turn off whenever the textvar was set. Now it will it will turn off only when the textvar is set and validation returns 0. Added %V (type of validation occuring) to %-subs to help work with trickier validation. 2000-03-01 Eric Melski * tests/clrpick.test: * library/clrpick.tcl: Added code to make color chooser dialog inherit screen setting from parent (bug #2334) 2000-02-25 Jeff Hobbs * win/tkWinWm.c (RaiseWinWhenIdle): Checked for the possibility that the window could be destroyed (can occur with wm deiconify .toplevel; destroy .toplevel). 2000-02-25 Eric Melski * generic/tkImgGIF.c: Applied "spirit of" the patch in 1605 (the submitted patch was more complicated than necessary and did not extend to writing GIF's, only reading), to allow reading/writing of GIF files on EBCDIC and other non-ASCII based systems. 2000-02-14 Eric Melski * unix/tk.spec: RPM specification for producing a binary Tk RPM for Linux. * unix/Makefile.in: Added rpm target to generate Tk binary RPM. 2000-02-10 Jeff Hobbs 8.3.0 RELEASE * changes: updated for 8.3.0 release * generic/tkImgGIF.c (FileReadGIF): added cast for trashBuffer * generic/tkIntXlibDecls.h: * generic/tkInt.decls: declared some Xlib emulation calls for the Mac * generic/tkFrame.c (TkInstallFrameMenu): added extra panic to inform user of bad call when framePtr is NULL [Bug: 2530] * generic/tkMenu.c (DestroyMenuInstance): Placed checks around menu name objects before trying to incr the ref. [Bug: 3402] * generic/tkTest.c: removed USE_OLD_IMAGE def for Mac * library/listbox.tcl: * library/text.tcl: added support for <4> and <5> for mousewheel style scrolling on Unix for mice that map to these buttons. * tests/scrollbar.test: fixed check of testmetrics command to allow unix tests to run (testmetrics is mac/pc only) * unix/tkUnixWm.c (Tk_CoordsToWindow): qualified delete of error handler as the goto label is reached from above and below. * unix/configure.in: * unix/aclocal.m4: cleaned up macros to coincide with tcl.m4, added -export-dynamic to LDFLAGS for FreeBSD-3+ [Bug: 2998] * unix/README: * unix/Makefile.in (dist): removed porting.notes and porting.old from distribution and CVS. The information was very outdated. Now refer to http://dev.scriptics.com/services/support/platforms.html * xlib/xgc.c: #def'd out XDrawSegments for the Mac, and added some extra include info for the Mac 2000-02-09 Jim Ingham * mac/tkMacButton.c: Stop removing the appearance window from the Window List. It is not clear why Ray did this, and it causes the Appearance manager to crash at random times. * mac/tkMacWM.c: Add support in unsupported1 style for the Appearance specification of window styles, including floating window support. * mac/tkMacWindowMgr.c: Operate on the front non-floating window, unless the mouse is directly over the floating window. Also, keystrokes go to the front non-floating window. * mac/tkMacAppInit.c: Initialize floating window support. * mac/tkMacScrlbr.c: * mac/tkMacmenu.c: Fixes for floating windows - operate on the FrontNonFloatingWindow. * mac/tkMacLibrary.r: Fix typo in File info string. * mac/tkMacApplication.r: Fix typo in file info string. Add Finder balloon help for no apparent reason. * mac/tkMacSubwindows.c: Change panic in tkMacGetDrawablePort to Debugger. This is only a temporary fix. The panic is only triggered when a safeTk interpreter is torn down, and ignoring it does no harm. I haven't figured out how to avoid it yet, however. Also use the Appearance MoveWindowStructure call when available. New Files: * MW_TkOldImageHeader.h: Handle #defining USE_OLD_IMAGE for tkImgPPM.c. * MW_TkTestHeader.h: * MW_TkTestHeader.pch: * MW_TkHeader.h: Add separate prefix files for test & release versions of Tk, so we can just have separate targets w/o having to edit files. * tclets.r: The D&D Tclets icon in rez form so we can have a target for this. The above are curtesy of Daniel Steffen (steffen@math.mq.edu.au) * tkMacAppearanceStubs.c: Stubs of the Mac Appearance calls I use so I can link the static 68K Shell without putting ifdef's all over the code. 2000-02-08 Jeff Hobbs * generic/tk.decls: * generic/tkBind.c: * generic/tkInt.decls: * generic/tkIntDecls.h: * generic/tkStubInit.c: * mac/tkMacKeyboard.c: * unix/tkUnixKey.c: * win/tkWinKey.c: Fix for keyboard handling of "dead" keys and caps lock from Peter Spjuth. [Bug: 4105 3359 2493] Split functions into platform specific files: Static functions GetKeySym(), SetKeycodeAndState() and InitKeymapInfo() from tkBind.c moved into platform files tkWinKey.c tkUnixKey.c and tkMacKeyboard.c. GetKeySym() and SetKeycodeAndState() renamed to Tkp* and made public (as private functions) in tkInt.decls. Step 2, fixes in tkWinKey.c New static function: KeycodeToKeysym(), based on XKeycodeToKeysym() but with different arguments, and a lot of improvements. TkpGetString() changed to use KeycodeToKeysym() + other fixes. TkpGetKeySym() changed to use KeycodeToKeysym() + other fixes. InitKeymapInfo() changed to use KeycodeToKeysym(). TkpSetKeycodeAndState() rewritten, mostly by copying code from XKeysymToKeycode(). XKeycodeToKeysym() rewritten. Preferably it should be removed. EXPLANATION: The main problem is ToAscii() which has a lot of side effects, and also that XKeycodeToKeysym() is not provided enough input to do a proper job. The changes' main goal is to avoid calling ToAscii() if not necessary, and to provide it with as correct information as possible when called. Also some attempts to clean up what ToAscii() did are done. See the code for details. BUGS FIXED: Typing shifted (and AltGr) dead keys did not work. Keyboard lock lamps did not work on Win98. Events regarding AltGr-keys behaved badly. Example: On a Swedish keyboard, $ is typed with AltGr-4. That keyboard event would get the keysym '4' not 'dollar'. Also, doing [event generete . ] would send keysym '4'. Translation to ascii in TkpGetString did not handle return and tab correctly. I.e. [event generate . ] gave wrong %A * generic/tkDecls.h: * generic/tk.decls: * generic/tk.h: moved new public functions created in dash patch to the stubs interface [Bug: 4062] * generic/tk.h: * doc/CrtImgType.3: * doc/CrtPhImgFmt.3: * generic/tk.h: * generic/tkImgGIF.c: * generic/tkImgPhoto.c: * generic/tkStubImg.c (new file): * generic/tkTest.c: * unix/Makefile.in: * win/Makefile.in: * win/makefile.vc: improved support for moving from the old style image C API to the new obj'ified one with new Tk_InitImageArgs command and stub'ing of image code. See docs for how to make the transition. [Bug: 4060] * library/tk.tcl: wrapped check for tcl_platform(os) around info exists because it won't in safe interpreters * win/tkWinFont.c: corrected symbol font use to only work on 8-bit characters [Bug: 2406] * unix/aclocal.m4: changed all -fpic to -fPIC * README: * unix/configure.in: * win/configure.in: * generic/tk.h (TK_RELEASE_SERIAL): Moved to 8.3.0 patchlevel 2000-02-07 Eric Melski * library/tkfbox.tcl: Applied patch from bug #4117, tk_getOpenFile/getSaveFile doesn't do the right thing when user types a directory name in the entry and a default extension is specified. 2000-02-05 Jeff Hobbs * unix/tkUnixScale.c (TkpDestroyScale): changed ckfree to Tcl_EventuallyFree to behave with Tcl_Preserve in TkpDisplayScale (prevents possible segfault). 2000-02-03 Eric Melski * tests/canvText.test: test for fix for bug #2525. * generic/tkFont.c (Tk_ComputeTextLayout): Was erroneously setting the width of newline-only text display chunks to some arbitrary huge number, instead of 0; this was interfering with things like the canvas find enclosed feature. (bug #2525). * tests/text.test: * generic/tkText.c (DumpLine/DumpSegment): Changed DumpSegment to take a TkTextIndex instead of two integer offsets, so that it could use TkTextPrintIndex to format the offsets into an index, which makes it UTF smart (bug #2582). 2000-02-01 Eric Melski * library/tk.tcl: * library/tclIndex: * library/choosedir.tcl: Moved choosedir functions into the ::tk::dialog::chooseDir namespace instead of a toplevel ::tkChooseDirectory namespace. Additional cleanup on the chooseDir dialog. 2000-02-01 Jeff Hobbs * doc/text.n: clarified docs on what happens during a search with -count when images/windows are embedded * win/Makefile.in (install-*): reduced verbosity of install * win/tkWinPixmap.c (XGetGeometry): added support for windows in XGetGeometry [Bug: 4069] * win/tkWinFont.c (GetScreenFont): fixed possible mem overrun with long font names [Bug: 4108] * win/tkWinDialog.c: added EnableWindow calls to dialogs to correct for possible loss of control in parent Tk toplevel [Bug: 1212 et al] * generic/tkRectOval.c (ConfigureRectOval): * generic/tkCanvLine.c (ConfigureLine): * generic/tkCanvPoly.c (ConfigurePoly): * generic/tkCanvArc.c (Configure/DisplayArc): fixed handling for negative dash values [Bug: 4104] * generic/tkScale.c (TkRoundToResolution): fixed incorrect assumption that (N+1)*delta = N*delta + delta with floating point math [Bug: 3689, 4099] (DestroyScale) Fixed check for cancelling TkpDisplayScale (was REDRAW_ALL, is now REDRAW_PENDING) * tests/listbox.test: corrected test case for listbox itemconfigure * unix/aclocal.m4: added *BSD ELF recognition for SHARED_LIB_SUFFIX determination (from Tcl's tcl.m4) 2000-01-27 Eric Melski * generic/tkImgPhoto.c: Removed unneccesary object translation in MatchStringFormat (bug #4103). 2000-01-27 Eric Melski * generic/tkImgGIF.c: Additional code cleanup (now we only have one decoder! neat!) 2000-01-26 Eric Melski * doc/getOpenFile.n: * doc/chooseDirectory.n: Man page/cross links for tk_chooseDirectory (bug #1786). * library/tk.tcl: * library/tclIndex: Added hooks for tk_chooseDirectory. (bug #1786) * library/choosedir.tcl: tk_chooseDirectory implementation for Unix/Mac (bug #1786). * generic/tkImgPhoto.c: Added some comments regarding slow processing of transparent images. * generic/tkImgGIF.c: Improved GIF decoder for ~60% speed increase. Added some comments on how to further improve the implementation, time permitting. * doc/photo.n: Added a description of what the -data string can contain (base64 or binary data). * generic/tkImgPhoto.c: Fixed bug with use of binary data for "-data" option to "image create" command. 2000-01-21 Eric Melski * library/tkfbox.tcl: Fixed bug relating to incorrect parent values for error message boxes displayed by the file dialog (bug #3616). * tests/text.test: * generic/tkText.c: Fixed bug relating to regexp searching for empty lines; previously, the starting line was ignored. (bug #1643). 2000-01-20 Jeff Hobbs * library/text.tcl: fixed double-click selection behavior where there were embedded windows/widgets in the same line. [Bug: 3989] * win/tkWinWm.c (TkWmProtocolEventProc): cached atom name as the window could get destroyed during eval [Bug: 2513] * generic/tkCanvLine.c (LineCoords): fixed segfault when too few coords were passed to a line with certain options set (it should always have thrown an error anyway). [Bug: 4042] * tests/text.test: * generic/tkText.c: fixed missing " in error case and missing 'dump' in subcommand listing [Bug: 4036] * generic/tkListbox.c: adjusted use of basic string concatenation in (non-K&R behavior) [Bug: 4027] Swapped bg/fg class for -select(bg|fg) for listbox and their items [Bug: 4039] * unix/mkLinks: * doc/WindowId.3: added docs for Tk_IsContainer and Tk_IsEmbedded * doc/text.n: clarified mark gravity definition and usage of ``word'' in binding definitions. [Bug: 2004 2277 1388] * generic/tkInt.h: moved new TkDisplay useInputMethods structure element to end to not disturb position of previous elements in the structure (as compared to Tk <=8.2). 2000-01-20 Eric Melski * tests/grid.test: Added a test for the consecutive ^ and multiple widget case (bug #1386). * generic/tkGrid.c: Fixed interpretation of consecutive ^ characters in grid command. Previously, ^ ^ was interpreted as meaning that there must be a 2-column widget above to extend, neglecting the case where there was actually 2 1-column widgets above. Now, ^ ^ is interpreted as a possible width; the gridder will consume as many ^'s as there are columns in the widget, and leave the rest for the extension of other widgets. (bug #1386). 2000-01-19 Eric Melski * library/tk.tcl: Created a virtual event <> for reverse tab traversals, with one default binding , and OS specific bindings for Linux, HP-UX, and IRIX. (bug #3163) 2000-01-13 Jeff Hobbs * changes: updated changes file to reflect 8.3b2 mods * README: * generic/tk.h: * unix/configure.in: * win/configure.in: updated to patchlevel 8.3b2 * win/tkWinWm.c: added visibility event handler to make sure that transient window wrappers would be updated when the master was initially mapped. 2000-01-12 Jeff Hobbs * tests/text.test: changed test to reflect change of -hidden to -elide in search options. * win/tkWinScrlbr.c: added check for valid hwnd in ModalLoopProc to avoid crash when building statically * doc/event.n: * generic/tkBind.c: prevented core with event -warp on Windows when window wasn't mapped [Bug: 4004] and added docs stating the requirement for mapped windows. * generic/tkCanvas.c: fixed mem leak with TagSearchExprInit [Bug: 3977] * generic/tkStubInit.c: * generic/tkDecls.h: remove non-existent Tk_(Get|Create)CanvasVisitor prototypes * generic/tkText.c: * generic/tkEntry.c: fixed cursor to not blink when widget was disabled [Bug: 1807] * generic/tkRectOval.c: added note about change to bloat for RectOval bounds calculation for WIN32 only * library/dialog.tcl: improved handling of $default arg to allow for name of given button, as well as bounds checking * doc/wm.n: * tests/winWm.test: * tests/unixWm.test: * mac/tkMacWm.c: * unix/tkUnixWm.c: fixed possible X error being raised [Bug: 3377] * win/tkWinWm.c: wm deiconify in zoom state [Bug: 2077], fixed possible flashing of unmapped toplevel in deiconify [Bug: 3338] and fixed mapping of transient window [Bug: 572] Also, for all wm's, extended 'wm state' command to allow setting of the state, and added official support of 'zoomed' state on Win. * unix/aclocal.m4: strtod bug on Tru64 [Bug: 3378] * unix/Makefile.in: added tests to prevent unnecessary chmod +x in source dirs while installing [Bug: 3367] * unix/configure.in: properly sub'ed in TK_SHARED_BUILD [Bug: 3385] 2000-01-05 Jeff Hobbs * doc/text.n: * generic/tkText.c: * generic/tkText.h: * generic/tkTextBTree.c: * generic/tkTextDisp.c: * generic/tkTextTag.c: removed the -state option for text tags, and reoriented it around -elide, as -state disabled was never implemented, and -state hidden is better as -elide. * mac/tkMacClipboard.c: fixed i18n problems with clipboard [Bug: 3544] * library/entry.tcl: * library/focus.tcl: * library/listbox.tcl: * library/scale.tcl: * library/scrlbar.tcl: * library/tearoff.tcl: * library/text.tcl: * library/tkfbox.tcl: * library/xmfbox.tcl: fixed unprotected arg parsing through eval/after [Bug: 3943] * unix/Makefile.in: added unix/aclocal.m4 to distribution [Bug: 3938] * unix/aclocal.m4: changed NetBSD SHLIB_CFLAGS from -fpic to -fPIC * win/tkWinImage.c: added static declaration to function 1999-12-22 Jeff Hobbs * changes: updated changes file * generic/tkScale.c: * generic/tkScale.h: * mac/tkMacScale.c: * unix/tkUnixScale.c: fixed potential segv from patch in 3897 * tests/unixWm.test: nonPOrtable -> nonPortable 1999-12-21 Jeff Hobbs * generic/tk.h: * unix/configure.in: * win/configure.in: * win/aclocal.m4: * README: updated for patch level 8.3b1 * unix/tkUnixWm.c: fixed panic in Tk_CoordsToWindow to print error and continue instead (for Tix) [Bug: 716 et al] * scale.test: * generic/tkScale.c: * generic/tkScale.h: fixed possible core when freeing options (cursor) associated with scale widget [Bug: 3897] * doc/MeasureChar.3: fixed docs for Tk_MeasureChars to reflect code * doc/listbox.n: fixed formatting problem * generic/tk3d.c: added extra calculations to ensure that thin frames get refreshed too [Bug: 3596] * unix/tkUnixMenu.c: * unix/tkUnixFont.c: * generic/tkCanvText.c: * generic/tkEntry.c: * generic/tkFont.c: * generic/tkImgPPM.c: removed extranneous vars that were set but never used. * mac/tclMacHLEvents.c: fixed applescript for I18N [Bug: 3644] * unix/aclocal.m4: removed -O flag for AIX when using the IBM compiler (several versions have a bug that crops up in the text widget). [Bug: 2316] * unix/Makefile.in: removed extra slash in SCRIPT_INSTALL_DIR [Bug: 3896] * library/listbox.tcl: added extra checks for existence of tkPriv(listboxSelection) before it was used. [Bug: 3892] 1999-12-16 Jeff Hobbs * doc/GetCursor.3: * win/tkWinCursor.c: added support for Windows cursors to TkGetCursorByName (.ani, .cur) using -cursor @ (Ascher) [Bug: 1350] * win/tkWinWm.c: fixed 'wm deiconify' to update position of the toplevel if event is waiting before mapping. (Mao) [Bug: 3687] This removes the need for 'update idle' before 'wm deiconify' on Windows. * doc/listbox.n: added doc for <> [Bug: 3500] * doc/getOpenFile.n: removed note that -initialfile didn't work for tk_getOpenFile * library/tkfbox.tcl: updated tk_get*File to better match the Windows file box it emulates, give proper support to -initialfile, and fixes lack of global tkPriv call. [Bug: 3735 3882] * doc/tk.n: added doc for 'tk useinputmethods ...' * tests/tk.test: * unix/tkUnixKey.c: * generic/tkCmds.c: * generic/tkEvent.c: * generic/tkWindow.c: * generic/tkInt.h: add 'tk useinputmethods ?-display win? ?bool?' call to provide support for disabling/enabling the use of XIM on X. This was previously all done at compile time, and always on. Now it is turned off by default, even when available, and the user must turn it on to use XIM (per display). * generic/tkCanvUtil.c: fixed bug in Tk_CanvasPsOutline that freed mem it shouldn't. * generic/tkFont.c: added "bitstream cyberbit" (popular Windows CJK font) to list of font fallbacks. (kenny) [Bug: 2407] * mac/tkMacMenu.c: finished bug 3075 by changing the char values of what was checked (verified correctness on Mac). 1999-12-13 Jeff Hobbs * doc/canvas.n: added docs for items added by dash patch (-*dash*, -state, -active*, -disabled*, -offset, essentially rewrote the man patch for completely updated 8.3 canvas widget. * doc/entry.n: added docs for entry widget validation * doc/event.n: added docs for -warp * doc/text.n: doc'ed new -state value 'hidden' * doc/GetDash.3: (new file) man page explaining Tk_GetDash * generic/tkStubInit.c: * generic/tkDecls.h: * generic/tkIntXlibDecls.h: * generic/tkInt.decls: added XSetDashes and XWarpPointer * generic/tk.decls: added Tk_CreateSmoothMethod, and reserved two spots * generic/tk.h: added Tk_SmoothMethod struct, state item to canvas record, #defines for item state, support for using old char*-based canvas item C creation procedures with -DUSE_OLD_CANVAS, Tk_Dash, Tk_TSOffset (-offsets) & Tk_Outline structs and #defs, decls for dash, outline and postscript routines * generic/tkBind.c: added support for Quadruple clicks, and added the -warp option to 'event' with pointer warping routines * xlib/xgc.c: * generic/tkRectOval.c: * generic/tkCanvArc.c: * generic/tkCanvBmap.c: * generic/tkCanvImg.c: * generic/tkCanvLine.c: * generic/tkCanvPoly.c: * generic/tkCanvPs.c: * generic/tkCanvText.c: * generic/tkCanvUtil.c: * generic/tkCanvWind.c: * generic/tkCanvas.c: * generic/tkCanvas.h: Canvas and items received overhaul to with the addition of the dash patch (Nijtmans, et al) This includes objectification of the 'canvas' command, as well as support for (where appropriate) dashes in items, extended stipple support, state for all items, and postscript generation of images and windows. See the new canvas man page for related docs. * generic/tkEntry.c: added entry widget validation, see entry.n * generic/tkEvent.c: on simulated events, ButtonPress should be matched with ButtonRelease to be correct * generic/tkFont.c: corrected possible null reference * generic/tkFrame.c: made frame a Tcl_Obj based command * generic/tkGet.c: added TkGetDoublePixels * generic/tkImage.c: bug fixes from Img patch and new Tk_PostscriptImage and Tk_SetTSOrigin functions * generic/tkImgBmap.c: new ImgBmapPostscript function * generic/tkImgPhoto.c: new Tk_CreatePhotoOption, Tk_DitherPhoto * generic/tkInt.h: declarations for some new functions * generic/tkMessage.c: reworked relief drawing * generic/tkOldConfig.c: added TK_CONFIG_OBJS so old style ConfigureWidget calls can pass in Tcl_Obj arrays * generic/tkScrollbar.c: * generic/tkScrollbar.h: made -orient use an option table * generic/tkText.c: * generic/tkText.h: made -wrap and -state use option tables * generic/tkTextBTree.c: * generic/tkTextDisp.c: * generic/tkTextImage.c: * generic/tkTextMark.c: * generic/tkTextTag.c: * generic/tkTextWind.c: added support for -elide and -state hidden * generic/tkTrig.c: changed TkMakeBezierCurve to support returning the upper limit of points needed for spline * generic/tkUtil.c: new option table parsing routines * generic/tkWindow.c: init'ing of warp stuff, mouseButtonState related bug ids for the fixes: [Bug: 648 1541 1540 1779 2168 2311 2297 2340 2348 2578 3386] * tests/bind.test: * tests/canvImg.test: * tests/canvPsArc.tcl: * tests/canvPsImg.tcl: (new file) * tests/canvRect.test: * tests/canvText.test: * tests/canvas.test: * tests/defs.tcl: * tests/entry.test: * tests/event.test: * tests/font.test: * tests/frame.test: * tests/imgPhoto.test: * tests/safe.test: * tests/scale.test: * tests/scrollbar.test: * tests/select.test: * tests/text.test: * tests/textDisp.test: * tests/textTag.test: * tests/unixFont.test: * tests/unixWm.test: * tests/visual_bb.test: * tests/winClipboard.test: tests for the dash patch changes * unix/mkLinks: added GetDash.3 into the mkLink step * mac/tkMacDraw.c: mac still needs pointer warping routine * mac/tkMacXStubs.c: * win/tkWinDraw.c: * win/tkWinPointer.c: added support for pointer warping and platform specific support for dash patch items 1999-12-12 Jeff Hobbs * generic/tkText.c: fixed bug in TextSearchCmd for multibyte chars (Darley) [Bug: 3839] * unix/aclocal.m4: added warning when configuring with --enable-threads that Tk may have problems 1999-12-09 Jeff Hobbs * generic/tkImgGIF.c: updated casting * win/makefile.vc: removed 16bit stuff, simplified makefile. 1999-12-06 Scott Redman * generic/tkMain.c: need to include tclInt.h for new hook functions that are internal-use-only. 1999-12-06 Jeff Hobbs * library/comdlg.tcl: removed tclVerifyInteger and tclSortNoCase, they weren't used, and were not actually correct * mac/tkMacFont.c: * mac/tkMacMenu.c: * mac/tkMacWindowMgr.c: fixed greyed out menu items, handling of ... elipsis, font mapping problem, and enabled generated menu posting [Bug: 3705] 1999-12-02 Jeff Hobbs * generic/tkInt.h: * generic/tkWindow.c: * generic/tkCmds.c: converted Tk_DestroyCmd, Tk_LowerCmd and Tk_RaiseCmd to their ObjCmd equivalent. * library/msgbox.tcl: added color icons for tk_messageBox on Unix and Mac when tk_strictMotif isn't set. (Hipp) * library/tk.tcl: added window bounds checking to ::tk::PlaceWindow * tests/imgPPM.test: fixed test 2.2 to use -format ppm (since we know have GIF write capability) 1999-12-01 Scott Redman * generic/tkMain.c : * unix/tkAppInit.c: * win/winMain.c: Added added hooks into the main() code for supporting TclPro and other "big" shells more easily without requiring a copy of the main() code. 1999-11-29 Jeff Hobbs * generic/tkImgGIF.c: added GIF writing that uses miGIF RLE [Bug: 2039, new patch] * library/entry.tcl: fixed up tkEntrySeeInsert (Nemthi) * generic/tkListbox.c: fixed 'get' of listbox to return a string when only one item is requested. * tests/clrpick.test: * tests/filebox.test: minor whitespace cleanup * library/tk.tcl: fixed missing $w in ::tk::PlaceWindow 1999-11-24 Jeff Hobbs * library/clrpick.tcl: * library/msgbox.tcl: * library/tk.tcl: * library/tkfbox.tcl: * library/xmfbox.tcl: fixed dialogs to center over -parent, added utility functions ::tk::PlaceWindow, ::tk::SetFocusGrab, ::tk::RestoreFocusGrab to tk.tcl to help 1999-11-23 Eric Melski * tests/listbox.test: Added a test to check that the topIndex is update when items are removed from the listvar variable. * generic/tkListbox.c: Added a check the updates the topIndex when items are removed from the listvar variable. * tests/listbox.test: Added a test to check that the vertical scrollbar is updated when the listvar changes. * generic/tkListbox.c (ListboxListVarProc): added a check that sets the UPDATE_V_SCROLLBAR flag if the length of the listvar has changed. 1999-11-23 Jeff Hobbs * generic/tk.h: * generic/tkConfig.c: added support for TK_OPTION_DONT_SET_DEFAULT as equiv for TK_CONFIG_DONT_SET_DEFAULT * generic/tkListbox.c: added TK_OPTION_DONT_SET_DEFAULT to the item specs 1999-11-19 Jeff Hobbs * generic/tkColor.c: * generic/tkColor.h: fixed Tk_NameOfColor to work correctly, with minor change to TkColor struct. * generic/tkConsole.c: added static declaration to ConsoleDeleteProc function (proto already had it) * win/tkWinInt.h: removed TkFontAttributes typedef (was redundant with tkFont.h). * win/tkWinPort.h: put #ifndef __GNUC__ around redefinition of str[n]casecmp, as cygwin uses the originals. * win/tkWinX.c: changed GetCurrentTime to GetTickCount (the former is deprecated). [Bug: 2053] 1999-11-19 Eric Melski * tests/listbox.test: Added tests for itemcget and itemconfigure. * doc/listbox.n: Added documentation for -listvar option and for itemconfigure and itemcget commands. * generic/tkListbox.c: Added support for itemconfigure/itemcget listbox subcommands (addresses rfe #936) 1999-11-17 Eric Melski * tests/listbox.test: Updated tests for new error messages. * generic/tkListbox.c: Improved error messages for bad -listvar's. * tests/listbox.test: Added tests for bad -listvar's. * generic/tkListbox.c: Added handlers for bad -listvar's (ie, bad lists) * tests/listbox.test: Added tests for ListboxUpdateHScrollbar. * generic/tkListbox.c: Changed some old static buffers to base size on TCL_DOUBLLE_SPACE instead of (completely) hardcoding the size. * tests/listbox.test: New tests for -listvar functionality, and an odd extra case that wasn't covered before. * generic/tkListbox.c: Tests exposed some bugs, now fixed. 1999-11-16 Eric Melski * tests/listbox.test: Fixed tests to comply with new objectified error messages. No -listvar specific tests yet. * win/tkWinDefault.h: * unix/tkUnixDefault.h: * mac/tkMacDefault.h: Added default value for -listvar option. * generic/tkWindow.c: Changed "listbox" mapping from old-school to new-school objectified command. * generic/tkListbox.c: Objectified listbox; added support for -listvar option. Converted internal structure to use a Tcl list object to store the data. * generic/tkInt.h: Changed reference to Tk_ListboxCmd to Tk_ListboxObjCmd. 1999-11-09 Jeff Hobbs * generic/tkGrid.c: changed Tcl_Alloc to ckalloc * generic/tkEntry.c: fixed C expr error in destroy of entry that could lead to 'malformed bucket chain' error * win/winMain.c: corrected winMain to not do a DebugBreak when returning an error message from the top level 1999-10-30 Jeff Hobbs * win/tkWinKey.c: fixed XKeysymToKeycode to handle mapping of symbolic keysyms (Left, Home, ...) with event generate * library/entry.tcl: change tkEntrySeeInsert to avoid the use of a while loop that could eat CPU tremendously. Behavior of moving the cursor at the right edge changes slightly (previously it tried to keep the cursor at the right edge, now it moves the cursor to a "central right" location - better IMHO). 1999-10-28 Jeff Hobbs * doc/CrtImgType.3: * doc/CrtPhImgFmt.3: * doc/FindPhoto.3: * doc/photo.n: * generic/tk.h: * generic/tkCmds.c: * generic/tkImage.c: * generic/tkImgBmap.c: * generic/tkImgGIF.c: * generic/tkImgPPM.c: * generic/tkImgPhoto.c: * generic/tkInt.h: * generic/tkTest.c: * generic/tkWindow.c: * tests/imgPhoto.test: added Img patch (Nijtmans) with docs, headers #def'd with USE_OLD_IMAGE. Upgrades image stuff to Tcl_Obj API, adds alpha channel (images are now 32 bpp) * makefile.vc: changed 'c:/program files' to c:/progra~1 1999-10-19 Jeff Hobbs * library/scrlbar.tcl: changed tkScrollButtonUp to check for existence of tkPriv(relief) in order to avoid spurious release events * unix/Makefile.in: added ChangeLog to dist archive 1999-09-24 Jeff Hobbs * */README: * win/makefile.vc: * */configure.in: * generic/tk.h: * library/tk.tcl: up'd to 8.3a1 * unix/Makefile.in: changed 'mkdir' to 'mkdir -p' * library/dialog.tcl: changed {Times 18} to {Times 12} for dialog font. 1999-09-16 Jeff Hobbs * generic/tkFont.c: fixed processing of font options and error returned [Bug: 2075] * win/tkWinWm.c: fixed bug in 'wm deiconify' that raised the wrong toplevel, and changed it to not set focus on overridden toplevels 1999-09-15 Jeff Hobbs * unix/aclocal.m4: added fix for FreeBSD-[1-2] recognition [Bug: 2070] and fix to AIX-* to get ldAix right [Bug: 2624], fixed AIX version check (readjust from 8-21 fix) and several other config fixes for AIX * mac/tkMacMenubutton.c: * unix/tkUnixMenubu.c: fixed permanently stippled menubutton image * win/tkWinButton.c: fixed possible pointer smash [Bug: 2733] 1999-09-14 Jeff Hobbs * win/tkWinMenu.c: fix for stack overrun in GetTextFace [Bug: 909] 1999-09-01 Jeff Hobbs * win/tkWinDraw.c: * unix/tkUnixDraw.c: fixed header style for TkpDrawHighlightBorder * generic/tkCanvas.c: fixed GC error (bg <> fg) in tkCanvas.c (from code added to support TkpDrawHighlightBorder) [Bug: 2676] * unix/aclocal.m4: added -bnoentry to the AIX-* flags * library/msgbox.tcl: changed the behavior of tk_messageBox on Unix to be more Windows like in handling of and the default button * library/button.tcl: * library/clrpick.tcl: * library/comdlg.tcl: * library/console.tcl: * library/dialog.tcl: * library/entry.tcl: * library/focus.tcl: * library/listbox.tcl: * library/menu.tcl: * library/msgbox.tcl: * library/palette.tcl: * library/safetk.tcl: * library/scale.tcl: * library/scrlbar.tcl: * library/tearoff.tcl: * library/text.tcl: * library/tk.tcl: * library/tkfbox.tcl: * library/xmfbox.tcl: updated commands to use [string] ops instead of expr equality operators 1999-08-21 Jeff Hobbs * unix/aclocal.m4: Changed AIX-4.[2-9] check to AIX-4.[1-9] [Bug: 1909] 1999-08-20 Jeff Hobbs * generic/tkCursor.c: fixed bug in GetCursorFromObj that caused panic [Bug: 2562] * TK 8.2.0 RELEASED 1999-08-13 Jim Ingham * mac/tkMacMenu.c: Tk_DrawChars ends up setting the menu background wrong. There is no clean way to stop it, so I use lower level routines here to draw the text. * mac/tkMacProjects.sea.hqx: Rearrange the projects so that the build directory is separate from the sources. Much more convenient! 1999-08-10 Jeff Hobbs * win/tkWinWm.c: changed "wm deiconify" on Windows to raise and force the focus on the deiconified window (behavioral change from 8.1 to comply better with Windows style) [Bug: 1609] * doc/wm.n: clarified behavior of "wm deiconify". * generic/tkInt.decls: added TkSetFocusWin * generic/tkFocus.c: changed static SetFocus to TkSetFocusWin * library/clrpick.tcl: * library/console.tcl: * library/tk.tcl: fixed code where abbreviations where used in calling widget methods (confuses iWidgets) [Bug: 2422] 1999-08-09 Jeff Hobbs * library/button.tcl: cleaned up programming (config -> configure) and fixed Windows relief bug [Bug: 664] * library/entry.tcl: changed Entry C/C/P to not use global data (now uses tkPriv(data)) [Bug: 1475] * library/listbox.tcl: fixed extended mode script error [Bug: 866] * doc/options.n: clarified that -troughcolor doesn't work on Windows * doc/wm.n: fixed wm positionfrom docs [Bug: 2284] 1999-08-01 Jeff Hobbs * mac/tkMacPort.h: wrapped panic in #ifndef panic to avoid compiler errors when used with stubs-#defines, from Vince Darley. [Bug: 2389] 1999-07-31 Scott Redman * xlib/X11/Xlib.h: Remove XFillRectangle since it is now in the stub tables. 1999-07-30 Jeff Hobbs * generic/tkInt.decls: Added stub entry for XFillRectangle [Bug: 2446] 1999-07-30 * win/makefile.vc: Corrected building threaded tktest.exe on Windows. Needed to link in .obj files from Tcl, needs to change later so that code is in Tk and doesn't require a Tcl build. Also added runtest target. 1999-07-29 * generic/tkConsole.c: Allow tcl to open CON and NUL, even for std channels. Checking for bad/unusable std channels was moved to Tk since its only purpose was to check whether to use the Tk Console Window for the std channels. [Bug: 2393 2392 2209 2458] * win/Makefile.in: Corrected building threaded tktest.exe on Windows. Needed to link in .obj files from Tcl, needs to change later so that code is in Tk and doesn't require a Tcl build. 1999-07-22 * Changed version to 8.2b2 * win/tkWinPort.h: Block out include of sys/stat.h in order to build extensions with MetroWerks compiler for Win32. [Bug: 2385] * unix/Makefile.in: Need to make install-sh executable before calling (with chmod +x). [Bug: 2413] * library/menu.tcl: Applied patch from Jeff Hobbs to fix typo. [Bug: 2425] 1999-07-21 * unix/Makefile.in: Add Windows configure script to distribution. 1999-07-16 * unix/Makefile.in: * win/Makefile.in: Copy the prolog.ps from the generic directory for install-libraries. * unix/aclocal.m4: Check for Alpha/Linux to set the IEEE flag to the compiler to be -mieee. Patch from Don Porter. 1999-07-08 * tests/unixSelect.test: Fixed broken test. * win/makefile.vc: Added special case target to ensure that tkStubLib.obj is built with -DSTATIC_BUILD. * win/tkWinX.c (TkWinChildProc): Changed to pass WM_WINDOWPOSCHANGED through to DefWindowProc to make OpenGL sub-windows happy. This allows Windows to generate the WM_SIZE and WM_MOVE messages. 1999-07-08 * unix/configure.in: Fix Tk stub lib file names and flags. 1999-06-30 * generic/tkGrid.c: removed deprecated functions (applied patch from Jan Nijtmans). [Bug: 2080] * generic/tkImgGIF.c: * generic/tkImgPPM.c: * generic/tkImgPhoto.c: Applied patch to allow Img extension to work with 8.2, from Jan Nijtmans. [Bug: 2068] * win/tkWinWm.c: Applied patch from Don Porter to prevent the windows code from calling the Tcl functions when the stub table has not been initialized in TkWinWmCleanup. [Bug: 2269] 1999-06-16 * unix/configure.in: * unix/Makefile.in: * unix/aclocal.m4: Numerous build changes to make Tk conform to the proposed TEA spec * tkConsole.c: changed some variable types from (int) to (size_t) to prevent compiler warnings. Cast return value from strlen() to (int) in one place for the same reason. 1999-06-03 * unix/tkUnixSelect.c: * tests/unixSelect.test: * generic/tkSelect.c: Fixed selection code to handle Unicode data in COMPOUND_TEXT and STRING selections. [Bug: 1791] 1999-06-02 * generic/tkIntXlibDecls.h: * xlib/X11/Xlib.h: Added Mac specific defines to help with compilation. * generic/tkFont.c: lint 1999-06-01 * unix/tkUnixSelect.c: Improved I18N selection support. COMPOUND_TEXT is converted to/from iso2022, and STRING is converted to/from iso8859-1. There are still a few loose ends to tie up before this is completely done. * unix/tkUnixFont.c: Eliminated redundant case folding code. * generic/tkFont.c: Eliminated use of isupper/tolower in favor of Unicode variants. 1999-05-24 * generic/tkStubLib.c: * generic/tkStubInit.c: * generic/tkIntXlibDecls.h: * generic/tkIntPlatDecls.h: * generic/tkIntDecls.h: * generic/tkInt.decls: * generic/tkConsole.c: Various changes to try to get the Mac builds working. 1999-05-21 * win/tkWinClipboard.c: Fixed clipboard code to handle lack of CF_LOCALE information (e.g. from command.com). 1999-05-20 * library/console.tcl: Changed copyright string to read 1999 Scriptics Corp. in wish console about box. 1999-05-19 * generic/tk.h: Add extern "C" block around entire header file for C++ compilers to fix linkage issues. Submitted by Don Porter and Paul Duffin. 1999-05-18 * tests/winClipboard.test: * win/tkWinClipboard.c: Fixed clipboard code so it handles Unicode data properly on Windows NT and 95. [Bug: 1791] 1999-05-07 * library/menu.tcl: Fixed bug where tk_popup fails when called too quickly. [Bug: 2009] 1999-04-30 * Changed version number to 8.1.1. 1999-04-30 * Merged changes from 8.1.0 branch: * generic/tkDecls.h: * generic/tkIntDecls.h: * generic/tkIntPlatDecls.h: * generic/tkIntXlibDecls.h: * generic/tkPlatDecls.h: * generic/tkStubInit.c: Changed to avoid the need for forward declarations in stub initializers. Added extern "C" blocks around stub table pointer declarations so the stubs can be used from C++ code. [Bug: 1934] * generic/tkInt.decls: Added TkClipBox, XDrawSegments, and XForceScreenSaver to stubs. * generic/tkStubLib.c: Reordered declarations to avoid circularities and forward references. * generic/tkStubInit.c: Added includes for Mac. * generic/tkMenubutton.c: lint * generic/tkEntry.c: Fixed bad option table entry. * generic/tkImgBmap.c: * generic/tkImgPPM.c: * generic/tkImgPhoto.c: Set the -translation and -encoding options to binary for image files. (reported by Marco Gazzetta) 1999-04-23 * generic/tkInt.decls: Added TkClipBox, XDrawSegments, and XForceScreenSaver to stubs. * generic/tkStubLib.c: Reordered declarations to avoid circularities and forward references. * generic/tkStubInit.c: Added includes for Mac. * generic/tkMenubutton.c: lint * generic/tkEntry.c: Fixed bad option table entry. 1999-04-22 * generic/tkImgBmap.c: * generic/tkImgPPM.c: * generic/tkImgPhoto.c: Set the -translation and -encoding options to binary for image files. (reported by Marco Gazzetta) 1999-04-20 * xlib/X11/Xlib.h: changed definition of Status type to use a typedef instead of a #define to avoid conflicting with the cygwin win32 headers [Bug 1804] 1999-04-15 * Merged 8.1 branch into the main trunk 1999-04-09 * generic/tkWindow.c: Fixed deadlock situation when the Initialize() function returns without releasing the mutex. Found while testing Bug 1700, during safe.test (tk). 1999-04-06 * generic/tkMain.c (Tk_MainEx): Changed to reset result before calling Tcl_EvalFile. The ensures that error messages will be generated cleanly. * tests/winfo.test: Enabled tests that previously failed. 1999-04-05 * library/bgerror.tcl: * library/button.tcl: * library/clrpick.tcl: * library/console.tcl: * library/dialog.tcl: * library/entry.tcl: * library/focus.tcl: * library/listbox.tcl: * library/menu.tcl: * library/msgbox.tcl: * library/palette.tcl: * library/scale.tcl: * library/scrlbar.tcl: * library/tearoff.tcl: * library/text.tcl: * library/tk.tcl: Lots of minor performance improvements contributed by Jeffrey Hobbs. [Bug: 1118] * win/tkWinWm.c (Tk_WmCmd): Fixed bad code in tracing suboption. [Bug: 1519] * library/tkfbox.tcl: Change to restore button text after an action to avoid the sticky "Open" button in a save dialog. [Bug: 1640] * library/entry.tcl: Fixed so selection is returned using the -show character during cut and paste operations. [Bug: 1687] 1999-04-5 * generic/tkInt.decls: * generic/tkIntXlibDecls.h: * generic/tkStubInit.c: * xlib/xgc.c: * xlib/X11/Xlib.h: * xlib/X11/Xutil.h: Added more X functions to the Win & Mac stubs tables. 1999-04-05 * unix/configure.in: * generic/tkCanvPs.c: Added configure test for pw_gecos field in pwd to support OS/390. [Bug: 1724] 1999-04-02 * tests/text.test: * generic/tkText.c: Fixed handling of Unicode in text searches. The -count option was returning byte counts instead of character counts. [Bug: 1056, 1148, 1666] 1999-04-01 * generic/tk.decls: * generic/tk.h: * generic/tkStubInit.c: * generic/tkWindow.c: * unix/Makefile.in: * win/makefile.vc: Tk now uses its own stub library to store pointers to its own stubs table. * doc/dde.n: (removed) * doc/send.n: * generic/tk.decls: * tests/winSend.test: * generic/tkPlatDecls.h: * win/tkWinSend.c: Removed the DDE-based send and dde commands, they were causing Tk to lock up when any window on the system was not processing its message queue (more importantly, windows in Tcl and Tk). The send command needs to be rewritten to prevent the deadlock situation (soon). The dde command is being pushed into its own package and will provide almost all of the capabilities that send did before (using a "dde eval" command), not yet completed. 1999-03-31 * win/tkWinSend.c: Modified dde/send code to work properly on Win95/Win98. String lengths are not returned properly by DDE, so NULL terminate all strings going in and ignore the string length coming back out. Do not destroy handles until all necessary work on those handles (and child handles) is done. 1999-03-30 * generic/tkWindow.c (Tk_DestroyWindow): Image handlers are now finalized before the font subsystem since complex image handlers may contain references to fonts (e.g. Tix compound images). [Bug: 1603] 1999-03-29 * doc/MeasureChar.3: * doc/TextLayout.3: * generic/tk.decls: * generic/tkCanvText.c: * generic/tkEntry.c: * generic/tkFont.c: * generic/tkListbox.c: * generic/tkMessage.c: * mac/tkMacFont.c: * unix/tkUnixButton.c: * unix/tkUnixFont.c: * unix/tkUnixMenu.c: * win/tkWinFont.c: * win/tkWinMenu.c: Standardized text layout and font interfaces so they are consistent with respect to byte versus character oriented indices. The layout functions all manipulate character oriented values while the lower level measurement functions all operate on byte oriented values. This distinction was not clear and so the functions were being used improperly in a number of places. [Bug: 1053, 747, 749, 1646] * generic/tk.decls: Eliminated uses of C++ STL types string and list from declarations. * generic/tkFont.c: Changes to named fonts were not being propagated in some cases. [Bug: 1144] * xlib/X11/Xlib.h: * generic/tkInt.decls: Added XParseColor to xlib stub tables. [Bug: 1574] * doc/GetBitmap.3: * generic/tkBitmap.c (BitmapInit): Eliminated use of Tk_Uid's in bitmaps. Added a few CONST declarations. 1999-03-29 * unix/configure.in: * unix/Makefile.in: * win/makefile.vc: * generic/tkDecls.h: * generic/tkIntDecls.h: * generic/tkIntPlatDecls.h: * generic/tkPlatDecls.h: * generic/tkIntXlibDecls.h: Removed stub functions. Always use the Tcl stubs when building with --enable-shared. 1999-03-26 * generic/tkTextIndex.c: * tests/testIndex.test: Avoid looking past the beginning of the array storing data for the text widget (.t index end-2c). Added test case to check for the bug. [Bug 991] * generic/tkConsole.c: Copy static strings into a Tcl_DString before passing to Tcl_Eval, in case the compiler puts static strings into read-only memory. 1999-03-26 * unix/configure.in: --nameble-shared is now the default and builds Tk as a shared library; specify --disable-shared to build a static Tk library and shell. 1999-03-26 * library/menu.tcl: Fixed bug reported by Bryan Oakley in the menubutton bindings. There was a false assumption that there was always a menu attached to the button. [Bug 1116] 1999-03-26 * unix/configure.in: Removed --enable-tcl-stub. Linking Tk to Tcl stubs is causing too many problems when linking executables like wish. Until the Tk is a fully loadable extension, linking against the Tcl stubs is not supported in Tk. 1999-03-19 * generic/tkBitmap.c: * generic/tkCursor.c: * generic/tkGC.c: When creating hash tables that key off of XID handles, make sure to pass TCL_ONE_WORD_KEYS. XIDs are guaranteed to be 32bit numbers, although on some 64bit systems (including 64bit Solaris 7) they are packed into a 64bit value where the upper 32bits are zero. The normal method of sizeof(XID)/sizeof(int) causes the hash table code to assume that the XID is a pointer to an array of two ints, which it is not. Tk now supports 64bit Solaris 7. 1999-03-17 * win/makefile.vc: * generic/tk.h: Changed to use TCL_BETA_RELEASE macro, and fixed so this works in rc files. * win/makefile.vc: * win/makefile.bc: * win/README: * unix/configure.in: * generic/tk.h: * README: Updated version to 8.1b3. 1999-03-14 * unix/configure.in: Added missing stub related definitions. * unix/Makefile.in: Install tkDecls.h in addition to tk.h. * generic/tkStubLib.c: Added flags to ensure we are using Tcl stub macros. 1999-03-11 * generic/tkInt.decls: Added reserved slot for XSetDashes for use by the dash patch. 1999-03-10 * xlib/xdraw.c: * xlib/X11/Xlib.h: * mac/tkMac.h: * mac/tkMacInt.h: * mac/tkMacPort.h: * mac/tkMacXStubs.c: * mac/tkMacAppInit.c: * mac/tkMacCursor.c: * win/makefile.vc: * win/tkWin.h: * win/tkWinInt.h: * win/tkWinPort.h: * win/winMain.c: * generic/tk.h: * generic/tkInt.h: * generic/tk.decls: * generic/tkInt.decls: * generic/tkDecls.h: * generic/tkPlatDecls.h: * generic/tkIntDecls.h: * generic/tkIntPlatDecls.h: * generic/tkIntXlibDecls.h: * generic/tkStubs.c: * generic/tkPlatStubs.c: * generic/tkIntStubs.c: * generic/tkIntPlatStubs.c: * generic/tkIntXlibStubs.c: * generic/tkStubInit.c: * generic/tkStubLib.c: * generic/tkBind.c: * generic/tkCmds.c: * generic/tkConfig.c: * generic/tkConsole.c: * generic/tkCursor.c: * generic/tkGrab.c: * generic/tkImgPhoto.c: * generic/tkMain.c: * generic/tkMenu.c: * generic/tkPointer.c: * generic/tkTextDisp.c: * generic/tkWindow.c: * unix/tkUnixInt.h: * unix/tkUnixPort.h: * unix/Makefile.in: * unix/configure.in: * unix/tkConfig.sh.in: * unix/tkUnix.c: * unix/tkUnix3d.c: * unix/tkUnixDraw.c: * unix/tkUnixFont.c: * unix/tkUnixMenubu.c: Stubs implementation for 8.1. Tk_Main() is replaced with a macro which calls Tk_MainEx(). Tk can link to the Tcl stubs library, wish links directly to Tcl and Tk. Use --enable-tcl-stubs to link Tk to the Tcl stubs library (Unix), on by default on Windows. Exported all public functions through the stubs mechanism (see the *.decls files) and many of the internal functions. Most of the changes dealt with shifting around the function declarations in the header files. Mac code may not compile, but it shouldn't take much work to fix this. * mac/tkMacMenu.c: Added dummy TkpMenuThreadInit for Mac to be consistent with Unix and Windows versions. 1999-03-08 * win/tkWinWm.c: Toplevel class no longer shared between threads. * win/tkWinX.c: Multiple threads no longer share the same TkDisplay structure. Required because TkDisplay stores much thread-specific data for a given thread. * win/tkWinSend.c: Moved application instance handle out out thread-local storage. DDE was failing to initialize when the instance handles were different between threads. * win/makefile.vc: Added THREADDEFINES for building with threads enabled. * generic/tkMenu.c: * win/tkWinMenu.c: * unix/tkUnixMenu.c: Added TkpMenuThreadInit for initializing thread-specific Menu state. 1999-03-01 * win/tkWinWm.c: * win/tkWinPointer.c: * win/tkWinInt.h: Fix "focus -force" for Windows. The Win32 API function SetForegroundWindow() does not work unless the window handle is a toplevel window (a Windows toplevel). The handle being passed was a Tk toplevel, which is a child of the Windows toplevel. 1999-02-26 * win/cat.c: Remove this file, use the one in the Tcl source directory. * win/makefile.vc: Remove the wishc.exe from the default targets. Add a separate console-wish target to build it. The need for a console-wish will go away soon, so we don't want to encourage its use. 1999-02-25 * win/tkWinWm.c: Properly initialize the tsdPtr->firstWindow field. * win/cat.c: Code for cat32.exe, copied from the Tcl sources. Required in order to run the test suite from the makefile * win/winMain.c: Add main() for a console-based wishc.exe, which meant adding code to disable the call to Tk_ConsoleInit(). * generic/tkConsole.c: Check the standard handles before creating the new standard channels. This allows a windows app that has stdin, stdout, or stderr to correctly connect to them. * generic/tkMain.c: Add a proper check for the interactive mode, since the standard channels may actually be connected in windows mode or even in the console-based wish. * win/makefile.vc: Add targets for wishc.exe (console-based wish) and cat32.exe (for testing). Fix the test suite target so it can be run from the makefile (which can happen since the standard handles have been fixed). 1999-02-12 * generic/tkMenuButton.h: * generic/tkMenuButton.c: * mac/tkMacMenubutton.c: * mac/tkMacDefault.h * unix/tkUnixMenubu.c: Eliminated Tk_Uids used by -state option. * unix/tkUnixDefault.h * win/tkWinDefault.h * generic/tk.h: * generic/tkScale.h: * generic/tkScale.c: * generic/tkWindow.c: * unix/tkUnixScale.c: * unix/tkUnixDefault.h: * unix/tkWinDefault.h: * mac/tkMacDefault.h: Objectified scale widget. * win/tkWinX.c: Removed Thread-specific data from process initialization code that was stopping the Tk Dll from loading. 1999-02-11 * README: * generic/tk.h: * unix/configure.in: * win/README: * win/makefile.bc: * win/makefile.vc: Updated version to 8.1b2. * unix/tkUnixSend.c: Fixed one more Tcl_*ObjVar instance. 1999-02-04 * Various cleanup related to the Tcl_Eval and Tcl_ObjSetVar changes in Tcl. INTEGRATED PATCHES FROM 8.0.5b2: * win/tkWinMenu.c (TkpDestroyMenu): Changed so modalMenuPtr is cleared when it is being destroyed. * generic/tkImgPhoto.c: Changed so color tables are freed immediately instead of being delayed. This ensures that color tables are properly disposed at process exit. * library/prolog.ps: Changed string that determines font height to include European character with an umlaut. * generic/tkImgBmap.c (ImgBmapConfigureInstance): If an image mask changed but ended up with the same XID, the GC failed to be updated and so the new mask was not used. [Bug: 970] * generic/tkFocus.c (SetFocus): Changed so focus window is always set if -force is specified. This fixes the problem on Windows where Tk does not activate the window if it already has focus. * generic/tkConsole.c: Fixed so errors in console eval are reported properly. Eliminated duplicate result messages. [Bug: 973] * win/tkWinWm.c: Changed so windows that aren't resizable don't have resize handles and the zoom box is disabled. * win/tkWinInt.h: * win/tkWinPointer.c: Changed to cancel the mouse timer when a user initiated move/resize loop begins. * unix/configure.in: TK_LD_SEARCH_FLAGS was set incorrectly if SHLIB_LD_LIBS='${LIBS}', and shared linking is performed through the C compiler. Systems affected are Linux, MP-RAS and NEXTSTEP, but also with gcc on many more systems. [Bug: 908] * win/makefile.vc: First stab at install target. Fixed quoting so paths with spaces work. * tests/main.test: * tests/unixWm.test: Better cleanup of temporary files. * mac/tkMacAppInit.c: * generic/tkTest.c: * generic/tkAppInit.c: * win/winMain.c: Changed some EXTERN declarations to extern since they are not defining exported interfaces. This avoids generating useless declspec() attributes and makes the windows makefile simpler. * library/menu.tcl (tkMenuFind): Changed so keyboard shortcuts will only be found in the current toplevel. Previously, they might be found in menus attached to other toplevels that might not even be mapped. [Bug: 924] * generic/tkCanvLine.c: Changed to treat zero width lines like they have width 1 for purposes of selection. [Bug: 925] * win/tkWinFont.c (Tk_MeasureChars): Added a workaround for a bug in GetTextExtentExPoint on Win NT 4.0/Japanese. [Bug: 1006] * unix/tkUnixSend.c (Tk_SetAppName): Fixed uninitialized memory access bug. [Bug: 919] 1999-1-28 * generic/tkGrid.c: Fixed bug in "grid forget" that failed to cancel pending idle handlers, resulting in a crash in a few odd cases. 1999-01-06 * generic/tk.h, generic/tkGet.c, generic/tkConfig.c, * generic/tkOldConfig.c, generic/tkEntry.c, generic/tkMenubutton.c, * generic/tkMenubutton.h, generic/tkScale.c, generic/tkScale.h, * generic/tkTextDisplay.c, generic/tkText.c, unix/tkUnixMenubu.c, * unix/tkUnixScale.c, mac/tkMacMenu.c, mac/tkMacMenubutton.c, Removed global Tk_Uids dealing with "-state" configuration option and added new TK_CONFIG_STATE configSpec that doesn't use Tk_Uids. 1998-12-11 === Tk 8.1b1 Release === 1998-12-11 * generic/tkMain.c (Tk_Main): Fixed improper command line encoding handling. 1998-12-08 * win/tkWinClipboard.c (TkSelGetSelection, TkWinClipboardRender): Changed to handle multibyte characters properly. [Bug: 935] 1998-12-07 * library/xmfbox.tcl (tkMotifFDialog_Create): In the cached case, the data array was not being initialized with the correct set of widgets. 1998-12-4 * Changed patchLevel to 8.1b1 * generic/tkMenu.c (ConfigureMenuCloneEntries): The -menu configuration option was being incorrectly specified as just "menu". 1998-11-30 * generic/tkButton.c (ConfigureButton): The error result was getting lost when restoring configuration options. [Bug: 619] 1998-11-25 * unix/tkUnixFont.c (GetFontAttributes): Initialize an unspecified family to an empty string. (FontMapLoadPage): if the font included characters below 32, the index computation was incorrect because the range was shifted up to 32. (CreateClosestFont): check for empty locale as well as NULL. * generic/tkFont.c (TkFontParseXLFD): initialize charset to iso8859-1 if no charset is specified. * mac/tkMacHLEvents.c (OdocHandler): added conversion from external string to UTF [Bug: 869] * integrated tk8.0.4 changes. * generic/tkBind.c: fixed deletion order bug where a crash would result if a binding deleted "." * generic/tkMenu.c (MenuWidgetObjCmd): disabled menu entries were getting reenabled whenever the mouse passed over the entry [Bug: 860] * unix/tkUnixMenu.c (TkpComputeStandardMenuGeometry): hidemargin option was not honored properly in menus [Bug: 859] 1998-11-24 * tkMacMenu.c, tkUnixMenu.c, tkWinMenu.c, tkMenuDraw.c, tkMenu.h, * tkMenu.c: Backed out the previous fix for bug 620 and eliminated a bunch of code that created unnecessary objects. Changed back to using internal types instead of objects for many configuration options. There are many more fixes like this that could be made, but some require a little restructuring of the code. In any case the leaks are fixed and there is a lot less allocation happening. [Bug: 620] 1998-11-19 * tkMenu.c (DestroyMenuEntry): fixed memory leaks [Bug: 620] * tkWinX.c (GetTranslatedKey): fixed bad code merge * tkWinWm.c, tkWinMenu.c: fixed titles and menus so they properly display Unicode [Bug: 819]