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 inactive * generic/tkTextDisp.c (GetStyle): text selection when text widget is in disabled state. * 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 * generic/tkInt.h: control of entry/text selection display * generic/tkText.c: based on focus to the Tcl level, * generic/tkWindow.c: controlled by ::tk::AlwaysShowSelection * library/tk.tcl: (boolean, private). [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): [Bug 1212056] Do not panic if * unix/tkUnixEmbed.c (TkpGetOtherWindow): no window is found; handle it * unix/tkUnixWm.c (Tk_CoordsToWindow, UpdateGeometryInfo): in caller. * 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