summaryrefslogtreecommitdiffstats
path: root/generic/tkEvent.c
Commit message (Collapse)AuthorAgeFilesLines
* XIM fixes [See #905830, patch tk84-xim-fixes.patch]:jenglish2006-01-201-3/+5
| | | | | | + Revert 2005-12-05 patch disabling XIM when SCIM in use; + Make sure all X events get passed to XFilterEvent, including those without a corresponding Tk window.
* * generic/tkEvent.c: fix handling of ClientMessage handlers.hobbs2005-11-301-4/+4
| | | | [Bug 1289565 983920]
* * generic/tkEvent.c (Tk_HandleEvent): Call XSetICFocus wheneverrmax2004-10-261-1/+12
| | | | | the window receives focus. This fixes bug #905830 but avoids #1000051.
* * changes:dgp2004-07-291-11/+1
| | | | | | * generic/tkEvent.c (Tk_HandleEvent): revert the 2004-07-20 commit. That commit created a new Bug 1000051 - a broken Compose Key. This revert restores Bug 905830 until a cleaner fix can be provided.
* Don't queue events for unmapped children.wolfsuit2004-07-211-1/+5
|
* * generic/tkEvent.c (Tk_HandleEvent): ensure IC focus is set afterhobbs2004-07-211-1/+11
| | | | creation. [Bug #905830]
* This gets the scroll wheel working for listboxes and text widgets for Mac OSwolfsuit2004-02-161-1/+6
| | | | | | X. It also changes the model to route scrollwheel events to the window under the pointer, not the focus window on X (and only on X). That is the correct behavior for Mac OS X.
* * 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