summaryrefslogtreecommitdiffstats
path: root/generic/tkEvent.c
Commit message (Collapse)AuthorAgeFilesLines
* ANSIfydkf2005-11-041-4/+4
|
* * unix/tkUnixPort.h: Disabled inclusion of the private Tcl headerdgp2005-09-281-3/+23
| | | | | | | | | | * win/tkWinPort.h: file tclInt.h. Tk ought to have a tiny and shrinking number of calls of private Tcl routines. Each Tk source file doing this should follow the convention in the macosx port and have its own #include "tclInt.h". * generic/tkEvent.c: Disabled calls to private Tcl routine TclInExit(). See comment in TkCreateExitHandler() for full rationale.
* Tk-internal exit handler improvements. [Bug 749908]dkf2005-09-211-613/+725
|
* On Mac OS X scrollwheel events are sent to the window under the mouse, notwolfsuit2005-06-031-3/+8
| | | | to the focus window.
* Correct the InvokeClientMessageHandlers logic. [Bug 1162356]dkf2005-03-141-220/+235
| | | | Also many style fixups to approach the Engineering Manual.
* * generic/tkEvent.c (InvokeInputMethods): Call XSetICFocusrmax2004-11-111-10/+16
| | | | | whenever the window receives focus. This fixes bug #905830 but avoids #1000051.
* TIP#165 (user data field) implementation.dkf2004-08-291-18/+35
|
* Applied a fix from the core-8-4-branch so that unmapped windows don't queue ↵georgeps2004-07-291-1/+5
| | | | events.
* * generic/tkEvent.c (InvokeInputMethods): ensure IC focus is sethobbs2004-07-211-1/+11
| | | | after creation. [Bug #905830]
* The usage of the TK_XIM_SPOT definition was causing a build failure with ↵georgeps2004-07-051-5/+5
| | | | some systems. I changed the function prototype and the CreateXIMSpot block to work correctly.
* tkEvent.c was refactored to be cleaner and fix two bugs. Two bugs were ↵georgeps2004-07-021-315/+650
| | | | found and fixed. Button mask 4 and 5 synchronizing with the TkDisplay and ClientMessage handlers conflicting with the GenericHandler list.
* * generic/tk3d.c: All uses of 'panic' (the macro) changeddavygrvy2004-01-131-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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/tkEvent.c: Added three new functions: TkCreateExitHandler,davygrvy2003-12-211-1/+147
| | | | | | | | | | | | | | | | | * 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]
* * generic/tkEvent.c (Tk_HandleEvent): correct XCreateIC call forhobbs2003-07-191-3/+12
| | | | TK_XIM_SPOT usage. [Bug 742660] (takahashi)
* * generic/tkEvent.c (Tk_HandleEvent): Fixup buttonmdejong2003-02-181-2/+17
| | | | | | | | | | press state saving code, it was incorrectly converting normal motion events into button press and motion events in some cases. * generic/tkInt.h: Add mouseButtonWindow member to the TkDisplay structure. * tests/event.test: Add test case for faulty button motion logic.
* * generic/tkBind.c (TkBindDeadWindow):mdejong2002-06-191-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* * generic/tkCmds.c (Tk_TkObjCmd):hobbs2002-06-151-2/+2
| | | | | | | * unix/tkUnixKey.c (TkpGetString): * generic/tkEvent.c (Tk_HandleEvent): * generic/tkInt.h: changed useInputMethods boolean from int to a bit in the flags variable (TK_DISPLAY_USE_IM)
* changed TK_USE_XIM_SPOT to TK_DISPLAY_XIM_SPOT for clarityhobbs2002-06-151-2/+2
|
* * generic/tkEvent.c (Tk_HandleEvent):hobbs2002-06-151-33/+34
| | | | | | | | | * unix/tkUnixEvent.c (OpenIM): * unix/tkUnixKey.c (TkpGetString): * generic/tkInt.h: added TK_USE_XIM_SPOT flag bit for TkDisplay and used this to allow a runtime check to see if over-the-spot XIM is possible. If not it will try and fallback to the old-style input context, which handles things like dead keys input.
* * generic/tk.decls: added TIP #84 implementation that adds ahobbs2002-06-151-1/+48
| | | | | | | | | * 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.
* * generic/tkBind.c (TkXErrorHandler): Declare staticmdejong2002-06-141-1/+3
| | | | function to avoid compiler error with VC++.
* TIP #47 "Modifying Tk to Allow Writing X Window managers"jenglish2002-06-141-8/+121
| | | | | | | | (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/tkInt.h: added TK_XIM_SPOT #define (default 1).hobbs2002-04-051-11/+44
| | | | | | | | Added XFontSet attribute to TkDisplay when TK_XIM_SPOT is true. * generic/tkEvent.c (Tk_HandleEvent): made sure inputContexts are not getting created on DestroyNotify events (for dead windows). Added over-the-spot support if TK_XIM_SPOT is defined (default). The is the nicer XIM behavior, but uses a bit more memory.
* * generic/tk.h: added typdef for Tk_ClientMessageProchobbs2000-06-031-35/+162
| | | | | | | | | | | * generic/tkStubInit.c: * generic/tkDecls.h: * generic/tk.decls: Added Tk_CreateClientMessageHandler and Tk_DeleteClientMessageHandler declarations. * generic/tkEvent.c (Tk_HandleEvent): Added Tk_CreateClientMessageHandler and Tk_DeleteClientMessageHandler to allow adding event handlers that invoke for ClientMessage events. This is necessary to support unix dnd protocols.
* * generic/tkCmds.c:hobbs1999-12-161-9/+10
| | | | | | | | | | | | | | | * generic/tkEvent.c: * generic/tkWindow.c: * generic/tkInt.h: add 'tk useinputmethods ?-display win? ?bool?' call to provide support for disabling/enabling the use of XIM on X. This was previously all done at compile time, and always on. Now it * generic/tkCanvUtil.c: fixed bug in Tk_CanvasPsOutline that freed mem it shouldn't. * generic/tkFont.c: added "bitstream cyberbit" (popular Windows CJK font) to list of font fallbacks. (kenny) [Bug: 2407]
* * generic/tkStubInit.c:hobbs1999-12-141-1/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * generic/tkDecls.h: * generic/tkIntXlibDecls.h: * generic/tkInt.decls: added XSetDashes and XWarpPointer * generic/tk.decls: added Tk_CreateSmoothMethod, and reserved two spots * generic/tk.h: added Tk_SmoothMethod struct, state item to canvas record, #defines for item state, support for using old char*-based canvas item C creation procedures with -DUSE_OLD_CANVAS, Tk_Dash, Tk_TSOffset (-offsets) & Tk_Outline structs and #defs, decls for dash, outline and postscript routines * generic/tkBind.c: added support for Quadruple clicks, and added the -warp option to 'event' with pointer warping routines * xlib/xgc.c: * generic/tkRectOval.c: * generic/tkCanvArc.c: * generic/tkCanvBmap.c: * generic/tkCanvImg.c: * generic/tkCanvLine.c: * generic/tkCanvPoly.c: * generic/tkCanvPs.c: * generic/tkCanvText.c: * generic/tkCanvUtil.c: * generic/tkCanvWind.c: * generic/tkCanvas.c: * generic/tkCanvas.h: Canvas and items received overhaul to with the addition of the dash patch (Nijtmans, et al) This includes objectification of the 'canvas' command, as well as support for (where appropriate) dashes in items, extended stipple support, state for all items, and postscript generation of images and windows. See the new canvas man page for related docs. * generic/tkEntry.c: added entry widget validation, see entry.n * generic/tkEvent.c: on simulated events, ButtonPress should be matched with ButtonRelease to be correct * generic/tkFont.c: corrected possible null reference * generic/tkFrame.c: made frame a Tcl_Obj based command * generic/tkGet.c: added TkGetDoublePixels * generic/tkImage.c: bug fixes from Img patch and new Tk_PostscriptImage and Tk_SetTSOrigin functions * generic/tkImgBmap.c: new ImgBmapPostscript function * generic/tkImgPhoto.c: new Tk_CreatePhotoOption, Tk_DitherPhoto * generic/tkInt.h: declarations for some new functions * generic/tkMessage.c: reworked relief drawing * generic/tkOldConfig.c: added TK_CONFIG_OBJS so old style ConfigureWidget calls can pass in Tcl_Obj arrays * generic/tkScrollbar.c: * generic/tkScrollbar.h: made -orient use an option table * generic/tkText.c: * generic/tkText.h: made -wrap and -state use option tables * generic/tkTextBTree.c: * generic/tkTextDisp.c: * generic/tkTextImage.c: * generic/tkTextMark.c: * generic/tkTextTag.c: * generic/tkTextWind.c: added support for -elide and -state hidden * generic/tkTrig.c: changed TkMakeBezierCurve to support returning the upper limit of points needed for spline * generic/tkUtil.c: new option table parsing routines * generic/tkWindow.c: init'ing of warp stuff, mouseButtonState
* Fixed ANSI-style function definitions so that they work on K&Rredman1999-08-131-2/+2
| | | | compilers properly.
* * Merged 8.1 branch into the main trunkstanton1999-04-161-42/+103
|
* Added support for the MouseWheel event.rjohnson1998-10-101-4/+9
|
* Replaced SCCS strings, fixed binary filesstanton1998-09-141-1/+1
|
* Initial revisionrjohnson1998-04-011-0/+1038