| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
X.org developers (Keith Packard in particular), it was discovered
that Tk is doing management of XIDs that it shouldn't need to do.
The very common XC-MISC extension which has come with every version
of X for the last 15 years is used with Xlib now, to retrieve the
information about the used/unused XIDs.
The public Tk_FreeXId is now a no-op.
Joe English reviewed the patch, and said "please commit."
The patch is associated with the bug tracker id: 2039720
generic/tkError.c: Remove the usage of TkpWindowWasRecentlyDeleted.
generic/tkInt.decls: Update the declarations for the now unused
internalstubs.
generic/tkIntDecls.h: Regenerated based on tkInt.decls.
generic/tkIntPlatDecls.h: Regenerated based on tkInt.decls.
generic/tkStubInit.c
generic/tkWindow.c: Remove the calls to TkInitXId, and TkFreeWindowId.
macosx/tkMaxOSXPort.h: Remove TkFreeWindowId and TkInitXId macro
definitions.
macosx/tkMacOSXXStubs.c: Remove the no-op
TkpWindowWasRecentlyDeleted.
unix/tkUnixEvent.c: Remove call to TkFreeXId.
unix/tkUnixXId.c: Remove a lot of unnecessary code (see above).
win/tkWinPort.h: Remove TkFreeWindowId and TkInitXId.
win/tkWinWindow.c: Remove TkpWindowWasRecentlyDeleted.
|
| |
|
|
|
|
|
| |
* generic/tkWindow.c (Initialize): and export only a module-scope
pointer to to the main stubs table (for package init). [Patch 1938497]
|
|
|
|
| |
* tests/main.test (main-3.*): error. [Bug 1937135]
|
| |
|
|
|
|
|
|
| |
* unix/Makefile.in: "tkStubsPtr" is not present in libtk.so, but
is present only in libtkstub.a. This tightens up the rules for users
of the stubs interfaces. [Tcl Bug 1819422].
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* generic/tk.h:
* library/tk.tcl:
* macosx/Wish-Common.xcconfig:
* unix/configure.in:
* unix/tk.spec:
* win/README:
* win/configure.in:
* win/tcl.m4:
* unix/configure: autoconf-2.59
* win/configure:
* generic/tkConsole.c: Relax Tcl_InitStubs() calls so that a Tk 8.6
* generic/tkMain.c: might [load] into a Tcl 8.5 interp.
* generic/tkWindow.c:
* generic/tkStubLib.c: Update to compatibility with a libtcl.so
that contains no "tclStubsPtr" [Tcl Bug 1819422].
* generic/tkDecls.h: make genstubs
* generic/tkIntDecls.h:
* generic/tkIntPlatDecls.h:
* generic/tkIntXlibDecls.h:
* generic/tkPlatDecls.h:
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
* generic/tkMain.c: for restored compatible support for the call
* generic/tkWindow.c: Tcl_InitStubs(interp, TCL_VERSION, 1). Also
revised Tcl_PkgRequire() call for Tcl so that, for example, a Tk
library built against Tcl 8.5.1 headers will not refuse to [load]
into a Tcl 8.5.0 interpreter. [Tcl Bug 1578344].
* generic/tk.h: Revised Tk_InitStubs() to restore Tk 8.4
* generic/tkStubLib.c: source compatibility with callers of
* generic/tkWindow.c: Tk_InitStubs(interp, TK_VERSION, 1).
|
| |
|
|
|
|
|
|
|
|
|
| |
* generic/tkMain.c: [package require Tcl] so that Tk Says What
* generic/tkWindow.c: It Means using the new facilties of [package]
* library/tk.tcl: in Tcl 8.5 about what version(s) of Tcl it
* unix/Makefile.in: is willing to work with. [Bug 1578344].
* win/Makefile.in:
* win/makefile.vc:
|
|
|
|
|
|
|
| |
* generic/tkMain.c: the traditional practice that a Tk shared
* generic/tkWindow.c: library may [load] into a Tcl 8.5 interp at
any patchlevel. This practice also matches the compile time checks
of TCL_MAJOR_VERSION and TCL_MINOR_VERSION in tk.h. [Bug 1723622]
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
* generic/tkInitScript.h (removed): script out of tkInitScript.h
* macosx/tkMacOSXInit.c: and multiple TkpInit() routines and
* unix/Makefile.in: into the common Initialize() routine in
* unix/tkUnixInit.c: generic code. Also removed constraint on
* win/tkWinInit.c: ability to define a custom [tkInit] before
calling Tk_Init(). Until now the custom [tkInit] had to be a proc.
Now it can be any command. Removal of tkInitScript.h also fixes
[Bug 1656283].
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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).
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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/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:
|
|
|
|
|
|
| |
(jeffh). Release mutex a bit earlier, to prevent lock when OS X
creates its console windows (recursively enters Tk_Init). Patch
by JeffH.
|
|
|
|
| |
pairing. [Bug 1479587] (loewis)
|
|
|
|
|
|
|
|
| |
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]
|
|
|
|
| |
DeleteWindowsExitProc as a global exit handler.
|
| |
|
|
|
|
| |
Also a few spots where code has been cleaned up more completely.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is cleanup thanks to Neil Madden <nem@cs.nott.ac.uk>.
* macosx/tkMacOSXWm.c (TkMacOSXWinStyle) New function.
(TkUnsupported1ObjCmd): New function, replaces the un-objectified
version of the command.
* generic/tkInt.h: Swap TkUnsupported1Cmd for TkUnsupported1ObjCmd.
* generic/tkWindow.c (): Ditto.
This adds a "-notify" flag to "wm attributes" that will bounce the
dock icon on Mac OS X. This is from Revar Desmera <revarbat@gmail.com>
* macosx/tkMacOSXWm.c (WmAttrGetNotifyStatus, WmAttrSetNotifyStatus):
New functions.
(WmAttributesCmd): Add the -notify.
* doc/wm.n: Document -notify.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* generic/tkBind.c: to 'Tcl_Panic' (the function). The #define
* generic/tkBitmap.c: of panic in tcl.h clearly states it is
* generic/tkCanvArc.c: deprecated in the comments.
* generic/tkCanvBmap.c: [Tcl Patch 865264]
* generic/tkCanvImg.c:
* generic/tkCanvLine.c:
* generic/tkCanvPoly.c:
* generic/tkCanvText.c:
* generic/tkCanvWind.c:
* generic/tkColor.c:
* generic/tkConfig.c:
* generic/tkCursor.c:
* generic/tkError.c:
* generic/tkEvent.c:
* generic/tkFocus.c:
* generic/tkFont.c:
* generic/tkFrame.c:
* generic/tkGC.c:
* generic/tkGrid.c:
* generic/tkImgBmap.c:
* generic/tkImgPhoto.c:
* generic/tkImgUtil.c:
* generic/tkMenu.c:
* generic/tkObj.c:
* generic/tkPack.c:
* generic/tkPlace.c:
* generic/tkRectOval.c:
* generic/tkSelect.c:
* generic/tkText.c:
* generic/tkTextBTree.c:
* generic/tkTextDisp.c:
* generic/tkTextImage.c:
* generic/tkTextIndex.c:
* generic/tkTextMark.c:
* generic/tkTextWind.c:
* generic/tkVisual.c:
* generic/tkWindow.c:
* mac/tkMacAppInit.c:
* mac/tkMacAppearanceStubs.c:
* mac/tkMacButton.c:
* mac/tkMacDraw.c:
* mac/tkMacEmbed.c:
* mac/tkMacFont.c:
* mac/tkMacInit.c:
* mac/tkMacMenus.c:
* mac/tkMacPort.h:
* mac/tkMacSubwindows.c:
* mac/tkMacWm.c:
* mac/tkMacXStubs.c:
* macosx/tkMacOSXEmbed.c:
* macosx/tkMacOSXFont.c:
* macosx/tkMacOSXMenus.c:
* macosx/tkMacOSXNotify.c:
* macosx/tkMacOSXPort.h:
* macosx/tkMacOSXSubwindows.c:
* macosx/tkMacOSXWm.c:
* macosx/tkMacOSXXStubs.c:
* unix/tkUnix3d.c:
* unix/tkUnixColor.c:
* unix/tkUnixEmbed.c:
* unix/tkUnixEvent.c:
* unix/tkUnixFocus.c:
* unix/tkUnixFont.c:
* unix/tkUnixSelect.c:
* unix/tkUnixSend.c:
* unix/tkUnixWm.c:
* win/tkWin3d.c:
* win/tkWinButton.c:
* win/tkWinColor.c:
* win/tkWinDialog.c:
* win/tkWinDraw.c:
* win/tkWinEmbed.c:
* win/tkWinFont.c:
* win/tkWinPixmap.c:
* win/tkWinPointer.c:
* win/tkWinScrlbr.c:
* win/tkWinWm.c:
* win/tkWinX.c:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* generic/tkInt.h: TkDeleteExitHandler, and TkFinalize. This adds
* generic/tkMenu.c: an insertion point so Tk's exit handlers can be
* generic/tkWindow.c: called on their own from tk85.dll's DllMain
* mac/tkMacButton.c: for DLL_PROCESS_DETACH. These are private to
* unix/tkUnixEvent.c: the binary and not exported. It is possible
* win/tkWin32Dll.c: the Windows OS can unload Tk _prior_ to Tcl
* win/tkWinEmbed.c: under some conditions such as ExitProcess().
* win/tkWinMenu.c: This avoids a dangling pointer problem when Tcl
* win/tkWinX.c: does Tcl_Finalize after Tk has been unloaded.
* win/winMain.c: DllMain's DLL_PROCESS_DETACH now protected with
SEH as DeleteWindowsExitProc is causing an
exception of its own under some teardown
conditions. AT&T assembly syntax has not been
added for MinGW yet. [Tcl Patch 858493]
|
| |
|
| |
|
|
|
|
| |
[Bug 755906] (mistachkin)
|
| |
|
|
|
|
|
| |
Reworked windowObj type.
Fixes Tk Bug #671330 "segfault when e.g. deiconifying destroyed window"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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/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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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)
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
Frederic Bonnet to supply docs+tests as soon as possible.
|
|
|
|
|
|
|
|
| |
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/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.
|