2007-07-06 Joe English * library/ttk/aquaTheme.tcl: Set -anchor w for TMenubuttons [#1614540] 2007-07-04 Andreas Kupries * macosx/tkMacOSXXStubs.c (DestroyImage): Fixed seg.fault in release of image data for images coming from XGetImage. Change committed by me for Daniel Steffen. See 2007-06-23 for the change which introduced the problem. 2007-07-02 Daniel Steffen * xlib/xgc.c (XCreateGC): correct black and white pixel values used to initialize GC foregrund and background fields. * macosx/tkMacOSXColor.c: add debug messages for unknown pixel values. * macosx/tkMacOSXDraw.c (TkMacOSXRestoreDrawingContext): don't restore port state if it wasn't altered by TkMacOSXSetupDrawingContext(). 2007-06-29 Daniel Steffen * xlib/ximage.c: bitmaps created from the static .xbm arrays always have LSBFirst bit order. * unix/configure.in: fix flag used to weak-link libXss. * unix/configure: autoconf-2.59 * macosx/tkMacOSXScrlbr.c: correct int <-> dobule conversion issues that could lead to Carbon getting confused about scrollbar thumb size. * macosx/tkMacOSXDraw.c (XCopyArea, XCopyPlane, TkPutImage) use TkMacOSX{Setup,Restore}DrawingContext() to setup/restore clip & colors. (TkMacOSXSetupDrawingContext, TkMacOSXRestoreDrawingContext): add save and restore of QD port clip region; factor out clip region code common to CG and QD branches; check for port and context validity; handle tkPictureIsOpen flag during QD port setup. (TkScrollWindow): remove unnecessary scroll region manipulation * macosx/tkMacOSXDraw.c: remove second global QD temp region * macosx/tkMacOSXInt.h: (no longer necessary) and rename * macosx/tkMacOSXRegion.c: remaining global QD temp region. * macosx/tkMacOSXSubwindows.c: * macosx/tkMacOSXWindowEvent.c: * macosx/tkMacOSXDraw.c: make useCGDrawing variable MODULE_SCOPE * macosx/tkMacOSXFont.c: and respect it for ATSUI font drawing. * macosx/tkMacOSXButton.c: reduce reliance on current QD port * macosx/tkMacOSXColor.c: setting and remove unnecessary * macosx/tkMacOSXDebug.c: references to a drawable's QD port, * macosx/tkMacOSXDebug.h: notably replace GetWindowFromPort( * macosx/tkMacOSXDialog.c: TkMacOSXGetDrawablePort()) idiom by new * macosx/tkMacOSXDraw.c: TkMacOSXDrawableWindow() and change * macosx/tkMacOSXKeyEvent.c: TkMacOSXSetColorInPort() to take a port * macosx/tkMacOSXMenu.c: argument. * macosx/tkMacOSXMenubutton.c: * macosx/tkMacOSXMouseEvent.c: * macosx/tkMacOSXScale.c: * macosx/tkMacOSXScrlbr.c: * macosx/tkMacOSXSubwindows.c: * macosx/tkMacOSXWindowEvent.c: * macosx/tkMacOSXWm.c: * macosx/tkMacOSXInt.h: factor out macros, declarations * macosx/tkMacOSXPrivate.h (new): and prototypes that are purely internal and private to the 'macosx' sources into a new internal header file that does _not_ get installed into Tk.framework/PrivateHeaders. * macosx/tkMacOSXButton.c: #include new tkMacOSXPrivate.h * macosx/tkMacOSXCarbonEvents.c: instead of tkMacOSXInt.h. * macosx/tkMacOSXClipboard.c: * macosx/tkMacOSXColor.c: * macosx/tkMacOSXCursor.c: * macosx/tkMacOSXDebug.c: * macosx/tkMacOSXDialog.c: * macosx/tkMacOSXDraw.c: * macosx/tkMacOSXEntry.c: * macosx/tkMacOSXEvent.c: * macosx/tkMacOSXFont.c: * macosx/tkMacOSXHLEvents.c: * macosx/tkMacOSXInit.c: * macosx/tkMacOSXKeyEvent.c: * macosx/tkMacOSXMenu.c: * macosx/tkMacOSXMenubutton.c: * macosx/tkMacOSXMenus.c: * macosx/tkMacOSXMouseEvent.c: * macosx/tkMacOSXNotify.c: * macosx/tkMacOSXRegion.c: * macosx/tkMacOSXScale.c: * macosx/tkMacOSXScrlbr.c: * macosx/tkMacOSXSubwindows.c: * macosx/tkMacOSXWindowEvent.c: * macosx/tkMacOSXWm.c: * macosx/tkMacOSXXStubs.c: * macosx/ttkMacOSXTheme.c: * macosx/Wish.xcodeproj/project.pbxproj: improve support for renamed * macosx/Wish.xcodeproj/default.pbxuser: tcl and tk source dirs; add * macosx/Wish-Common.xcconfig: 10.5 SDK build config; remove tclMathOp.c. * macosx/README: document Wish.xcodeproj changes. 2007-06-23 Daniel Steffen * generic/tkImgPhoto.c (ImgPhotoConfigureInstance, DisposeInstance): use XDestroyImage instead of XFree to destroy XImage; replace runtime endianness determination by compile-time check for WORDS_BIGENDIAN. * xlib/ximage.c (XCreateBitmapFromData): use XCreateImage and XDestroyImage instead of creating XImage structure manually. * macosx/tkMacOSXXStubs.c (XCreateImage, DestroyImage): correct XImage bytes_per_line/bitmap_pad calculations and endianness setting; free image data and XImage structure at destruction; formatting cleanup. * macosx/tkMacOSXDialog.c (NavServicesGetFile): disable app-modal sheet variant of nav dialog on OS versions where it causes problems. 2007-06-20 Jeff Hobbs * library/ttk/ttk.tcl: should require Tk before pseudo-providing tile 0.8.0. 2007-06-09 Joe English * generic/ttk/ttkPanedwindow.c, doc/ttk_panedwindow.n, tests/ttk/panedwindow.test: Added -width and -height options. Added 'panes' method, return list of managed windows. 'sashpos' method is now documented as part of the public interface, and details clarified. Should be easier to set initial sash positions now. Alleviates [Bug 1659067]. 2007-06-09 Jeff Hobbs * win/tkWinWm.c (WmIconphotoCmd): fix wm iconphoto RGBA issues. [Bug 1467997] (janssen) * win/tkWinMenu.c (TkWinHandleMenuEvent): improve handling to allow for unicode char menu indices and not use CharUpper on Tcl utf strings. [Bug 1734223] 2007-06-09 Joe English * generic/ttk/ttkManager.h, generic/ttk/ttkManager.c, generic/ttk/ttkNotebook.c, generic/ttk/ttkPanedwindow.c, generic/ttk/ttkFrame.c: Ttk_Manager API overhaul: + Ttk_Manager no longer responsible for managing slave records + Ttk_Manager structure now opaque + Ttk_Slave structure now private + Pass Ttk_Manager* to Tk_GeomMgr hooks instead of Ttk_Slave* * generic/ttk/ttkFrame.c: Simplified -labelwidget management. * doc/ttk_panedwindow.n, library/ttk/panedwindow.tcl: Changed documentation of ttk::panedwindow 'identify' command to match implementation. * generic/ttk/ttkNotebook.c, tests/ttk/notebook.test: BUGFIX: ttk::noteboook 'insert' command didn't correctly maintain current tab. 2007-06-09 Daniel Steffen * macosx/tkMacOSXColor.c: fix issues with TK_{IF,ELSE,ENDIF} macros; * macosx/tkMacOSXDraw.c: implement Jaguar equivalent of unavailable * macosx/tkMacOSXEntry.c: kHIToolboxVersion global; panic at startup * macosx/tkMacOSXEvent.c: if MAC_OS_X_VERSION_MIN_REQUIRED constraint * macosx/tkMacOSXInit.c: is not satisfied. * macosx/tkMacOSXInt.h: * macosx/tkMacOSXWm.c: * macosx/tkMacOSXDraw.c (XCopyArea, XCopyPlane, TkPutImage) (TkMacOSXSetupDrawingContext): factor out common code and standardize setup/restore of port, context and clipping; formatting cleanup. * macosx/tkMacOSXWindowEvent.c: add error checking. * macosx/tkMacOSXMenu.c: fix gcc3 warning. * macosx/tkMacOSXScrlbr.c: fix testsuite crash. * macosx/tkMacOSXSubwindows.c: formatting cleanup. * macosx/tkMacOSXRegion.c: fix typos. * macosx/tkMacOSXScale.c: * macosx/tkMacOSXXStubs.c (Tk_GetUserInactiveTime): remove superfluous CFRetain/CFRelease. * macosx/Wish-Release.xcconfig: disable tktest release build stripping. * macosx/Wish.xcodeproj/project.pbxproj: add new Tclsh-Info.plist.in. 2007-06-06 Daniel Steffen * macosx/tkMacOSXInt.h: use native debug message API when available. * macosx/Wish-Debug.xcconfig: * macosx/tkMacOSXMouseEvent.c (GenerateMouseWheelEvent): enable processing of mousewheel events in background windows. * macosx/tkMacOSXScrlbr.c: modernize checks for active/front window. * macosx/tkMacOSXScale.c: * macosx/tkMacOSXWm.c: * macosx/tkMacOSXColor.c: factor out verbose #ifdef checks of * macosx/tkMacOSXDraw.c: MAC_OS_X_VERSION_{MAX_ALLOWED,MIN_REQUIRED} * macosx/tkMacOSXEntry.c: and runtime checks of kHIToolboxVersion into * macosx/tkMacOSXEvent.c: new TK_{IF,ELSE,ENDIF}_MAC_OS_X macros. * macosx/tkMacOSXInit.c: * macosx/tkMacOSXInt.h: * macosx/tkMacOSXWm.c: * macosx/tkMacOSXDraw.c: factor out clip clearing in QD ports; * macosx/tkMacOSXEntry.c: formatting cleanup. * macosx/Wish.xcodeproj/project.pbxproj: add settings for Fix&Continue. * unix/configure.in (Darwin): link the Tk and Wish plists into their binaries in all cases; fix 64bit arch removal in fat 32&64bit builds. * unix/tcl.m4 (Darwin): fix CF checks in fat 32&64bit builds. * unix/configure: autoconf-2.59 2007-06-05 Donal K. Fellows * doc/photo.n: Clarified the fact that base64 support for the -data option is not universal. [Bug 1731348] (matzek) 2007-06-03 Daniel Steffen * unix/Makefile.in: add datarootdir to silence autoconf-2.6x warning. * macosx/Wish.xcodeproj/default.pbxuser: add ttk tests. * macosx/tkMacOSXMenu.c: add error checking; whitespace cleanup. * macosx/tkMacOSXDraw.c: comment formatting fixes for Xcode 3.0 * macosx/tkMacOSXEmbed.c: * macosx/tkMacOSXEntry.c: * macosx/tkMacOSXFont.c: * macosx/tkMacOSXInit.c: * macosx/tkMacOSXKeyEvent.c: * macosx/tkMacOSXKeyboard.c: * macosx/tkMacOSXMenus.c: * macosx/tkMacOSXSend.c: * macosx/tkMacOSXSubwindows.c: * macosx/tkMacOSXWindowEvent.c: * macosx/tkMacOSXWm.c: * macosx/tkMacOSXXStubs.c: 2007-06-02 Daniel Steffen * macosx/tkMacOSXMenu.c (TkpPostMenu): ensure cascade menus display in posted menus that are not part of the menubar or attached to a menubutton (fixes bug reported on tcl-mac by Linus Nyberg). 2007-05-31 Daniel Steffen * macosx/tkMacOSXWindowEvent.c (GenerateUpdateEvent): complete all pending idle-time redraws before newly posted Expose events are processed; add bounds of redrawn windows to update region to ensure all child windows overdrawn by parents are redrawn. * macosx/tkMacOSXWindowEvent.c: centralize clip and window invalidation * macosx/tkMacOSXSubwindows.c: after location/size changes in the * macosx/tkMacOSXWm.c: BoundsChanged carbon event handler; correct/add window invalidation after window attribute changes. * macosx/tkMacOSXSubwindows.c (XResizeWindow, XMoveResizeWindow) (XMoveWindow): factor out common code dealing with embedded and non-toplevel windows; remove unnecessary clip and window invalidation. * macosx/tkMacOSXButton.c (TkpDisplayButton): move clip setup closer to native button drawing calls. * macosx/tkMacOSXWm.c (TkMacOSXIsWindowZoomed, TkMacOSXZoomToplevel): correct handling of gridded windows in max size calculations. * macosx/tkMacOSXEvent.c (TkMacOSXFlushWindows): use HIWindowFlush API when available. * macosx/tkMacOSXColor.c: cleanup whitespace and formatting. * macosx/tkMacOSXDraw.c: * macosx/tkMacOSXSubwindows.c: * macosx/tkMacOSXWm.c: * generic/tkFont.c: #ifdef out debug msg printing to stderr. * generic/tkTextDisp.c: 2007-05-30 Don Porter * generic/tk.h: Correct placement of #include . [Bug 1723812] 2007-05-30 Daniel Steffen * library/bgerror.tcl: standardize dialog option & button size * library/dialog.tcl: modifications done when running on on Aqua. * library/msgbox.tcl: * library/demos/button.tcl: set button highlightbackground on Aqua. * macosx/tkMacOSXMenu.c (DrawMenuSeparator): use DrawingContext API. * macosx/tkMacOSXWindowEvent.c (ClearPort): clip to updateRgn. * macosx/tkMacOSXDebug.c: factor out debug region flashing. * macosx/tkMacOSXDebug.h: * macosx/tkMacOSXDraw.c: * macosx/tkMacOSXSubwindows.c: * macosx/tkMacOSXWindowEvent.c: * macosx/tkMacOSXEvent.c: cleanup whitespace and formatting. * macosx/tkMacOSXFont.c: * macosx/tkMacOSXRegion.c: * macosx/tkMacOSXSubwindows.c: * macosx/tkMacOSXWindowEvent.c: * macosx/tkMacOSXWm.c: * macosx/tkMacOSXXStubs.c: * xlib/xgc.c: * macosx/Wish.xcodeproj/project.pbxproj: delete references to removed * macosx/Wish.xcodeproj/default.pbxuser: ttk files. 2007-05-28 Benjamin Riefenstahl * macosx/tkMacOSXFont.c (TkpMeasureCharsInContext): Fix short measures with flags=TK_WHOLE_WORDS|TK_AT_LEAST_ONE [Bug 1716141]. Make some casts unnecessary by changing variable types. 2007-05-25 Joe English * library/ttk/ttk.tcl: Omit ttk::dialog and dependencies. * library/ttk/dialog.tcl, library/ttk/icons.tcl, * library/ttk/keynav.tcl: Removed. * tests/ttk/misc.test: Removed. * doc/ttk_dialog.tcl: Removed. 2007-05-25 Donal K. Fellows * doc/canvas.n: Fixed documentation of default -joinstyle option values for line and polygon items. [Bug 1725782] 2007-05-18 Joe English * generic/ttk/ttkEntry.c(EntrySetValue): Ensure that widget is in a consistent state before setting the linked -textvariable. Previously, it was possible for [$e index insert] to point past the end of the string, leading to heap corruption. [Bug 1721532] * tests/ttk/entry.test(entry-9.1): Add test case for the above. 2007-05-18 Don Porter * unix/configure: autoconf-2.59 (FC6 fork) * win/configure: * README: Bump version number to 8.5a7 * generic/tk.h: * library/tk.tcl: * unix/configure.in: * unix/tk.spec: * win/configure.in: * tests/ttk/treetags.test: Another bit of test suite SCIM-tolerance. [Bug 1609316] 2007-05-17 Daniel Steffen * generic/tk.decls: workaround 'make checkstubs' failures from tkStubLib.c MODULE_SCOPE revert. [Bug 1716117] * macosx/Wish.xcodeproj/project.pbxproj: add tkOldTest.c and remove tkStubImg.c. 2007-05-16 Joe English * generic/tkStubLib.c: Change Tk_InitStubs(), tkStubsPtr, and the auxilliary stubs table pointers back to public visibility. See [Bug 1716117] for details. Removed TCL_STORAGE_CLASS monkey business, as it had no effect. 2007-05-16 Don Porter * library/choosedir.tcl: Removed uses of obsolete {expand} * library/comdlg.tcl: syntax; replaced with the now * library/tk.tcl: approved {*}. [Bug 1710633] * tests/canvImg.test: * tests/imgPhoto.test: * tests/bind.test: Make test suite more SCIM-tolerant. [Bug 1609316] 2007-05-16 Pat Thoyts * win/makefile.vc: Test ttk widgets. 2007-05-15 Joe English * unix/tkUnixRFont.c: Fix crash introduced by previous fix exposed under newer fontconfig libraries [Bug 1717830] again. 2007-05-15 Don Porter * generic/tkGrid.c: Stop crash due to list intrep shimmer [Bug 1677608] 2007-05-15 Joe English * unix/tkUnixRFont.c: Fix various memory leaks. [Bug 1717830], [Bug 800149] 2007-05-14 Don Porter [Tk Bug 1712081] * unix/Makefile.in: Updates to account for new and deleted files * win/Makefile.in: tkStubImg.c and tkOldTest.c. * win/makefile.bc: * win/makefile.vc: * generic/tkOldTest.c (new): New file used to create testing * generic/tkTest.c: commands for testing various Tk * tests/constraints.tcl: legacy interfaces where a separate * tests/image.test: compilation unit is needed in order to #define suitable macros during compilation. Only the effect of USE_OLD_IMAGE on Tk_CreateImageType() is currently tested, but more similar testing commands can be added to this same file. New constraint defined to detect presence of the image type provided by the new testing code, and a few tests added to exercise it. Having USE_OLD_IMAGE support tested by the default test suite should reduce chance of a recurrence of this bug. * doc/CrtImgType.3: Revised docs to better indicate the legacy * doc/CrtPhImgFmt.3: nature of the interfaces supported by USE_OLD_IMAGE. * generic/tkDecls.h: make genstubs * generic/tkStubInit.c: * generic/tk.decls: Reworked USE_OLD_IMAGE support to use * generic/tk.h: the same support mechanisms both with * generic/tkStubImg.c (deleted):and without a stub-enabled build. In each case, route the legacy calls to Tk_CreateImageType and Tk_CreatePhotoImageFormat through the Tk_CreateOldImageType and Tk_CreateOldPhotoImageFormat routines. Add those routines to the public stub table so they're available to a stub-enabled extension. Remove the definition of Tk_InitImageArgs() and use a macro to convert any calls to it in source code into a comment. * generic/tkImage.c: Removed the MODULE_SCOPE declarations that * generic/tkImgPhoto.c: broke USE_OLD_IMAGE support. 2007-05-11 Pat Thoyts * tests/winButton.test: Avoid font dependencies in results. * generic/tkFont.c: propagate error from TkDeleteNamedFont. [Bug 1716613] 2007-05-09 Daniel Steffen * generic/tkFileFilter.c (AddClause): OSType endianness fixes. * library/palette.tcl (tk::RecolorTree): handle color options with empty value, fixes error due to emtpy -selectforeground (reported on tcl-mac by Russel E. Owen). * macosx/tkMacOSXWindowEvent.c: ensure window is brought to the front * macosx/tkMacOSXMouseEvent.c: at the start of a window drag (except * macosx/tkMacOSXInt.h: when cmd key is down); formatting and whitespace fixes. * macosx/tkMacOSXDialog.c (Tk_GetSaveFileObjCmd): add -filetypes option processing (fixes fileDialog-0.1, fileDialog-0.2 failures). * macosx/tkMacOSXEmbed.c (TkpMakeWindow, TkpUseWindow): fix sending of Visibility event for embedded windows (fixes frame-3.9 hang). * macosx/tkMacOSXScrlbr.c (ScrollbarBindProc): fix testsuite * macosx/tkMacOSXSubwindows.c (TkMacOSXUpdateClipRgn): crashes by adding sanity checks. * macosx/Wish.xcodeproj/project.pbxproj: add 'DebugUnthreaded' & * macosx/Wish.xcodeproj/default.pbxuser: 'DebugLeaks' targets and env var settings needed to run the 'leaks' tool. * macosx/tkMacOSXButton.c: fix debug msg typo. * tests/constraints.tcl: ensure 'nonUnixUserInteraction' constraint is set for aqua. * tests/choosedir.test: add 'notAqua' constraints to X11-only tests; * tests/clrpick.test: add 'nonUnixUserInteraction' to 'unix' tests * tests/menuDraw.test: requiring interaction on aqua. * tests/unixMenu.test: * tests/unixWm.test: * tests/winMenu.test: 2007-05-07 Joe English * unix/tkUnixRFont.c: Properly cast sentinel arguments to variadic function (fixes "warning: missing sentinel in function call", [Bug 1712001]) 2007-05-04 Pat Thoyts * generic/tkFont.c: TIP #145 implementation - * generic/tkFont.h: Enhanced font handling. * win/tkWinDefault.h: * win/tkWinFont.c: * win/tkWinInt.h: * win/tkWinWm.c: * library/demos/widget: * library/ttk/fonts.tcl: 2007-05-04 Donal K. Fellows * doc/ttk_treeview.n, doc/ttk_panedwindow.n, doc/ttk_dialog.n: * doc/ttk_checkbutton.n, doc/tk.n, doc/menu.n, doc/font.n: * doc/canvas.n: Spelling fixes. [Bug 1686210] 2007-05-03 Donal K. Fellows * generic/tkStubLib.c (Tk_InitStubs): * generic/ttk/ttkLabel.c (LabelSetup): * unix/tkUnixSelect.c (ConvertSelection): * unix/tkUnixEvent.c (TkUnixDoOneXEvent): * generic/tkConfig.c (Tk_RestoreSavedOptions): * generic/tkCanvPs.c (TkCanvPostscriptCmd): * generic/tkOption.c (GetDefaultOptions): * unix/tkUnixRFont.c (TkpGetFontAttrsForChar, InitFont) (TkpGetFontFamilies, TkpGetSubFonts): * unix/tkUnixSend.c (TkpTestsendCmd, RegOpen): Squelch warnings from GCC type aliasing. [Bug 1711985 and others] 2007-04-29 Daniel Steffen * unix/configure.in: fix for default case in tk debug build detection. * unix/configure: autoconf-2.59 2007-04-27 Joe English * generic/ttk/ttkTreeview.c(TagOptionSpecs): Use TK_OPTION_STRING instead of TK_OPTION_FONT to avoid resource leak in tag management. 2007-04-26 Joe English * macosx/ttkMacOSXTheme.c: Merged OFFSET_RECT processing into BoxToRect(); factored out PatternOrigin; resynchronized with Tile codebase. 2007-04-26 Jeff Hobbs *** 8.5a6 TAGGED FOR RELEASE *** * unix/Makefile.in (dist): correct tests/ttk glob inclusion 2007-04-25 Jeff Hobbs * unix/Makefile.in (dist): add tests/ttk dir to src dist * unix/tkUnixMenubu.c (TkpDisplayMenuButton): init width/height to 0 2007-04-25 Daniel Steffen * unix/Makefile.in (dist): add macosx/*.xcconfig files to src dist; copy license.terms to dist macosx dir; fix autoheader bits. 2007-04-24 Jeff Hobbs * unix/Makefile.in (dist): add ttk bits to src dist * tests/font.test (font-46.[12]): correct listification of result 2007-04-23 Daniel Steffen * generic/tkCanvas.c: allow -selectforeground option to be None; add * generic/tkCanvText.c: fallback to fgColor when selFgColor is None * generic/tkEntry.c: (new default on aqua to match native L&F). * generic/tkListbox.c: * generic/tkText.c: * generic/tkCanvas.c: add support for bypassing all of Tk's double * generic/tkEntry.c: buffered drawing into intermediate pixmaps * generic/tkFrame.c: (via TK_NO_DOUBLE_BUFFERING #define), it is * generic/tkListbox.c: unnecessary & wasteful on aqua where all * generic/tkPanedWindow.c: drawing is already double-buffered by the * generic/tkTextDisp.c: window server. (Use of this on other * generic/ttk/ttkWidget.c: platforms would only require implementation * unix/tkUnixScale.c: of TkpClipDrawableToRect()). * macosx/tkMacOSXPort.h: * library/bgerror.tcl: on aqua, use moveable alert resp. modal dialog * library/dialog.tcl: window class and corresponding system background pattern; fix button padding. * library/tearoff.tcl: correct aqua menu bar height; vertically offset * library/tk.tcl: aqua tearoff floating window to match menu. * library/demos/goldberg.tcl: fix overwriting of widget demo global. * library/demos/menu.tcl: on aqua, use custom MDEF and tearoffs; * library/demos/menubu.tcl: correct menubutton toplevel name. * library/demos/puzzle.tcl: fix button size & padding for aqua. * library/demos/radio.tcl: * macosx/tkMacOSXCarbonEvents.c: add window event target carbon event * macosx/tkMacOSXEvent.c: handler for all kEventClassWindow and * macosx/tkMacOSXEvent.h: kEventClassMouse events; move all * macosx/tkMacOSXNotify.c: remaining events except for * macosx/tkMacOSXWindowEvent.c: kEventClassKeyboard from dispatcher to application event handler; pass event handler callRef downstream; fix debug event tracing; process all tcl event types in carbon event timer; delay carbon event timer first fire; add TkMacOSXTrackingLoop() to mark enter/exit of event tracking loop during which all tcl events but only carbon update events should be processed by the timer (replaces various calls to Tcl_SetServiceMode()); rename TkMacOSXReceiveAndProcessEvent() to TkMacOSXReceiveAndDispatchEvent(), move it from tkMacOSXEvent.c to tkMacOSXCarbonEvents.c and modify it to dequeue only update events during a tracking loop; add TkMacOSXRunTclEventLoop() to standardize the various ways in use to run the tcl event loop; add handling of kEventClassAppearance events (for ScrollBarVariantChanged event). * macosx/tkMacOSXDialog.c: use new TkMacOSXTrackingLoop() around * macosx/tkMacOSXEvent.c: blocking API that puts up modal dialogs * macosx/tkMacOSXMenu.c: or when entering/exiting menu/control * macosx/tkMacOSXMouseEvent.c: tracking, window dragging and other * macosx/tkMacOSXScale.c: mouse tracking loops. * macosx/tkMacOSXScrlbr.c: * macosx/tkMacOSXWindowEvent.c: * macosx/tkMacOSXWm.c: * macosx/tkMacOSXDialog.c: use new TkMacOSXRunTclEventLoop() * macosx/tkMacOSXScale.c: instead of Tcl_DoOneEvent(), * macosx/tkMacOSXScrlbr.c: Tcl_ServiceAll(), TclServiceIdle() * macosx/tkMacOSXWindowEvent.c: and Tcl_GlobalEval("update idletasks"). * macosx/tkMacOSXColor.c: make available as Tk system colors all * macosx/tkMacOSXPort.h: appearance manager brushes, text colors and backgrounds with new and legacy names, as well as the fully transparent color "systemTransparent"; add TkMacOSXSetColorIn{Port,Context}() to directly set an X pixel color value in the current QD port resp. the given CG context without requiring passage through rgb representation (lossy for most system colors); modernize/remove Classic-era code; replace crufty strcmp() elseifs by Tcl_GetIndexFromObjStruct(). * macosx/tkMacOSXButton.c: use new TkMacOSXSetColorInPort() * macosx/tkMacOSXDraw.c: instead of setting rgb color directly * macosx/tkMacOSXMenubutton.c: to allow for non-rgb system colors. * macosx/tkMacOSXCursor.c: implement "none" cursor as on other platforms [Patch 1615427]; add all missing appearance manager cursors. * macosx/tkMacOSXDefault.h: set SELECT_FG_COLORs to None to match aqua L&F; use standard system color names; use new 'menu' system font; correct default scrollbar width. * macosx/tkMacOSXDraw.c: standardize initialization, use and * macosx/tkMacOSXInt.h: emptying of various static temp rgns * macosx/tkMacOSXRegion.c: onto two global RgnHandles; in debug * macosx/tkMacOSXSubwindows.c: builds, verify emptiness of these temp * macosx/tkMacOSXWindowEvent.c: rgns before use. * macosx/tkMacOSXDraw.c: add TkMacOSX{Setup,Restore}DrawingContext() to * macosx/tkMacOSXInt.h: abstract common setup & teardown of drawing environment (for both CG and QD); save/restore QD theme drawing state; handle GC clip region; add TkpClipDrawableToRect() to allow clipped drawing into drawable regardless of GC used; use new system color "systemWindowHeaderBackground" to setup background in themed toplevels; correct implementation of TkMacOSXMakeStippleMap(). * macosx/tkMacOSXEntry.c: use new TkMacOSXSetupDrawingContext() and * macosx/tkMacOSXFont.c: TkMacOSXRestoreDrawingContext() instead of * macosx/ttkMacOSXTheme.c: various setup/teardown procs like TkMacOSX{SetUp,Release}CGContext(), TkMacOSXQuarz{Start,End}Draw(), TkMacOSXSetUpGraphicsPort() etc. * macosx/tkMacOSXEmbed.c: add CG context and drawable clip rgn fields * macosx/tkMacOSXInt.h: to MacDrawable struct. * macosx/tkMacOSXSubwindows.c: * macosx/tkMacOSXDialog.c: make -parent option of tk_getOpenFile et al. use the sheet version of NavServices dialogs; ensure native parent win exists before using StandardSheet API for tk_messageBox [Bug 1677611]; force sheets to behave like app-modal dialogs via WindowModality() API; use more modern ColorPicker API. * macosx/tkAboutDlg.r: use themed movable modal dialog, fix (c) year. * macosx/tkMacOSXEntry.c: take xOff/yOff of MacDrawable into account * macosx/ttkMacOSXTheme.c: when computing locations/bounds to ensure correct posititioning when not drawing into intermediate pixmap. * macosx/tkMacOSXFont.c: use appearance manager API to map system font * macosx/tkMacOSXFont.h: names to TkFonts; add "menu" system font for menu item text drawing from MDEF; always draw with CG; remove QD dependent stippling algorithm; move most header declarations into the source file (as they were not used anywhere else). * macosx/tkMacOSXMenu.c: large-scale rewrite of custom * macosx/tkMacOSXMenu.r (removed): MDEF and related code that * macosx/Wish.xcode/project.pbxproj: restores many longtime-MIA * macosx/Wish.xcodeproj/project.pbxproj: features to working order * unix/Makefile.in: (e.g. images, custom colors & fonts in menus etc); implement compound menu items; use Appearance Mgr and ThemeText APIs to mimic native MDEF as closely as possible when default "menu" system font is used; remove now obsolete SICN drawing code and resources. * macosx/tkMacOSXCarbonEvents.c: handle additional menu carbon events * macosx/tkMacOSXEvent.c: in order to support <> in * macosx/tkMacOSXMenu.c: the menubar and in menus that are not * macosx/tkMacOSXMenus.c: using the custom MDEF [Bug 1620826]; fix early and missing clearing of current Tk active menu entry; fix extraneous sending of <> during active menu entry clearing. * macosx/tkMacOSXMouseEvent.c: add support for async window dragging by the window server; set the corresponding window attribute by default. * macosx/tkMacOSXMouseEvent.c: rationalized handling order of non-mousedown events; add TkMacOSXModifierState() to retrieve the current key modifiers in carbon format. * macosx/tkMacOSXScrlbr.c: use appearance manager API to retrieve scrollbar component metrics; add awareness of multiple possibilites for scrollbar arrow position in aqua and handle user changes to arrow position pref; handle difference in metrics of small & large scrollbar variants; handle aqua "jump to here" scrollbar behaviour; correct computation of scroll view size and position; enforce min scrollbar height to avoid scrollbar component overlap; erase scrollbar area outside of standard width; remove broken auto-adjust code; account for window class when leaving space for grow box; remove code to manually draw grow box; use modern API for thumb scroll proc; replace HiliteControl() by modern API; replace control mgr constants with appearance mgr equivalents. * macosx/tkMacOSXSubwindows.c: use SetWindowBounds() API instead of SizeWindow(); invalidate clip regions after X{Map,Unmap}Window as fix for [Bug 940117] made them dependent on mapping state; remove unneeded calls to TkMacOSXInvalClipRgns() and unnecessary setting of QD port; use native-endian pixmap on intel; remove obsolete pixmap pix locking. * macosx/tkMacOSXWindowEvent.c: handle only the first of a batch of kEventAppAvailableWindowBoundsChanged events sent per transaction; handle kEventWindowBoundsChanged event to support live window resizing and centralized sending of location/size changed ConfigureNotify events; ensure HIGrowBox is redrawn after bounds change; constrain window after dragging to ensure titlebar is not inacessible offscreen or under dock/menubar; handle kEventWindowGetRegion and kEventWindowDrawContent for transparent windows to mark resp. paint content region as transparent; handle kEventWindowConstrain for fullscreen windows to ensure bounds match new screen size; enter/exit fullscreen UIMode upon activation/deactivation of fullscreen window. * macosx/tkMacOSXWm.c: use live-resize and async-drag carbon window * macosx/tkMacOSXWm.h: attributes for toplevels by default; implement new [wm attributes] -topmost, -transparent and -fullscreen; refactor WmAttributesCmd() parallelling the tkUnixWm.c implementation, use thus factored proc to set proxy icon from [wm iconbitmap]; dynamically determine default values for toplevel min and max sizes (similar to tkWinWm.c impl): min sizes depend on window class & attributes to ensure visibility of all titlebar widgets and grow box, max sizes depend on maximal window bounds for all active displays; factor out code that puts into effect changes to master or override_redirect; use RepositionWindow() API to determine staggered initial window bounds; correct resize limit calculations, handle gridding and use modern resize API in TkMacOSXGrowToplevel(); remove sending of ConfigureNotify after resize or zoom (now handled by BoundsChanged handler); correct composite carbon window attribute handling, remove currently unusable attributes and add new attributes in [tk::unsupported::MacWindowStyle]; ensure validity of window class and attributes before use; apply changes to window class when handling carbon window attribute changes (if HIWindowChangeClass() API available); add debug build warning message when deprecated window style is used instead of window class; use transparent HIGrowBox for resizable windows; avoid unnecessary calls to window structure width API; use tcl time API in TkpGetMS(); add TkMacOSXEnterExitFullscreen() to enter/exit UIMode with dock and menubar hidden; restrict wmTracing output to debug builds; remove unneeded calls to TkMacOSXInvalClipRgns() and unnecessary setting of QD port; workaround GetWindowStructureWidths() Carbon bug (bogus results for never-mapped floating windows). * macosx/tkMacOSXXStubs.c (TkMacOSXDisplayChanged): add maximal window bounds field to Screen record (in ext_data), computed as the union of available window positioning bounds of all graphics devices (displays). * macosx/tkMacOSXBitmap.c: fix macRoman encoding leak. * macosx/tkMacOSXCursor.c: * macosx/tkMacOSXDebug.c (TkMacOSXCarbonEventToAscii): use static * macosx/tkMacOSXDebug.h: buffer to simplify callers; const fixes. * macosx/tkMacOSXBitmap.c: use more efficient QDSwapPort() instead of * macosx/tkMacOSXButton.c: GetPort()/SetPort()/GetGWorld()/SetGWorld(). * macosx/tkMacOSXDraw.c: * macosx/tkMacOSXMenubutton.c: * macosx/tkMacOSXScale.c: * macosx/tkMacOSXScrlbr.c: * macosx/tkMacOSXXStubs.c: * macosx/tkMacOSXColor.c: use kHIToolboxVersionNumber for runtime OS * macosx/tkMacOSXEntry.c: version check rather than Gestalt() etc. * macosx/tkMacOSXInt.h: * macosx/tkMacOSXWm.c: * macosx/tkMacOSXDraw.c: remove obsolete and now incorrect * macosx/tkMacOSXInt.h: tkMenuCascadeRgn clipping code. * macosx/tkMacOSXMenu.c: * macosx/tkMacOSXHLEvents.c: replace Tcl_GlobalEval() resp. Tcl_Eval() * macosx/tkMacOSXScrlbr.c: by Tcl_EvalEx(). * macosx/tkMacOSXInit.c: * macosx/tkMacOSXInit.c (TkpInit): reorder initialization steps. * macosx/tkMacOSXKeyEvent.c: remove pre-10.2 support. * macosx/tkMacOSXMenus.c: remove now useless call to TkMacOSXHandleTearoffMenu(); use \x.. quoting for non-latin1 macroman literar chars to allow file to be edited as utf-8. * macosx/tkMacOSXScale.c: replace TrackControl() by modern * macosx/tkMacOSXScrlbr.c: HandleControlClick() API (using new TkMacOSXModifierState()). * macosx/tkMacOSXInt.h: move all constant #defines needed to * macosx/tkMacOSXColor.c: support building on older OS X releases * macosx/tkMacOSXEvent.h: to a central location in tkMacOSXInt.h. * macosx/tkMacOSXFont.c: * macosx/tkMacOSXMenu.c: * macosx/tkMacOSXMenubutton.c: * macosx/tkMacOSXMenus.c: * macosx/tkMacOSXMouseEvent.c: * macosx/tkMacOSXWm.c: * macosx/ttkMacOSXTheme.c: * macosx/tkMacOSXInt.h: add ChkErr() macro to factor out * macosx/tkMacOSXButton.c: Carbon OSStatus return value checking * macosx/tkMacOSXCarbonEvents.c: and TkMacOSXDbgMsg() macro to factour * macosx/tkMacOSXClipboard.c: out debug message output; use these * macosx/tkMacOSXColor.c: macros to replace #ifdef TK_MAC_DEBUG * macosx/tkMacOSXCursor.c: blocks & direct printing to stderr, * macosx/tkMacOSXDebug.c: and to do additional OSStatus return * macosx/tkMacOSXDialog.c: checking, and to standardize OSStatus * macosx/tkMacOSXDraw.c: usage. * macosx/tkMacOSXEntry.c: * macosx/tkMacOSXEvent.c: * macosx/tkMacOSXFont.c: * macosx/tkMacOSXHLEvents.c: * macosx/tkMacOSXInit.c: * macosx/tkMacOSXKeyEvent.c: * macosx/tkMacOSXMenu.c: * macosx/tkMacOSXMenubutton.c: * macosx/tkMacOSXMenus.c: * macosx/tkMacOSXMouseEvent.c: * macosx/tkMacOSXScrlbr.c: * macosx/tkMacOSXSubwindows.c: * macosx/tkMacOSXWindowEvent.c: * macosx/tkMacOSXWm.c: * macosx/tkMacOSXXStubs.c: * macosx/tkMacOSXSend.c: remove duplicate/unused declarations. * macosx/tkMacOSXXStubs.c: * macosx/tkMacOSXDebug.c: const fixes. * macosx/tkMacOSXInit.c: * macosx/tkMacOSXTest.c: * macosx/tkMacOSXWm.c: * macosx/tkMacOSXXStubs.c: * macosx/Wish-Info.plist.in: add tcl document extensions/mime types and LSMinimumSystemVersion, LSRequiresCarbon & NSAppleScriptEnabled keys. * macosx/Wish-Common.xcconfig: add Wish's Info.plist as __info_plist section to tktest; enable more warnings. * macosx/Wish.xcodeproj/project.pbxproj: add 'DebugMemCompile' build configuration that calls configure with --enable-symbols=all; disable configure check for __attribute__((__visibility__("hidden"))) in Debug configuration to restore availability of ZeroLink. * macosx/Wish-Common.xcconfig: fix whitespace. * macosx/Wish-Debug.xcconfig: * macosx/Wish-Release.xcconfig: * macosx/tkMacOSXAETE.r: * macosx/tkMacOSXConfig.c: * macosx/tkMacOSXCursors.r: * macosx/tkMacOSXKeyboard.c: * macosx/tkMacOSXSend.c: * macosx/ttkMacOSXTheme.c: * macosx/tkMacOSXXCursors.r: * macosx/README: * macosx/GNUmakefile: fix/add copyright and license refs. * macosx/Tk-Info.plist.in: * macosx/Wish-Info.plist.in: * macosx/Wish.xcode/project.pbxproj: * macosx/Wish.xcodeproj/project.pbxproj: * macosx/tkMacOSX.h: * unix/configure.in: install license.terms into Tk.framework; fix tk debug build detection. * unix/configure: autoconf-2.59 * doc/colors.n: document new Mac OS X system colors. * doc/cursors.n: document new Mac OS X native cursors. * doc/font.n: document new Mac OS X 'menu' system font. * doc/wm.n: document new Mac OS X [wm attributes]. * doc/ttk_image.n: fix 'make html' warning. * doc/canvas.n: fix nroff typo. 2007-04-21 Jeff Hobbs * macosx/tkMacOSXBitmap.c, macosx/tkMacOSXButton.c: * macosx/tkMacOSXCarbonEvents.c, macosx/tkMacOSXClipboard.c: * macosx/tkMacOSXCursor.c, macosx/tkMacOSXDialog.c: * macosx/tkMacOSXDraw.c, macosx/tkMacOSXEvent.c: * macosx/tkMacOSXFont.c, macosx/tkMacOSXInit.c, macosx/tkMacOSXInt.h: * macosx/tkMacOSXKeyEvent.c, macosx/tkMacOSXMenu.c: * macosx/tkMacOSXMenubutton.c, macosx/tkMacOSXMouseEvent.c: * macosx/tkMacOSXScale.c, macosx/tkMacOSXWindowEvent.c: * macosx/tkMacOSXWm.c: Revert of commits from 2007-04-13 which broke the OS X build. 2007-04-17 Donal K. Fellows * generic/tkFont.c, generic/tkListbox.c, unix/tkUnixSelect.c: * win/ttkWinMonitor.c, win/ttkWinTheme.c, win/ttkWinXPTheme.c: Make the format of declarations much more standardized (removing K&R-isms and other things like that). 2007-04-13 Donal K. Fellows * macosx/tkMacOSXInt.h (LOG_MSG, LOG_ON_ERROR): Added macros to make the OSX code much less #ifdef-full. 2007-04-12 Jeff Hobbs * library/ttk/panedwindow.tcl (ttk::panedwindow::Press): handle Press triggering outside sash element boundaries. 2007-04-10 Joe English * win/ttkWinMonitor.c, win/ttkWinXPTheme.c: Re-sync with Tile codebase so patches can flow back and forth. * win/ttkWinXPTheme.c: Skip OS version test, should work on Vista/Aero now as well as XP. Fixes [Bug 1687299], thanks to George Petasis for tracking this down. 2007-03-21 Joe English * generic/ttk/ttkLayout.c(Ttk_BuildLayoutTemplate): BUGFIX: Nested TTK_GROUP nodes did not work unless they appeared at the end of the layout (and only by accident then). 2007-03-08 Joe English * tests/grid.test(grid-21.7): Reset wm geometry . and pack propagate . at end of test. 'pack propagate . 0' was causing cascading failures in subsequent tests. [Bug 1676770] 2007-03-07 Daniel Steffen * generic/tkMain.c (Tk_MainEx): replicate macosx-specific code from TkpInit() that ensures the console window appears when wish is started from the OS X Finder (i.e. with stdin == /dev/null), jeffh's 2006-11-24 change rendered the corresponding code in TkpInit() ineffective in wish because Tk_MainEx() sets tcl_interactive before calling TkpInit(). * generic/ttk/ttkGenStubs.tcl (new): add ttk-specific genstubs.tcl from * unix/Makefile.in (genstubs): tile and run it from 'genstubs' target, restores ability to generate all of Tk's stub sources. * generic/ttk/ttkTreeview.c: #ifdef out unused declaration. * macosx/tkMacOSXDebug.c (TkMacOSXGetNamedDebugSymbol): add fix for libraries loaded with a DYLD_IMAGE_SUFFIX. * macosx/Wish.xcodeproj/project.pbxproj: ensure gcc version used by * macosx/Wish.xcodeproj/default.pbxuser: Xcode and configure/make are * macosx/Wish-Common.xcconfig: consistent and independent of gcc_select default and CC env var; fixes for Xcode 3.0. * unix/tcl.m4 (Darwin): s/CFLAGS/CPPFLAGS/ in macosx-version-min check. * unix/configure: autoconf-2.59 2007-02-25 Peter Spjuth * generic/tkUtil.c: Fixed grid anchor center problem in labelframes. * tests/grid.test: [Bug 1545765] 2007-02-23 Jeff Hobbs * library/ttk/notebook.tcl (ttk::notebook::enableTraversal): OS X needs Option instead of Alt binding 2007-02-19 Jeff Hobbs * unix/tcl.m4: use SHLIB_SUFFIX=".so" on HP-UX ia64 arch. * unix/configure: autoconf-2.59 * library/tkfbox.tcl (::tk::IconList_Goto): avoid goto issues in empty dirs. [Bug 1662959] 2007-02-09 Joe Mistachkin * win/nmakehlp.c: Properly cleanup after nmakehlp, including the * win/makefile.vc: vcX0.pch file. Sync up fixed nmakehlp usage from Tcl. 2007-02-06 Joe English * library/ttk/ttk.tcl: Add no-op [package ifneeded] script for tile 0.8.0, so that existing applications that use "package require tile" won't fail when run under Tk 8.5. 2007-02-04 Daniel Steffen * unix/tcl.m4: use gcc4's __attribute__((__visibility__("hidden"))) if available to define MODULE_SCOPE effective on all platforms. * unix/configure.in: add caching to -pipe check. * unix/configure: autoconf-2.59 * unix/tkConfig.h.in: autoheader-2.59 2007-02-03 Joe Mistachkin * win/rules.vc: Fix platform specific file copy macros for downlevel Windows. * win/ttkWinMonitor.c: Windows portability support. Fix "noxp" build * win/ttkWinXPTheme.c: option handling and use GetWindowLongPtr and SetWindowLongPtr only when needed. 2007-02-02 Pat Thoyts * win/ttkWinXPTheme.c: Support IsAppThemed() call. This is what is used when theming is turned off just for an individual application. 2007-01-28 Daniel Steffen * macosx/Wish.xcodeproj/project.pbxproj: extract build settings that * macosx/Wish.xcodeproj/default.pbxuser: were common to multiple * macosx/Wish-Common.xcconfig (new file): configurations into external * macosx/Wish-Debug.xcconfig (new file): xcconfig files; add extra * macosx/Wish-Release.xcconfig (new file): configurations for building with SDKs; convert legacy jam-based 'Tk' target to native target with single script phase; correct syntax of build setting references to use $() throughout; remove unused tcltest sources from 'tktest' target. * macosx/README: document new Wish.xcodeproj configurations; other minor updates/corrections. * generic/tk.h: update location of version numbers in macosx files. * macosx/Wish.xcode/project.pbxproj: restore 'tktest' target to working * macosx/Wish.xcode/default.pbxuser: order by replicating applicable changes to Wish.xcodeproj since 2006-07-20. 2007-01-25 Daniel Steffen * unix/tcl.m4: integrate CPPFLAGS into CFLAGS as late as possible and move (rather than duplicate) -isysroot flags from CFLAGS to CPPFLAGS to avoid errors about multiple -isysroot flags from some older gcc builds. * unix/configure: autoconf-2.59 2007-01-19 Joe Mistachkin * win/makefile.vc: Properly build man2tcl.c for MSVC8. 2007-01-19 Daniel Steffen * macosx/Wish.xcodeproj/project.pbxproj: remove libtommath defines. * unix/tcl.m4: ensure CPPFLAGS env var is used when set. [Bug 1586861] (Darwin): add -isysroot and -mmacosx-version-min flags to CPPFLAGS when present in CFLAGS to avoid discrepancies between what headers configure sees during preprocessing tests and compiling tests. * unix/configure: autoconf-2.59 2007-01-11 Jeff Hobbs * unix/tkUnixEvent.c, library/msgs/es.msg: s/CRLF/LF/g 2007-01-11 Joe English * win/tcl.m4 (CFLAGS_WARNING): Remove "-Wconversion". This was removed from unix/tcl.m4 2004-07-16 but not from here. * win/configure: Regenerated. 2007-01-11 Joe English * generic/ttk/ttkManager.h, generic/ttk/ttk*.c: Revert addition of contravariant 'const' qualifiers, to keep in sync with Tile codebase (which must remain compatible with Tk 8.4). 2007-01-03 Jan Nijtmans * doc/ManageGeom.3, * generic/tk.decls, * generic/tk.h: Add const to 2nd parameter of Tk_ManageGeometry * generic/tkDecls.h: regenerated * generic/tkInt.h, * generic/tk*.c, * generic/ttk/ttk*.c: Added many "const" specifiers in implementation. 2007-01-02 Donal K. Fellows * xlib/*: Made the generic fake-X11 glue layer abide by the formatting rules of the core. 2006-12-31 Benjamin Riefenstahl * macosx/tkMacOSXFont.c: Fill-in TkpGetFontAttrsForChar (TIP #300). * macosx/ttkMacOSXTheme.c: Define a constant to make it compile on Mac OS X 10.3. 2006-12-28 Mo DeJong * tests/wm.test: Update wm attributes output so that tests pass after addition of -transparentcolor for Win32. 2006-12-26 Joe English * generic/ttk/ttkLabel.c: ImageElement clientData no longer needed. 2006-12-22 Donal K. Fellows * unix/tkUnixEvent.c (TkUnixDoOneXEvent): Made correct on AMD64 and other similar 64-bit systems where fd_mask is not 'unsigned int' in effect. [Bug 1522467] * library/msgs/es_ES.msg (removed): * library/msgs/es.msg: Fixed translation fault that was present in all Spanish-speaking locales. [Bug 1111213] 2006-12-19 Jeff Hobbs * win/tkWinButton.c (TkpDisplayButton): lint init. [Bug 1618604] 2006-12-19 Daniel Steffen * unix/tcl.m4 (Darwin): --enable-64bit: verify linking with 64bit -arch flag succeeds before enabling 64bit build. * unix/configure: autoconf-2.59 2006-12-18 Joe English * generic/ttk/ttkTreeview.c, library/ttk/treeview.tcl, doc/treeview.n: Added column '-stretch' and '-minwidth' options. Improved column drag and resize behavior. Added horizontal scrolling [#1518650]. Row height and child indent specifiable on Treeview style. Decreased default row height, no default -padding. Use correct heading height [#1163349]. Apply tag settings to tree item as well as to data columns [NOTE: 'tag configure' still buggy]. Fix off-by-one condition when moving nodes forward [#1618142] * generic/ttk/ttkScroll.c (TtkScrollTo): Prevent overscroll [#1173434] * library/ttk/altTheme.tcl, library/ttk/aquaTheme.tcl, * library/ttk/clamTheme.tcl, library/ttk/classicTheme.tcl, * library/ttk/defaults.tcl, library/ttk/winTheme.tcl, * library/ttk/xpTheme.tcl: Per-theme treeview settings. * macosx/ttkMacOSXTheme.c: Added disclosure triangle element. 2006-12-17 Joe English * library/ttk/combobox.tcl, generic/ttk/ttkEntry.c, * doc/ttk_combobox.n: Add combobox -height option; only show scrollbar if the listbox needs to scroll. [Bug 1032869] 2006-12-16 Mo DeJong * doc/cursors.n: Mention "none" in supported cursor list. Fix comment that incorrectly claims that the Win32 "no" cursor hides the cursor. * tests/cursor.test: Test "none" cursor. * unix/tkUnixCursor.c (CreateCursorFromTableOrFile) (TkGetCursorByName): Define a table of Tk cursors that is searched in addition to the X cursor table. A Tk cursor is loaded from a data string and works with the same options as the built in X cursors. This code makes it possible to use "none" as a cursor name under Unix. * win/rc/cursor9a.cur: Added none Win32 cursor. * win/rc/tk_base.rc: Define a built-in Win32 cursor named "none". [Patch 1615427] 2006-12-14 Joe English * generic/ttk/ttkButton.c, generic/ttk/ttkElements.c, * generic/ttk/ttkEntry.c, generic/ttk/ttkFrame.c, * generic/ttk/ttkImage.c, generic/ttk/ttkInit.c, * generic/ttk/ttkLabel.c, generic/ttk/ttkNotebook.c, * generic/ttk/ttkPanedwindow.c, generic/ttk/ttkProgress.c, * generic/ttk/ttkScale.c, generic/ttk/ttkScrollbar.c, * generic/ttk/ttkSeparator.c, generic/ttk/ttkTheme.h, * generic/ttk/ttkTreeview.c, generic/ttk/ttkWidget.h: Global reduction: use per-file *_Init() routines to reduce the number of globally-visible initialization records. 2006-12-13 Jeff Hobbs * unix/Makefile.in (install-doc): intentionally skip ttk_dialog.n installation (not for public consumption) * doc/scrollbar.n, doc/button.n, doc/checkbutton.n: * doc/entry.n, doc/frame.n, doc/label.n, doc/labelframe.n: * doc/menu.n, doc/menubutton.n, doc/panedwindow.n: * doc/radiobutton.n, doc/scrollbar.n, doc/ttk_*: revamp ttk docs to use consist nroff format (not 100% consistent with classic widget docs). Add more man page cross-linking "SEE ALSO". * generic/ttk/ttkInit.c: * generic/ttk/ttkTreeview.c: make treeview exist by default * generic/ttk/ttkPanedwindow.c: s/TtkPaned_Init/TtkPanedwindow_Init/ * win/Makefile.in, unix/Makefile.in (demo): add 'demo' target 2006-12-13 Joe English * library/ttk/ttk.tcl: Try to straighten out theme loading and selection logic. * generic/ttk/ttkElements.c, library/ttk/defaults.tcl, * generic/ttk/ttkClamTheme.c, library/ttk/clamTheme.tcl: Provide package in C part instead of Tcl part. 2006-12-12 Joe English * library/ttk/ttk.tcl, generic/ttkTheme.c: Remove nonfunctional code. 2006-12-12 Mo DeJong * win/tkWinButton.c (InitBoxes): Call Tcl_Panic() if loading of bitmap resources fails. This change generates an error if Tk is unable to find button widget resources instead of silently failing and then drawing widgets incorrectly. * win/rc/tk_base.rc: If the user defines BASE_NO_TK_ICON then compile the base resources file without a "tk" icon. This change makes it easier to replace the default tk icon with a custom icon. [Patch 1614362] 2006-12-11 Donal K. Fellows * unix/tkUnixWm.c (TkWmMapWindow, WmClientCmd): Added support for _NET_WM_PID property from the EWMH spec. This is only installed when the client machine is set. (WmProtocolCmd, UpdateWmProtocols, TkWmProtocolEventProc): Added support for the _NET_WM_PING protocol from the EWMH spec. Note that the support for this is not exposed to the script level as that would prevent correct handling. 2006-12-10 Joe English * generic/ttk/ttkTheme.h, generic/ttk/ttkThemeInt.h, * generic/ttk/ttk.decls, generic/ttk/ttkTheme.c, * generic/ttk/ttkLayout.c, generic/ttk/ttkDecls.h: Rename typedef Ttk_Element => Ttk_ElementImpl. 2006-12-09 Joe English * generic/ttk/ttkButton.c, generic/ttk/ttkImage.c, * generic/ttk/ttkLabel.c, generic/ttk/ttkWidget.h, * generic/ttk/ttkTheme.h, generic/ttk/ttkNotebook.c, * generic/ttk/ttkTreeview.c, doc/ttk_image.n: Merged duplicate functionality between image element factory, image element, and -image option processing. Image element factory now takes an imageSpec argument instead of a separate image name and -map option * tests/ttk/image.test(image-1.1): Can catch this error earlier now. 2006-12-06 Kevin Kenny * unix/configure.in: Further changes to avoid attempting to link * unix/configure: against Xft libraries in a non-Xft build [Bug 1609616] (dgp) 2006-12-04 Jeff Hobbs * generic/tkListbox.c (ConfigureListboxItem): ListboxWorldChanged not needed - just call EventuallyRedrawRange. [Bug 1608046] (rezic) 2006-12-04 Donal K. Fellows TIP #286 IMPLEMENTATION * generic/tkMenu.c (MenuWidgetObjCmd, MenuDoXPosition): * doc/menu.n, tests/menu.test: Added an [$menu xposition] subcommand which is useful in menubars and when menus use multiple columns. Many thanks to Schelte Bron for the implementation. 2006-12-01 Kevin Kenny TIP #300 IMPLEMENTATION * doc/font.n: Added a [font actual $font $char] * generic/tkFont.c: variant that introspects the font that * generic/tkFont.h: is chosen to render a given character * macosx/tkMacOSXFont.c: in a given nominal font. Added * tests/font.test: documentation and test cases for the * unix/tkUnixFont.c: new command syntax. * unix/tkUnixRFont.c: * win/tkWinFont.c: 2006-12-01 Jeff Hobbs * doc/wm.n, tests/winWm.test: * win/tkWinWm.c: add -transparentcolor attribute for Windows. 2006-12-01 Joe English * generic/ttk/ttkTheme.h, generic/ttk/ttkLayout.c: Dead code removal. 2006-11-30 Daniel Steffen * macosx/tkMacOSXDialog.c (Tk_MessageBoxObjCmd): fix inability to use buttons with standard Escape key binding as -default button (reported on tcl-mac by Hans-Christoph Steiner). * macosx/tkMacOSXWm.c (WmAttributesCmd): fix getting [wm attr -alpha]. [Bug 1581932] 2006-11-28 Joe English * library/ttk/fonts.tcl: Clean up temporary variables. 2006-11-27 Kevin Kenny * unix/configure.in: Corrected Xft configuration so that Xft actually does get turned on when available. * unix/configure: autoconf 2006-11-26 Joe English * generic/ttk/ttkWidget.c, generic/ttk/ttkPaned.c: Fix [Bug 1603506] * library/ttk/button.tcl, library/ttk/combobox.tcl, * library/ttk/utils.tcl: Rename ttk::CopyBindings to ttk::copyBindings * generic/ttk/ttkTreeview.c, doc/ttk_treeview.n: -displaycolumns {} now means "no columns" instead of "all columns". Use -displaycolumns #all for "all columns". [Bug 1547622] 2006-11-26 Daniel Steffen * unix/tcl.m4 (Linux): --enable-64bit support. [Patch 1597389] * unix/configure: autoconf-2.59 [Bug 1230558] 2006-11-24 Jeff Hobbs * macosx/tkMacOSXInit.c (TkpInit): only set tcl_interactive 1 if it isn't already defined. Allows embedders to set it to 0 to prevent the console appearing on OS X. [Bug 1487701] * unix/tkUnixMenu.c (DrawMenuUnderline): bound Tcl_UtfAtIndex usage * tests/menu.test (menu-36.1): [Bug 1599877] 2006-11-24 Joe English * library/ttk/altTheme.tcl, library/ttk/clamTheme.tcl, * library/ttk/defaults.tcl, library/ttk/winTheme.tcl, * library/ttk/xpTheme.tcl: explicitly specify -anchor w on TMenubutton * tests/ttk/entry.test: Fixed font dependency; test entry-3.2 should work on all platforms now. * library/classicTheme.tcl: Don't define or use TkClassicDefaultFont. * generic/ttk/ttkTreeview.c, generic/ttk/ttkPanedwindow.c: Handle missing layouts. 2006-11-23 Jeff Hobbs * win/tkWinMenu.c (TkWinHandleMenuEvent, DrawMenuUnderline): Handle unichar underlining correctly and safely. [Bug 1599877] 2006-11-20 Joe English * win/ttkWinXPTheme.c: Add support for alternate/indeterminate checkbutton state. Fix various spacing parameters [Bug 1596020, patch from Tim Baker]. Remove unused uxtheme hooks. 2006-11-16 Donal K. Fellows * doc/colors.n, doc/wm.n: Minor fixes, added See Also. * doc/labelframe.n: Added an example. 2006-11-15 Donal K. Fellows * doc/label.n: Added an example and some See Also refs. * doc/ConfigWidg.3, doc/bind.n, doc/grid.n, doc/panedwindow.n: * doc/text.n, doc/ttk_Geometry.3, doc/ttk_button.n: * doc/ttk_checkbutton.n, doc/ttk_combobox.n, doc/ttk_dialog.n: * doc/ttk_entry.n, doc/ttk_frame.n, doc/ttk_image.n, doc/ttk_intro.n: * doc/ttk_label.n, doc/ttk_labelframe.n, doc/ttk_menubutton.n: * doc/ttk_notebook.n, doc/ttk_panedwindow.n, doc/ttk_progressbar.n: * doc/ttk_radiobutton.n, doc/ttk_scrollbar.n, doc/ttk_separator.n: * doc/ttk_sizegrip.n, doc/ttk_style.n, doc/ttk_widget.n, doc/wm.n: Convert \fP to \fR so that man-page scrapers have an easier time. 2006-11-14 Joe English * generic/ttk/ttkDefaultTheme.c: Fix off-by-one bug in tree indicator size computation [Bug 1596021, patch from Tim Baker]. Increased default size from 7 to 9 pixels. 2006-11-12 Joe English * generic/ttkScroll.c: *correct* fix for [Bug 1588251]. 2006-11-12 Joe English * tests/ttk/ttk.test(ttk-6.9): Workaround for [Bug 1583038] 2006-11-12 Joe English * generic/ttkScroll.c: Reworked cleanup procedure; "self-cancelling" idle call is not robust, call Tcl_CancelIdleCall() in TtkFreeScrollHandle instead. Fixes [Bug 1588251] 2006-11-10 Daniel Steffen * macosx/Wish.xcodeproj/project.pbxproj: remove tclParseExpr.c and bwidget.test. * unix/tcl.m4 (Darwin): suppress linker arch warnings when building universal for both 32 & 64 bit and no 64bit CoreFoundation is available; sync with tcl tcl.m4 change. * unix/configure: autoconf-2.59 * unix/tkConfig.h.in: autoheader-2.59 2006-11-08 Kevin Kenny * unix/configure.in: Silenced warnings about missing Xft configuration unless --enable-xft is requested explicitly. Also added a few basic checks that we can actually compile and link against Xft headers and libraries. [Bug 1592667] * unix/configure: Regen. 2006-11-07 Kevin Kenny * unix/configure.in: Made --enable-xft the default. * unix/configure: Regen. 2006-11-06 Joe English * generic/ttk/ttkClassicTheme.c, generic/ttk/ttkPanedwindow.c, * generic/ttk/ttkTheme.c, generic/ttk/ttkTreeview.c, * win/ttkWinXPTheme.c, library/ttk/entry.tcl, * library/ttk/notebook.tcl, library/ttk/panedwindow.tcl, * library/ttk/utils.tcl, tests/ttk/entry.test, tests/ttk/bwidget.test: Miscellaneous minor changes to re-sync Ttk codebase with Tile CVS: fix comments damaged by overzealous search-and-destroy; removed obsolete [style default] synonym for [ttk::style configure]; removed other dead code. 2006-11-03 Pat Thoyts * library/safetk.tcl (::safe::tkTopLevel): Theme it. * generic/ttk/ttkLayout.c: We do not want to require tkInt in all * generic/ttk/ttkMananager.h: the ttk files so added the definition * generic/ttk/ttkTheme.h: of MODULE_SCOPE to ttkTheme.h. Ensures * generic/ttk/ttkWinMonitor.c: everyone gets to see the definition from someplace. * library/ttk/fonts.tcl: In a safe interp there is no osVersion field in tcl_platform so work around it. 2006-11-02 Daniel Steffen * generic/ttk/ttkBlink.c, generic/ttk/ttkButton.c: * generic/ttk/ttkClamTheme.c, generic/ttk/ttkClassicTheme.c: * generic/ttk/ttkDecls.h, generic/ttk/ttkDefaultTheme.c: * generic/ttk/ttkElements.c, generic/ttk/ttkEntry.c: * generic/ttk/ttkFrame.c, generic/ttk/ttkImage.c: * generic/ttk/ttkInit.c, generic/ttk/ttkLabel.c: * generic/ttk/ttkLayout.c, generic/ttk/ttkManager.h: * generic/ttk/ttkNotebook.c, generic/ttk/ttkPanedwindow.c: * generic/ttk/ttkProgress.c, generic/ttk/ttkScale.c: * generic/ttk/ttkScroll.c, generic/ttk/ttkScrollbar.c: * generic/ttk/ttkSeparator.c, generic/ttk/ttkSquare.c: * generic/ttk/ttkStubInit.c, generic/ttk/ttkStubLib.c: * generic/ttk/ttkTheme.c, generic/ttk/ttkTheme.h: * generic/ttk/ttkThemeInt.h, generic/ttk/ttkTrack.c: * generic/ttk/ttkTreeview.c, generic/ttk/ttkWidget.c: * generic/ttk/ttkWidget.h, macosx/ttkMacOSXTheme.c: * win/ttkWinMonitor.c, win/ttkWinTheme.c, win/ttkWinXPTheme.c: ensure all global Ttk symbols have Ttk or ttk prefix; declare all externally visible Ttk symbols not contained in stubs table as MODULE_SCOPE (or as static when possible); so that 'make check{exports,stubs}' once again complete without errors. * macosx/tkMacOSXColor.c (TkMacOSXCompareColors): ifdef out when unused * macosx/Wish.xcodeproj/project.pbxproj: check autoconf/autoheader exit status and stop build if they fail. * macosx/tkMacOSXWindowEvent.c (GenerateUpdateEvent): fix handling of Carbon Update events: the QuickDraw window update region was being ignored and all child TkWindows were sent an Expose XEvent even when they did not need to be redrawn. [Patch 1589226] 2006-11-01 Daniel Steffen * macosx/tkMacOSXDebug.c: add TkMacOSX prefix to leftover * macosx/tkMacOSXDebug.h: macosx-private global symbols without Tk * macosx/tkMacOSXEmbed.c: prefix; ifdef out currently unused debug * macosx/tkMacOSXEvent.c: procs. * macosx/tkMacOSXInt.h: * macosx/tkMacOSXCarbonEvents.c: * macosx/tkMacOSXSubwindows.c: * macosx/tkMacOSXWm.c: 2006-10-31 Pat Thoyts * win/makefile.vc: Added ttk files to msvc build and add manifest * win/rules.vc: files to binaries with MSVC8. 2006-10-31 Daniel Steffen * macosx/Wish.xcodeproj/project.pbxproj: add new Ttk files. * macosx/ttkMacOSXTheme.c: standardize header #includes. * unix/Makefile (checkstubs, checkexports): check ttk.decls, allow export of Ttk prefixed symbols. * generic/ttk/tkDefaultTheme.c: fix warnings. 2006-10-30 Jeff Hobbs * doc/ttk_Geometry.3, doc/ttk_Theme.3, doc/ttk_button.n: * doc/ttk_checkbutton.n, doc/ttk_combobox.n, doc/ttk_dialog.n: * doc/ttk_entry.n, doc/ttk_frame.n, doc/ttk_image.n: * doc/ttk_intro.n, doc/ttk_label.n, doc/ttk_labelframe.n: * doc/ttk_menubutton.n, doc/ttk_notebook.n, doc/ttk_panedwindow.n: * doc/ttk_progressbar.n, doc/ttk_radiobutton.n, doc/ttk_scrollbar.n: * doc/ttk_separator.n, doc/ttk_sizegrip.n, doc/ttk_style.n: * doc/ttk_treeview.n, doc/ttk_widget.n,: * generic/ttk/ttk.decls, generic/ttk/ttkBlink.c: * generic/ttk/ttkButton.c, generic/ttk/ttkCache.c: * generic/ttk/ttkClamTheme.c, generic/ttk/ttkClassicTheme.c: * generic/ttk/ttkDecls.h, generic/ttk/ttkDefaultTheme.c: * generic/ttk/ttkElements.c, generic/ttk/ttkEntry.c: * generic/ttk/ttkFrame.c, generic/ttk/ttkImage.c: * generic/ttk/ttkInit.c, generic/ttk/ttkLabel.c: * generic/ttk/ttkLayout.c, generic/ttk/ttkManager.c: * generic/ttk/ttkManager.h, generic/ttk/ttkNotebook.c: * generic/ttk/ttkPanedwindow.c, generic/ttk/ttkProgress.c: * generic/ttk/ttkScale.c, generic/ttk/ttkScroll.c: * generic/ttk/ttkScrollbar.c, generic/ttk/ttkSeparator.c: * generic/ttk/ttkSquare.c, generic/ttk/ttkState.c: * generic/ttk/ttkStubInit.c, generic/ttk/ttkStubLib.c: * generic/ttk/ttkTagSet.c, generic/ttk/ttkTheme.c: * generic/ttk/ttkTheme.h, generic/ttk/ttkThemeInt.h: * generic/ttk/ttkTrace.c, generic/ttk/ttkTrack.c: * generic/ttk/ttkTreeview.c, generic/ttk/ttkWidget.c: * generic/ttk/ttkWidget.h: * library/demos/ttk_demo.tcl, library/demos/ttk_iconlib.tcl: * library/demos/ttk_repeater.tcl: * library/ttk/altTheme.tcl, library/ttk/aquaTheme.tcl: * library/ttk/button.tcl, library/ttk/clamTheme.tcl: * library/ttk/classicTheme.tcl, library/ttk/combobox.tcl: * library/ttk/cursors.tcl, library/ttk/defaults.tcl: * library/ttk/dialog.tcl, library/ttk/entry.tcl: * library/ttk/fonts.tcl, library/ttk/icons.tcl: * library/ttk/keynav.tcl, library/ttk/menubutton.tcl: * library/ttk/notebook.tcl, library/ttk/panedwindow.tcl: * library/ttk/progress.tcl, library/ttk/scale.tcl: * library/ttk/scrollbar.tcl, library/ttk/sizegrip.tcl: * library/ttk/treeview.tcl, library/ttk/ttk.tcl: * library/ttk/utils.tcl, library/ttk/winTheme.tcl: * library/ttk/xpTheme.tcl: * macosx/ttkMacOSXTheme.c: * tests/ttk/all.tcl, tests/ttk/bwidget.test, tests/ttk/combobox.test: * tests/ttk/entry.test, tests/ttk/image.test: * tests/ttk/labelframe.test, tests/ttk/layout.test: * tests/ttk/misc.test, tests/ttk/notebook.test: * tests/ttk/panedwindow.test, tests/ttk/progressbar.test: * tests/ttk/scrollbar.test, tests/ttk/treetags.test: * tests/ttk/treeview.test, tests/ttk/ttk.test, tests/ttk/validate.test: * win/ttkWinMonitor.c, win/ttkWinTheme.c, win/ttkWinXPTheme.c: First import of Ttk themed Tk widgets as branched from tile 0.7.8 * generic/tkInt.h, generic/tkWindow.c: add Ttk_Init call, copy tk classic widgets to ::tk namespace. * library/tk.tcl: add source of ttk/ttk.tcl, define $::ttk::library. * unix/Makefile.in, win/Makefile.in: add Ttk build bits * win/configure, win/configure.in: check for uxtheme.h (XP theme). 2006-10-23 Don Porter * README: Bump version number to 8.5a6 * generic/tk.h: * library/tk.tcl: * unix/configure.in: * unix/tk.spec: * win/configure.in: * unix/configure: autoconf-2.59 * win/configure: 2006-10-19 Pat Thoyts *** 8.5a5 TAGGED FOR RELEASE *** * generic/tkImgBmap.c: Fixed line endings. * win/makefile.vc: Patched up build system to manage * win/rules.vc: AMD64 with MSVC8 * win/nmakehlp.c: Ensure operation without Platform SDK. 2006-10-18 Don Porter * changes: 8.5a5 release date set. 2006-10-17 Jeff Hobbs * doc/text.n: fix docs to not correct -tabs usage case. * generic/tkTextDisp.c (SizeOfTab): fix -tabstyle wordprocessor tab alignment to correct tab edge case. [Bug 1578858] 2006-10-17 Pat Thoyts * generic/tkText.c: Applied suggested patch from [Bug 1536735] * tests/text.test: Update test for above patch. * tests/textWind.test: Corrected test to catch all messages * tests/safe.test: Silence spurious win32 failure awaiting TIP150 * tests/winDialog.test: Updated test for file name length check. * test/winWm.test: Corrected test expectation for menu wrapping. 2006-10-16 Andreas Kupries * doc/WindowId.3: Pat's commit on 2006-10-08 broke the .SH NAME information across several lines, breaking the cross-linking of manpages during installation for this one. Put everything back on a single line, unbreaking it. 2006-10-16 Daniel Steffen * changes: updates for 8.5a5 release. * macosx/tkMacOSXDraw.c: fix numerous issues in CG and QD drawing procs so that they now match X11 drawing much more closely [Bug 1558051]; use Tiger ellipse drawing API when available; fix comments & whitespace. * macosx/tkMacOSXInit.c: set default linewidth limit for CG antialiasing to 0 as thin horizontal/vertical lines look good now. * macosx/README: document CG antialiasing limit changes. * generic/tkCanvLine.c (ConfigureLine): on TkAqua, pass outline * generic/tkCanvPoly.c (ConfigurePolygon): linewidth in gc even for * generic/tkRectOval.c (ConfigureRectOval): fills (as it controls AA). * macosx/GNUmakefile: don't redo prebinding of non-prebound binaires. * library/demos/pendulum.tcl: fix incorrect setting of toplevel title. 2006-10-10 Don Porter * changes: Updates for 8.5a5 release 2006-10-08 Pat Thoyts * generic/tkWindow.c: Implemented TIP #264 - Tk_Interp function. * doc/WindowId.3: Documented Tk_Interp. * generic/tk.decls: Added to the stubs interface and * generic/tkDecls.h: regenerated. * generic/tkStubsInit.c: 2006-10-05 Jeff Hobbs * unix/tkUnixFont.c (Ucs2beToUtfProc, UtfToUcs2beProc): (TkpFontPkgInit, encodingAliases): Correct alignment issues in encoding conversion. Call ucs-2be "unicode" on big-endian systems. [Bug 1122671] 2006-09-27 Andreas Kupries * unix/Makefile.in (install-binaries): Added a second guard to the * win/Makefile.in: package index file to prevent older versions of Tcl * win/makefile.vc: from seeing version numbers which may contain a/b information, and then balking on them. This could otherwise happen when Tcl/Tk 8.4 and 8.5 are installed in the same directory, seeing each other. [Bug 1566418]. 2006-09-22 Andreas Kupries * generic/tkConsole.c: TIP #268 update regarding registered package * generic/tkMain.c: version, now using full patchlevel instead of * generic/tkWindow.c: major.minor * library/tk.tcl: * unix/configure: * unix/Makefile.in: * unix/tcl.m4: * win/configure: * win/Makefile.in: * win/makefile.vc: * win/rules.vc: * win/tcl.m4: 2006-09-20 Jeff Hobbs * win/tkWinMenu.c (TkpPostMenu): disable menu animation in menus with images to avoid clipping bug. [Bug 1329198] 2006-09-21 Donal K. Fellows * generic/tkImgBmap.c (ImgBmapPostscript): Change 0 to NULL, since they are not interchangable on all platforms in all circumstances. [Tcl Bug 1562528] 2006-09-11 Daniel Steffen * macosx/tkMacOSXWm.c (TkMacOSXMakeRealWindowExist): revert part of 2006-05-16 change that had set overrideredirect windows to not become activated by the window manager, as this prevented interaction with native widgets in such windows [Bug 1472624]; apply changes to carbon window attributes even if native window has already been created. * macosx/tkMacOSXKeyEvent.c (TkMacOSXProcessKeyboardEvent): fix app * macosx/tkMacOSXMenu.c (DrawMenuBarWhenIdle): menu item key shortcuts * macosx/tkMacOSXInt.h: when custom ".apple" menu is installed. * library/demos/widget: on TkAqua, don't install file menu with single quit menu item, as the application menu already has a quit item. * macosx/tkMacOSXColor.c: fix building on Mac OS X 10.2. 2006-09-10 Daniel Steffen * macosx/tkMacOSXColor.c (TkSetMacColor,TkpGetColor): use AppearanceMgr * macosx/tkMacOSXDefault.h: to retrieve platform std colors for text * macosx/tkMacOSXPort.h: selections, add "systemHighlightSecondary" color name for standard color of inactive selections, use this color as default for text widget -inactiveselectbackground to implement platform standard look for inactive text selections. * library/text.tcl (aqua): remove focus bindings to set selection color * generic/tkTextBTree.c (TkTextIsElided): on TkAqua, don't show * generic/tkTextDisp.c (GetStyle): inactive text selection when text widget is disabled. * generic/tkEntry.c (DisplayEntry): change default TkAqua selection * macosx/tkMacOSXDefault.h: relief to "flat" (platform std). * generic/tkText.c (CreateWidget): fix bug leading to default text selection relief string DEF_TEXT_SELECT_RELIEF being ignored. * macosx/tkMacOSXMouseEvent.c (TkMacOSXProcessMouseEvent): allow mouse event delivery to background windows with kWindowNoActivatesAttribute (e.g. overrideredirect windows), as these never come to the foreground they would never receive any mouse events otherwise. [Bug 1472624] * macosx/tkMacOSXWindowEvent.c (TkMacOSXGenerateFocusEvent): do not send focus events to any windows with kWindowNoActivatesAttribute. * macosx/tkMacOSXXStubs.c (XQueryColor, XQueryColors): implement basic XColor computation from pixel values, enough to make tkImg's window.c happy, fixes img::window failures reported on tcl-mac. * macosx/tkMacOSXMenu.c (DrawMenuEntryLabel): fix leak. [Bug 1554672] * macosx/GNUmakefile: workaround bug in 'cp -pRH' on Darwin 6 and earlier, fixes 'make embedded' failure reported on tcl-mac; fix error from 'make deploy' with same build tree as previous 'make embedded'. * macosx/Wish.xcodeproj/project.pbxproj: add new tclUnixCompat.c file. * macosx/tkMacOSXEntry.c (TkpDrawEntryBorderAndFocus): fix typo. * unix/tcl.m4: sync with tcl/unix/tcl.m4. * unix/configure: autoconf-2.59 2006-09-06 Jeff Hobbs * generic/tkEntry.c: move hard-coded ALWAYS_SHOW_SELECTION control * generic/tkInt.h: of entry/text selection display based on focus * generic/tkText.c: to the Tcl level, controlled by * generic/tkWindow.c: ::tk::AlwaysShowSelection (boolean, private). * library/tk.tcl: [Bug 1553691] * macosx/tkMacOSXDefault.h: * unix/tkUnixDefault.h: * unix/tkUnixPort.h: * win/tkWinDefault.h: 2006-08-30 Jeff Hobbs * win/tkWinKey.c: Add WM_UNICHAR window message support (used by * win/tkWinX.c: virtual keyboard apps). [Bug 1518677] (petasis) 2006-08-24 Daniel Steffen * macosx/tkMacOSXScrlbr.c (UpdateControlValues): set native scrollbar control bounds only once all size adjustments have been computed. Fixes issue with grow icon obscuring scrollbar reported on tcl-mac. 2006-08-21 Daniel Steffen * macosx/tkMacOSXCarbonEvents.c (CarbonTimerProc): avoid starving main event loop: limit the number of tcl events processed per invocation. Fixes bug reported on tcl-mac by Kevan Hashemi. 2006-08-18 Donal K. Fellows * tests/text.test (text-25.15): Added test suggested by Sam on comp.lang.tcl * generic/tk.h, generic/tkInt.h: Stylistic improvements. No API change. 2006-08-18 Daniel Steffen * unix/tcl.m4 (Darwin): add support for --enable-64bit on x86_64, for universal builds including x86_64, for 64-bit CoreFoundation on Leopard and for use of -mmacosx-version-min instead of MACOSX_DEPLOYMENT_TARGET * unix/configure.in (Darwin): remove 64-bit arch flags from CFLAGS for combined 32-bit and 64-bit universal builds, as neither TkAqua nor TkX11 can be built for 64-bit at present. * unix/configure: autoconf-2.59 * unix/tkConfig.h.in: autoheader-2.59 * macosx/Wish.xcodeproj/project.pbxproj: switch native release targets to use DWARF with dSYM, Xcode 3.0 changes. * macosx/README: updates for x86_64 support in Tcl. * macosx/tkMacOSXInit.c (TkpInit): when available, use public TransformProcessType() API instead of CPSEnableForegroundOperation() SPI to notify the window server that we are a GUI application. * macosx/tkMacOSXWm.c (WmAttrGetTitlePath): use HIWindow API on >=Tiger * macosx/tkMacOSXMouseEvent.c (GenerateToolbarButtonEvent): * macosx/tkMacOSXMenus.c (GenerateEditEvent): * macosx/tkMacOSXMenu.c (MenuSelectEvent): bzero() the XVirtualEvent structure before use to ensure all fields are initialized. [Bug 1542205] 2006-08-16 Jeff Hobbs * macosx/tkMacOSXWm.c (WmAttributesCmd): correct OS X result for [wm attributes $top]. 2006-07-25 Daniel Steffen * macosx/tkMacOSXKeyEvent.c (TkMacOSXProcessKeyboardEvent): handle key shortcut for kHICommandQuit in the same way as other application menu item key shortcuts. [Bug 1516950] 2006-07-24 Daniel Steffen * macosx/tkMacOSXWm.c (TkWmMapWindow): fix incorrect values of wmInfo parentWidth/Height for toplevels by recalculating them once the window is mapped (i.e once the window&structure sizes are known). [Bug 1358663] (ParseGeometry): sync with ParseGeometry in tkUnixWm.c/tkWinWm.c. 2006-07-21 Daniel Steffen * generic/tkBind.c (TkBindInit): for REDO_KEYSYM_LOOKUP, change keysym-to-string mapping hash to use first name in ks_names.h instead of last (if there are multiple possibilities), e.g. "F11" instead of "L1". * macosx/tkMacOSXKeyboard.c (TkpGetKeySym): correct keysyms for pure modifier key presses [Bugs 700311, 1525905]; correct keysym for Enter key; add keysyms for new NumLock and Fn modifiers (added 2005-08-09). 2006-07-20 Daniel Steffen * macosx/tkMacOSXWm.c (WmAttributesCmd, WmIconbitmapCmd): add support * unix/tkUnixSend.c (Tk_GetUserInactiveTime): for weakly importing symbols not available on OSX 10.2 or 10.3, enables binaires built on later OSX versions to run on earlier ones. * macosx/Wish.xcodeproj/project.pbxproj: enable weak-linking; turn on extra warnings. * macosx/README: document how to enable weak-linking; cleanup. * unix/configure.in: add check on Darwin-X11 for ld support of -weak-l * unix/tcl.m4: flag and weak-link libXss if possible as it is not available before OSX 10.4; enforce requirement of OSX 10.2 for TkAqua; move Darwin specific checks & defines that are only relevant to the tcl build out of tcl.m4; restrict framework option to Darwin; clean up quoting and help messages. * unix/configure: autoconf-2.59 * unix/tkConfig.h.in: autoheader-2.59 * macosx/GNUmakefile: enable xft for TkX11 build. * macosx/tkMacOSXFont.c (TkMacOSXQuarzStartDraw, TkMacOSXQuarzEndDraw): verify validity of context returned from QDBeginCGContext() before use. * macosx/tkMacOSXKeyEvent.c: ifdef out diagnostic messages to stderr. * macosx/tkMacOSXEvent.h: standardize MAC_OS_X_VERSION_MAX_ALLOWED * macosx/tkMacOSXMenu.c: checks per QA1316, ensure define can be * macosx/tkMacOSXMenubutton.c: overridden on command line (from default * macosx/tkMacOSXMenus.c: of current OS version). * macosx/tkMacOSXMouseEvent.c: * macosx/tkMacOSXWm.c: * generic/tkImgGIF.c (ReadImage): * macosx/tkMacOSXCursor.c (TkMacOSXCursor): * macosx/tkMacOSXDebug.c (TkMacOSXGetNamedDebugSymbol): * macosx/tkMacOSXFont.c (TkpMeasureCharsInContext): * macosx/tkMacOSXInit.c (Map): * xlib/xgc.c (XCreateGC): fix signed-with-unsigned comparison and other warnings from gcc4 -Wextra. 2006-07-14 Andreas Kupries * generic/tkWindow.c (Initialize): Modify change of 2006-05-25 (jeffh). Release mutex a bit earlier, to prevent lock when OS X creates its console windows (recursively enters Tk_Init). Patch by JeffH. 2006-07-06 Jeff Hobbs * library/tkfbox.tcl: catch scrollbar use of highlightthickness 2006-06-21 Jeff Hobbs * library/bgerror.tcl (::tk::dialog::error::bgerror): remove a couple of unnecessary hardcoded options 2006-06-14 Don Porter * generic/tkScale.c: Revised variable writing logic to account for [scale]'s design that it deals with its value as a formatted string, and not as a double. [Bug 891141]. 2006-06-14 Daniel Steffen * macosx/tkMacOSXSubwindows.c (TkMacOSXInvalidateWindow): ensure invalid clip regions are recreated via TkMacOSXUpdateClipRgn() before they are used; correct call order of TkMacOSXInvalidateWindow() and TkMacOSXInvalClipRgns() throughout. [Bug 1501922] * macosx/tkMacOSXDraw.c (TkPutImage): implement drawing of very wide images in slices of less than 4096 pixels to workaround CopyBits limitation. [Bug 950121] 2006-06-09 Don Porter * generic/tkMain.c: Added Tcl_Preserve() call on the master interp as crash protection against any Tcl_DeleteInterp() call that might happen. 2006-06-01 Don Porter * generic/tkConsole.c: Added Tcl_RegisterChannel() calls to bump the refcount of channels passed to Tcl_SetStdChannel(). This prevents early free-ing of the channels that leads to crashes. [Bug 912571] 2006-05-29 Jeff Hobbs * win/tkWinEmbed.c (TkpGetOtherWindow): Do not panic if no window is * unix/tkUnixEmbed.c (TkpGetOtherWindow): found; caller handles. [Bug * unix/tkUnixWm.c (Tk_CoordsToWindow, UpdateGeometryInfo): 1212056] * tests/entry.test (entry-22.1): * tests/listbox.test (listbox-6.15): * generic/tkListbox.c (ListboxInsertSubCmd, ListboxDeleteSubCmd): Ignore Tcl_SetVar2Ex failure of listVarName, similar to entry widget handling. [Bug 1424513] 2006-05-26 Jeff Hobbs * macosx/tkMacOSXButton.c (TkMacOSXDrawControl): correct redraw for direct transition from disabled to active state. [Bug 706446] 2006-05-25 Jeff Hobbs * win/tkWinMenu.c (TkWinMenuKeyObjCmd): get eventPtr after we know the window is still alive. [AS bug 45987] [Bug 1236306] * generic/tkMenu.c (DeleteMenuCloneEntries): Modify entry index changes to work around VC6 optimization bug. [Bug 1224330] * generic/tkMessage.c (MessageWidgetObjCmd): Correct msgPtr preserve/release pairing. [Bug 1485750] (afredd) * generic/tkWindow.c (Initialize): Correct mutex (un)lock pairing. [Bug 1479587] (loewis) * generic/tkBind.c (Tk_BindEvent, TkCopyAndGlobalEval): use Tcl_EvalEx instead of Tcl_GlobalEval. 2006-05-16 Daniel Steffen * macosx/tkMacOSXWindowEvent.c (TkMacOSXGenerateFocusEvent): don't send focus events to windows of class help or to overrideredirect windows. [Bug 1472624] * macosx/tkMacOSXWm.c: set overrideredirect windows to not become activated by the window manager and to not receive OS activate events (should make them behave more like on other platforms); use modern window class API for overrideredirect and transient windows; set the default class of overrideredirect windows to 'simple' rather than 'plain' (i.e. no window frame); add missing Panther and Tiger window attributes to [::tk::unsupported::MacWindowStyle]. 2006-05-12 Jeff Hobbs * generic/tkImgPhoto.c (Tk_PhotoPutBlock, Tk_PhotoPutZoomedBlock): Fix opt added 2006-03 that caused slowdown for some common cases. [Bug 1409140] 2006-05-13 Daniel Steffen * generic/tkCanvWind.c (DisplayWinItem, WinItemRequestProc): ensure canvas window items are unmapped when canvas is unmapped. [Bug 940117] * macosx/tkMacOSXSubwindows.c (TkMacOSXUpdateClipRgn): empty clip region of unmapped windows to prevent any drawing into them or into their children from becoming visible. [Bug 940117] * macosx/tkMacOSXInt.h: revert Jim's attempt of 2005-03-14 to * macosx/tkMacOSXSubwindows.c: fix Bug 940117 as it disables Map/Unmap event propagation to children. [Bug 1480105] * macosx/tkMacOSXDraw.c (TkPutImage): handle tkPictureIsOpen flag, fixes incorrect positioning of images with complex alpha on native buttons; actual alpha blending is still broken in this situation. [Bug 1155596] * macosx/tkMacOSXEvent.c (TkMacOSXProcessCommandEvent): * macosx/tkMacOSXMenus.c (TkMacOSXInitMenus): workaround carbon bug with key shortcut for 'Preferences' app menu item. [Bug 1481503] * macosx/tkMacOSXKeyEvent.c (TkMacOSXProcessKeyboardEvent): only check for HICommand menu item shortcuts in the application menu. * macosx/tkMacOSXInt.h: initialize keyboard layout setup in * macosx/tkMacOSXInit.c: TkpInit() rather than during handling of * macosx/tkMacOSXKeyEvent.c: first key down event. * macosx/tkMacOSXDraw.c: add optional debug code to flash clip * macosx/tkMacOSXSubwindows.c: regions during update or draw. 2006-05-04 Don Porter * README: Bump version number to 8.5a5 * generic/tk.h: * unix/configure.in: * unix/tk.spec: * win/configure.in: * unix/configure: autoconf-2.59 * win/configure: 2006-04-28 Daniel Steffen * macosx/tkMacOSXWm.c (TkWmMapWindow, InitialWindowBounds): fix use of potentially stale window position in initial configure event on first map of a window. [Bug 1476443] (TkMacOSXWindowOffset): use modern GetWindowStructureWidths API. * macosx/tkMacOSXInt.h: * macosx/tkMacOSXMouseEvent.c (TkGenerateButtonEventForXPointer): new internal function to generate button events for current pointer directly, without requiring prior call to XQueryPointer(). * macosx/tkMacOSXMouseEvent.c (XQueryPointer): implement return of window-local pointer position. * macosx/tkMacOSXInt.h: use improvements above to avoid calls to * macosx/tkMacOSXKeyEvent.c: GlobalToLocal() when the current port * macosx/tkMacOSXMenu.c: might not be set correctly. May fix [Bug * macosx/tkMacOSXMenus.c: 1243318] * macosx/tkMacOSXScale.c: * macosx/tkMacOSXScrlbr.c: * tkAboutDlg.r: update copyright. * macosx/tkMacOSXDebug.h: sync #includes with core-8-4-branch. * macosx/tkMacOSXEvent.h: * macosx/tkMacOSXFont.h: 2006-04-26 Don Porter *** 8.5a4 TAGGED FOR RELEASE *** * changes: Updates for next RC 2006-04-25 Donal K. Fellows * unix/tkUnixFont.c (TkpGetFontFamilies): Fix crash caused when the XServer returns invalid font names. [Bug 1475865] 2006-04-23 Vince Darley * tests/scrollbar.test: fix to tkAqua test failures 2006-04-18 Vince Darley * macosx/tkMacOSXEmbed.c: fix to [Bug 1088814] test failures in embed.test * macosx/tkMacOSXWm.c: * tests/constraints.tcl: * tests/wm.test: fix to 'wm attributes' test for TkAqua 2006-04-11 Peter Spjuth * generic/tkWindow.c (Tk_NameToWindow): Allow NULL interp to Tk_NameToWindow. This fixes TkGetWindowFromObj which promises to handle NULL but didn't. * generic/tkGrid.c: Fixed handling of out of bounds row or column. * tests/grid.test: [Bug 1432666] 2006-04-11 Don Porter * unix/Makefile.in: Updated `make dist` target to be sure the message catalogs for the widget demo get packaged into the source code distribution. [Bug 1466509] 2006-04-11 Daniel Steffen * changes: added latest aqua bug fixes. * macosx/tkMacOSXDialog.c (Tk_MessageBoxObjCmd): added standard Escape key binding for msgbox cancel buttons [Patch 1193614], whitespace. * macosx/tkMacOSXCarbonEvents.c: handle kEventCommandUpdateStatus * macosx/tkMacOSXEvent.c: carbon event to dynamically enable the 'Preferences' app menu item when proc [::tk::mac::ShowPreferences] is defined. [Bug 700316] * macosx/tkMacOSXHLEvents.c: call ::tk::mac::* procs for all * macosx/tkMacOSXWindowEvent.c: registered appleevents [FR 1105284], implement print applevent handling, style/whitespace cleanup. * macosx/tkMacOSXDraw.c (TkMacOSXInitCGDrawing): prevent multiple init. * macosx/tkMacOSXFont.c: remove #ifdef'd text measuring codepaths now * macosx/tkMacOSXInit.c: known to be incorrect, cleanup obsolete text * macosx/README: antialiasing control code, document ATSUI text antialiasing changes. * macosx/tkMacOSXInt.h: Implemented 'zoomed' window state * macosx/tkMacOSXWindowEvent.c: handling for TkAqua, via titlebar * macosx/tkMacOSXWm.c: widget clicks as well as [wm state]. * doc/wm.n: [Bug 1073456] 2006-04-10 Donal K. Fellows * library/tkfbox.tcl (::tk::IconList_Goto): Fix prefix searching so that the start location is reasonable, and the prefix matching is using the correct Tcl command for this. [Bug 1467938] 2006-04-10 Benjamin Riefenstahl * macosx/tkMacOSXFont.c (MeasureStringWidth): Use implementation based on ATSUGetGlyphBounds (TK_MAC_USE_GETGLYPHBOUNDS), so we can use kATSUseFractionalOrigins. This in turn corrects [Bug 1461650]. (InitFont): Use "." and "W" instead of "i" and "w" to determine the "-fixed" attribute. This prevents "Apple Chancery" from being classified as fixed. (InitFontFamilies): Only get the font families once. 2006-04-09 Daniel Steffen * macosx/tkMacOSXWm.c (WmResizableCmd): propagate window attribute changes to Carbon window manager. [FR 1467004] (TkSetWMName, TkMacOSXMakeRealWindowExist): allow empty name for toplevels, remove bogus initial window name. [Bug 1450800] 2006-04-07 Daniel Steffen * macosx/tkMacOSXMouseEvent.c (TkMacOSXProcessMouseEvent): fix return values, implement window dragging & growing in background (with Command key down) and by fronting clicks [Bug 934524], use correct button & modifier state API when application is in background (also in TkMacOSXButtonKeyState). * macosx/tkMacOSXWm.c (TkMacOSXGrowToplevel): ensure QD port is set correctly before using API relying on it. 2006-04-06 Vince Darley * macosx/tkMacOSXMouseEvent.c: Now that [wm attributes -titlepath] works correctly, add OS support for dragging proxy icons and using the titlepath menu. 2006-04-06 Daniel Steffen * macosx/tkMacOSXWm.c (WmAttributesCmd, WmIconbitmapCmd): fix errors in setting/removing window proxy icons via [wm attributes -titlepath] and [wm iconbitmap], use HIWindow API on Tiger or later. [Bug 1455241] * unix/tcl.m4: remove TCL_IO_TRACK_OS_FOR_DRIVER_WITH_BAD_BLOCKING define on Darwin. [Tcl Bug 1457515] * unix/configure: autoconf-2.59 * unix/tkConfig.h.in: autoheader-2.59 2006-04-05 Jeff Hobbs * generic/tkWindow.c (Initialize): remove impotent use of DeleteWindowsExitProc as a global exit handler. * generic/tkMenu.c (TkSetWindowMenuBar): remove extra TkMenuInit call that caused finalization panic. [Bug 1456851] * win/tkWinMenu.c (FreeID, TkpNewMenu, MenuExitHandler) (MenuThreadExitHandler, TkpMenuInit, TkpMenuThreadInit): rework Windows menu init/finalization to better respect per-process and per-thread boundaries. [Bug 1456851] (TkWinMenuKeyObjCmd): Do not error when unknown window is passed in. [Bug 1236306] * win/tkWinX.c (TkWinXInit): init default keyboard charset correctly. [Bug 1374119] (pajas) * win/tkWinWm.c (WmProc): pass WM_QUERYENDSESSION message to Tk as WM_SAVE_YOURSELF wm protocol callback. * tests/textWind.test (textWind-10.6.1): prevent infinite update loop in case of test failure. * tests/wm.test (wm-attributes-1.2.4): correct expected result. * tests/grid.test: fix segfault on empty or "all" index list * generic/tkGrid.c (GridRowColumnConfigureCommand): [Bug 1422430] 2006-04-05 Vince Darley * generic/tkText.c: fix to crash caused on some platforms by new tests introduced to check for [Bug 1414171], which destroy the text widget in the dump callback script. 2006-03-29 Jeff Hobbs * generic/tkOption.c (TkOptionDeadWindow): handle OptionThreadExitProc being called before DeleteWindowsExitProc. * win/Makefile.in: convert _NATIVE paths to use / to avoid ".\" path-as-escape issue. 2006-03-29 Don Porter * changes: Updates for next RC * unix/tkUnixDefault.h: Changed "Black" to "#000000" and "White" to "#ffffff" to work around the (broken?) X servers that do not accept those color names. [Bug 917433] 2006-03-28 Jeff Hobbs * unix/tcl.m4, win/tcl.m4: []-quote AC_DEFUN functions. 2006-03-26 Vince Darley * generic/tkText.c: * tests/text.test: Fix for elaborations of [Bug 1414171] for '$text dump -command