summaryrefslogtreecommitdiffstats
path: root/generic/tkWindow.c
Commit message (Collapse)AuthorAgeFilesLines
* * generic/tkWindow.c (Initialize): fix double-free on Tk_ParseArgvhobbs2008-04-071-2/+1
| | | | * tests/main.test (main-3.*): error. [Bug 1937135]
* * generic/tkConsole.c: Complete reversal of the changes of Sep 22.andreas_kupries2006-09-251-4/+4
| | | | | | | | | | | | | | * generic/tkMain.c: For compat reason the Tcl core will not change * generic/tkWindow.c: the registered version to include the patchlevel, * library/tk.tcl: making the changes to Tk unnecessary. * unix/configure: * unix/Makefile.in: * unix/tcl.m4: * win/configure: * win/Makefile.in: * win/makefile.vc: * win/rules.vc: * win/tcl.m4:
* * generic/tkConsole.c: TIP #268 update regarding registered packageandreas_kupries2006-09-221-5/+5
| | | | | | | | | | | | | | * 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:
* * generic/tkWindow.c: add #include "tclInt.h" now required due to usedas2006-09-071-1/+3
| | | | of tcl internal Tcl_CreateNamespace() in previous commit.
* * generic/tkEntry.c: move hard-coded ALWAYS_SHOW_SELECTIONhobbs2006-09-061-1/+39
| | | | | | | | | | * generic/tkInt.h: control of entry/text selection display * generic/tkText.c: based on focus to the Tcl level, * generic/tkTextBTree.c: controlled by ::tk::AlwaysShowSelection * generic/tkTextDisp.c: (boolean, private). [Bug 1553691] * generic/tkWindow.c: * library/tk.tcl * unix/tkUnixPort.h:
* * generic/tkWindow.c (Initialize): Modify change of 2006-05-25andreas_kupries2006-07-141-2/+8
| | | | | | (jeffh). Release mutex a bit earlier, to prevent lock when OS X creates its console windows (recursively enters Tk_Init). Patch by JeffH.
* * generic/tkWindow.c (Initialize): Correct mutex (un)lockhobbs2006-05-251-16/+14
| | | | pairing. [Bug 1479587]
* * generic/tkWindow.c (DeleteWindowsExitProc): added commentshobbs2006-03-301-2/+4
| | | | | * generic/tkOption.c (TkOptionDeadWindow): handle OptionThreadExitProc being called before DeleteWindowsExitProc.
* * generic/tkWindow.c (CreateTopLevelWindow): use thread exithobbs2006-03-291-6/+7
| | | | handler for DeleteWindowsExitProc.
* * generic/tkInt.h: Swap TkUnsupported1Cmd for TkUnsupported1ObjCmd.hobbs2005-07-281-2/+2
| | | | | | | | | | | | * generic/tkWindow.c: Ditto. (neil madden) * macosx/tkMacOSXInt.h: Added TkMacOSXWindowClass decl * macosx/tkMacOSXWm.c (TkMacOSXWinStyle) New function. (TkUnsupported1ObjCmd): New function, replaces the un-objectified version of the command, recognizes more classes and attributes. (TkMacOSXWindowClass): private function to return OS X class of a Tk window. * macosx/tkMacOSXSubwindows.c (XMapWindow, XUnmapWindow): recognize special show/hide functions for sheets
* Add missing Tcl_ResetResult [697915]dkf2005-01-071-1/+2
|
* * generic/tkInt.h: Backport of shutdown safety mods from the HEADdavygrvy2004-10-271-5/+4
| | | | | | | | | | | | * generic/tkMenu.c: dating from 2003-12-21 * generic/tkUtil.c: * generic/tkWindow.c: * mac/tkMacButton.c: * unix/tkUnixEvent.c: * win/tkWin32Dll.c: * win/tkWinEmbed.c: * win/tkWinMenu.c: * win/tkWinX.c:
* Backport of 923555 fixesdkf2004-03-261-2/+2
|
* Backport Mac OS X specific fixes from TOT. See ChangeLog for details.wolfsuit2004-02-161-2/+2
| | | | | | | In tk_getOpenFile filters, handle the case where you have a Macintosh file type and the files have no filetype. Fix various formatting nits.
* * generic/tkWindow.c (Initialize): do not free uninit'ed dstring.hobbs2003-07-161-2/+1
| | | | [Bug 755906] (mistachkin)
* Moved 'deletionEpoch' field from TkDisplay to TkMainInfo.jenglish2003-01-281-3/+5
| | | | | Reworked windowObj type. Fixes Tk Bug #671330 "segfault when e.g. deiconifying destroyed window"
* * generic/tkWindow.c (Tk_DestroyWindow,mdejong2002-11-141-28/+122
| | | | | | | | | | | | | | DeleteWindowsExitProc): Add TkHalfdeadWindow type and halfdeadWindowList to keep track of windows that were only partially deallocated before a call to exit. Finnish cleaning up these windows in DeleteWindowsExitProc. Keep track of cleanup status in Tk_DestroyWindow so that a window with a Destroy binding which calls exit will get fully destroyed. * tests/window.test: Add Tk_DestroyWindow tests for an assortment of half dead window cases. [Bug 630533]
* * generic/tkCmds.c:hobbs2002-09-021-2/+2
| | | | | | | * generic/tkWindow.c: made 'tk' available in safe interpreters, but only the caret and windowingsystem subcommands may be called. * tests/safe.test (safe-1.2): noted that tk is now available in safe interps, but not the appname/scaling subcommands.
* *** macosx-8-4-branch merged into the mainline [tcl patch #602770] ***macosx_8_4_merge_2002_08_31_trunkdas2002-08-311-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * generic/tk.decls: * generic/tkInt.decls: added new "aqua" specific entries to the stubs tables. Changed all "unix" entries to "x11" to allow us to distinguish and build both "aqua" on MacOSX and "x11" on MacOSX. * generic/tk.h: added a #ifnded RESOURCE_INCLUDED so that tk.h can be passed to the resource compiler. * generic/tkCmds.c (Tk_TkObjCmd): added [tk windowingsystem] subcommand: returns "x11" when running on X11, "win32" on Windows, "classic" on MacOS9 and "aqua" on MacOSX Aqua (i.e. Carbon) * generic/tkFont.c (TkFontGetFirstTextLayout): new private function returning the first chunk of a Tk_TextLayout, i.e. until the first font change on the first line (or the whole first line if there is no such font change). * generic/tkMain.c: made Tcl_ThreadDataKey static * library/demos/puzzle.tcl: fixed button metrics for aqua * tests/cursor.test: check for presence of arrow cursor instead of heart cursor * xlib/xcolors.c: changed xColors static initialization to more standard C * macosx/Wish.pbproj/jingham.pbxuser (new): * macosx/Wish.pbproj/project.pbxproj (new): project for Apple's ProjectBuilder IDE. * macosx/Makefile (new): simple makefile for building the project from the command line via the ProjectBuilder tool 'pbxbuild'. * macosx/tkMacOSXAppInit.c (new): macosx specific AppInit looking for a AppMain.tcl file in its bundled Resources/Scripts folder. If present, argv[1] is set to that file and the Scripts folder is added to the auto_path. This allows tk apps to embed scripts within their bundle directory structure. * macosx/tkMacOSXInit.c (new): macosx adapted version of tkUnixInit.c: we initialize & cache the Carbon native encoding (e.g. 'macRoman') and try to find the tk script library files inside Tk packaged as a framework. * macosx/tkMacOSXNotify.c (new): new macosx specific merged Carbon/select-based notifier. * macosx/tkMacOSXEvent.c (new): * macosx/tkMacOSXEvent.h (new): * macosx/tkMacOSXKeyEvent.c (new): * macosx/tkMacOSXMouseEvent.c (new): * macosx/tkMacOSXWindowEvent.c (new): new macosx specific event handling functionality. * macosx/tkMacOSX.h (new): * macosx/tkMacOSXBitmap.c (new): * macosx/tkMacOSXButton.c (new): * macosx/tkMacOSXClipboard.c (new): * macosx/tkMacOSXColor.c (new): * macosx/tkMacOSXConfig.c (new): * macosx/tkMacOSXCursor.c (new): * macosx/tkMacOSXDefault.h (new): * macosx/tkMacOSXDialog.c (new): * macosx/tkMacOSXDraw.c (new): * macosx/tkMacOSXEmbed.c (new): * macosx/tkMacOSXFont.c (new): * macosx/tkMacOSXHLEvents.c (new): * macosx/tkMacOSXInt.h (new): * macosx/tkMacOSXKeyboard.c (new): * macosx/tkMacOSXMenu.c (new): * macosx/tkMacOSXMenubutton.c (new): * macosx/tkMacOSXMenus.c (new): * macosx/tkMacOSXPort.h (new): * macosx/tkMacOSXRegion.c (new): * macosx/tkMacOSXScale.c (new): * macosx/tkMacOSXScrlbr.c (new): * macosx/tkMacOSXSubwindows.c (new): * macosx/tkMacOSXTest.c (new): * macosx/tkMacOSXUtil.c (new): * macosx/tkMacOSXUtil.h (new): * macosx/tkMacOSXWm.c (new): * macosx/tkMacOSXWm.h (new): * macosx/tkMacOSXXStubs.c (new): macosx ports of classic mac Tk implementation in tk/mac. * macosx/tkMacOSXSend.c (new): only send to local interp implemented currently. * macosx/tkMacOSXDebug.h (new): * macosx/tkMacOSXDebug.c (new): new macosx specific functions for debugging MacOS events, regions, etc. * macosx/tkAboutDlg.r (new): * macosx/tkMacOSXApplication.r (new): * macosx/tkMacOSXCursors.r (new): * macosx/tkMacOSXLibrary.r (new): * macosx/tkMacOSXMenu.r (new): * macosx/tkMacOSXResource.r (new): * macosx/tkMacOSXXCursors.r (new): * macosx/tclets.r (new): sources for Rez resource compiler. * macosx/Wish.icns (new): Wish application icon. * generic/tk.h: * generic/default.h: * generic/tkBind.c: * generic/tkCmds.c: * generic/tkGrab.c: * generic/tkPointer.c: * generic/tkPort.h: * generic/tkSelect.c: * generic/tkStubLib.c: * generic/tkTest.c: * generic/tkText.c: * generic/tkWindow.c: * unix/tkUnix3d.c: * xlib/xgc.c: * xlib/X11/X.h: * xlib/X11/Xlib.h: * xlib/X11/Xutil.h: added #includes and #ifdefs for macosx * library/bgerror.tcl: * library/button.tcl: * library/console.tcl: * library/dialog.tcl: * library/entry.tcl: * library/listbox.tcl: * library/menu.tcl: * library/msgbox.tcl: * library/scrlbar.tcl: * library/spinbox.tcl: * library/text.tcl: * library/tk.tcl: * library/demos/menu.tcl: * library/demos/menubu.tcl: * library/demos/widget: check [tk windowingsystem] instead of and/or in addition to $tcl_platform(platform). * generic/tkInt.h: * mac/tkMacBitmap.c: * mac/tkMacWm.c: added missing CONSTification * generic/tkIntDecls.h: * generic/tkIntPlatDecls.h: * generic/tkIntXlibDecls.h: * generic/tkPlatDecls.h: * generic/tkStubInit.c: regen
* Applied companion patch for Tcl Patch 585105,dgp2002-08-051-16/+16
| | | | | | | | | | | | | | | | | | | | | updating Tk to use Tcl 8.4's fully CONST-ified interface, and fully CONSTifying Tk at the same time. This patch includes purging Tk of its last direct access to interp->result. [Bug 589853] The substantial changes include copying event sequence strings into Tcl_DStrings in tkBind.c, and copying [text] indices into Tcl_DStrings because parsing them involved overwriting them. If this causes performance trouble, that can be resolved by further converting them to Tcl_Obj's. The #defines USE_NON_CONST and USE_COMPAT_CONST have the same effect for Tk as they do for Tcl. (They actually change tcl.h)
* Objectifed wm. [Patch #564521]pspjuth2002-07-251-2/+2
|
* * generic/tkBind.c (TkBindDeadWindow):mdejong2002-06-191-4/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Handle case where Tk_DestroyWindow is invoked on clipboard and send windows. * generic/tkClipboard.c (TkClipCleanup): Invoke Tk_DestroyWindow to cleanup the dispPtr->clipWindow. Call Tcl_Preserve and Tcl_Release on the window to avoid an invalid memory ref on shutdown. * generic/tkEvent.c (Tk_HandleEvent): Panic if XCreateIC is invoked twice for the same window. This should never happen, the check were just added to make sure it does not since this could lead to crashes in XCloseIM. * generic/tkFocus.c (TkFocusDeadWindow): Handle case where Tk_DestroyWindow is invoked on clipboard and send windows. * generic/tkOption.c (TkOptionDeadWindow): Ditto. * generic/tkWindow.c (TkCloseDisplay): Move deletion of dispPtr->winTable after TkpCloseDisplay call since Tk_DestroyWindow uses it and could be called by TkpCloseDisplay for clipboard/send windows. Also invoke ckfree for the dispPtr instead of doing it in TkpCloseDisplay. (Tk_DestroyWindow): Check for a null winPtr->mainPtr before doing certain cleanup tasks so the we can invoke Tk_DestroyWindow on clipboard and send windows. We need to do this so that XDestroyIC will get invoked for the input contexts of each window. * mac/tkMacXStubs.c (TkpCloseDisplay): Don't free the displayPtr since this is now done in TkCloseDisplay. * unix/tkUnixEvent.c (TkpCloseDisplay, OpenIM): Remove conditional compilation around calls to XCloseIM since I am confident that the crashes related to input contexts has been fixed. Don't free the displayPtr since this is now done in TkCloseDisplay. * unix/tkUnixSend.c (TkSendCleanup): Invoke the Tk_DestroyWindow method to cleanup the special send window. This will call XDestroyIC and thereby avoid a crash in XCloseIM. The send window needs to be Tcl_Preserve and Tcl_Release to avoid an invalid memory ref on shutdown. * win/tkWinX.c (TkpCloseDisplay): Don't free the displayPtr since this is now done in TkCloseDisplay.
* Added TIP#48 style engine implementationdkf2002-06-181-1/+3
| | | | Frederic Bonnet to supply docs+tests as soon as possible.
* * generic/tkWindow.c (Tk_DestroyWindow): Set the pathNamemdejong2002-06-151-1/+8
| | | | | | | | component of a window to NULL after its memory has been deallocated to avoid a possible illegal memory access as a result of a call to Tk_PathName() on a Tk_Window structure of a window that has already been destroyed. [Tk bug 521946]
* * generic/tk.decls: added TIP #84 implementation that adds ahobbs2002-06-151-1/+6
| | | | | | | | | * generic/tkDecls.h: Tk_CollapseMotionEvents API which controls * generic/tkEvent.c: Tk's collapsing of incoming motion events * generic/tkInt.h: on its windows. The default remains to do * generic/tkStubInit.c: collapsing. Added a flags parameter to the * generic/tkWindow.c: internal display structure to support this * doc/QWinEvent.3: and be used in the future for other bits.
* TIP #47 "Modifying Tk to Allow Writing X Window managers"jenglish2002-06-141-17/+17
| | | | | | | | (patch from Neil McKay). * Add CirculateRequest, Create, MapRequest, ResizeRequest, and ConfigureRequest event types; * Split TK_TOPLEVEL flag into TK_TOPLEVEL, TK_HAS_WRAPPER, TK_WIN_MANAGED, and TK_TOP_HIERARCHY.
* * generic/tkWindow.c (TkCloseDisplay): Added to centralize where ahobbs2002-04-121-107/+100
| | | | | | | | | | display was closed. This handles freeing memory associated with a display and closing it. (DeleteWindowsExitProc): actually close displays. This would also ideally be done in Tk_DestroyWindow when the last window on the display has been closed, but that still has unresolved order of cleanup problems. (Tk_DestroyWindow): added TkFocusFree call.
* * unix/tkUnixEvent.c:hobbs2002-04-051-71/+2
| | | | | | * generic/tkWindow.c: moved OpenIM over to tkUnixEvent.c. Removed setting inputContext to null in Tk_MakeWindowExist as it was redundant.
* * generic/tkWindow.c (Tk_MainWindow, Tk_GetNumMainWindows):hobbs2002-02-271-5/+23
| | | | | protect against being called before Tcl stubs are init'ed. [Bug #220916] (porter)
* TIP #41 implementation, panedwindow [Patch #512503] (melski)hobbs2002-02-221-1/+2
|
* * Updated callers of Tcl_SplitList and Tcl_Merge.dgp2002-01-251-10/+12
| | | | | | | | | * Updated callers of Tcl_GetStringResult. Rewrote PrintScrollFractions to ScrollFractions to stop scribbling directly on interp->result. * Updated callers of Tcl_GetVar, Tcl_GetVar2 * Updated callers of Tcl_SplitPath, Tcl_JoinPath, and Tcl_TranslateFileName.
* * generic/tkWindow.c (OpenIM): Added simple XIM patch to enablehobbs2001-10-161-1/+6
| | | | basic XIM input on Unix. [Patch #412727] (fabian)
* Added labelframe widget. TIP#18.pspjuth2001-09-261-1/+2
|
* Geometry manager changes to support TIP#18.pspjuth2001-09-261-2/+7
|
* * generic/tkWindow.c (Tk_CreateAnonymousWindow):hobbs2001-09-211-3/+1
| | | | * generic/tkEntry.c (GetSpinboxElement): fixed unreachable returns.
* minor cast fixes to prevent 64bit warningshobbs2001-09-211-2/+2
|
* Objectified grid and pack commands.pspjuth2001-08-211-3/+3
|
* TkGetWindowFromObj was useless CPU waster; now caches window names *safely*dkf2001-08-211-1/+6
|
* Register Tk's object types with Tcl (Tcl Bug 450545)dkf2001-08-151-1/+6
|
* * TIP 44 changes specific to the Mac anddgp2001-08-061-2/+3
| | | | | | Windows platforms that were overlooked before: tkOpenDocument, tkConsoleExit, tkConsoleOutput, unsupported1 out of namespace :: . Thanks to Vince Darley for prompting another look.
* * generic/tkWindow.c (Tk_DestroyWindow): changed to usehobbs2001-07-031-7/+7
| | | | | Tcl_EventuallyFree instead of ckfree so that widgets that have references to a tkwin can use them.
* Upgraded frame to use the newer TK_OPTIONpspjuth2001-05-281-3/+3
| | | | | style when processing configuration options. Some cleanup of bad comments and bad code. [part of patch #420861]
* Overall change: Implemented TIP 5, which exportsericm2000-11-221-8/+8
| | | | | | | | | TkClassProcs/TkSetClassProcs as Tk_ClassProcs/Tk_SetClassProcs, adding a size field to Tk_ClassProcs to allow for future expansion, and renaming the geometryProc to worldChangedProc, which is more in keeping with the actual use of the callback. See ChangeLog for details.
* added comments about Tcl_SetMainLoop call effectshobbs2000-11-031-1/+9
|
* * generic/tkWindow.c (Initialize): added call to Tcl_SetMainLoop.hobbs2000-11-031-1/+3
| | | | | This only has effect when tclsh is run (not wish), and then Tk is loaded in interactively.
* * generic/tkCmds.c (Tk_WinfoObjCmd): Added check forericm2000-10-051-10/+105
| | | | | | | | | | | | | | | | | | | | | | | | TK_ANONYMOUS_WINDOW flag in the [winfo children] subcommand; if set, the window will not be printed in the list of children. * doc/CrtWindow.3: Added entry for Tk_CreateAnonymousWindow. * generic/tkWindow.c (Tk_CreateAnonymousWindow): New API for creating anonymous windows. These windows are manipulable from C, but not from Tcl, because they have no pathname associated with them. They are used initially by widgets that do rubber-band resizing (panedwindow, multi-column listbox, etc.), and may be useful for other widgets as well (dropbox, combobox). (Tk_DestroyWindow): Added check for TK_ANONYMOUS_WINDOW flag when determining whether to generate a DestroyNotify event. * generic/tkStubInit.c: * generic/tkDecls.h: Regen'd from tk.decls. * generic/tk.decls: Added Tk_CreateAnonymousWindow declaration. * generic/tk.h: Added TK_ANONYMOUS_WINDOW flag for Tk_Window's.
* * tests/place.test: Extended test suite to test error returns fromericm2000-08-081-2/+2
| | | | | | | | | | | | [place]. * generic/tkInt.h: Replaced Tk_PlaceCmd prototype with Tk_PlaceObjCmd prototype. * generic/tkWindow.c: Updated [place] command entry to use new Tcl_Obj interface. * generic/tkPlace.c (Tk_PlaceObjCmd): Tcl_Obj'ified [place] command.
* * generic/tkWindow.c: Updated [selection] command entry to useericm2000-08-071-2/+2
| | | | | | | | | | | | | new Tcl_Obj interface. * generic/tkInt.h: Replaced Tk_SelectionCmd prototype with Tk_SelectionObjCmd prototype. * tests/select.test: Updated test suite to recognize standardized error messages. * generic/tkSelect.c (Tk_SelectionObjCmd): Tcl_Obj'ified [selection] command.
* * generic/tkWindow.c: Updated "grab" command entry to useericm2000-08-041-2/+2
| | | | | | | | | | | | | Tcl_Obj'ified command. * generic/tkInt.h: Replaced Tk_GrabCmd prototype with Tk_GrabObjCmd prototype. * tests/grab.test: Initial suite of tests for [grab] command. * generic/tkGrab.c (Tk_GrabObjCmd): Tcl_Obj'ified [grab] command. * generic/tkCmds.c: Fixed casting problem in Tk_BindtagsObjCmd.
* * generic/tkInt.h: Replace Tk_BindCmd prototype withericm2000-08-031-2/+2
| | | | | | | | | Tk_BindObjCmd prototype. * generic/tkWindow.c: Updated "bind" command entry to use Tcl_Obj'ified command. * generic/tkCmds.c (Tk_BindObjCmd): Tcl_Obj'ified [bind] command.