diff options
author | hobbs <hobbs> | 1999-12-21 23:56:33 (GMT) |
---|---|---|
committer | hobbs <hobbs> | 1999-12-21 23:56:33 (GMT) |
commit | af7ee473b79083a6795f5ab9300f64b4c1961b3c (patch) | |
tree | 3e1d623e322ec0ee93f04c760ab3f0937a3ef4d6 /unix/tkUnixWm.c | |
parent | fdba0d6552ccb3b13cdb2b5f6ba531ebff096158 (diff) | |
download | tk-af7ee473b79083a6795f5ab9300f64b4c1961b3c.zip tk-af7ee473b79083a6795f5ab9300f64b4c1961b3c.tar.gz tk-af7ee473b79083a6795f5ab9300f64b4c1961b3c.tar.bz2 |
* unix/configure.in:
* README: updated for patch level 8.3b1
* unix/tkUnixWm.c: fixed panic in Tk_CoordsToWindow to print error
and continue instead (for Tix) [Bug: 716 et al]
* unix/tkUnixMenu.c:
* unix/tkUnixFont.c:
* generic/tkImgPPM.c: removed extranneous vars that were set but
never used.
* unix/aclocal.m4: removed -O flag for AIX when using the IBM
compiler (several versions have a bug that crops up in the text
widget). [Bug: 2316]
* unix/Makefile.in: removed extra slash in SCRIPT_INSTALL_DIR
[Bug: 3896]
Diffstat (limited to 'unix/tkUnixWm.c')
-rw-r--r-- | unix/tkUnixWm.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/unix/tkUnixWm.c b/unix/tkUnixWm.c index c87fe53..b4ea55d 100644 --- a/unix/tkUnixWm.c +++ b/unix/tkUnixWm.c @@ -12,7 +12,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tkUnixWm.c,v 1.4 1999/04/16 01:51:47 stanton Exp $ + * RCS: @(#) $Id: tkUnixWm.c,v 1.5 1999/12/21 23:56:34 hobbs Exp $ */ #include "tkPort.h" @@ -3490,6 +3490,7 @@ Tk_CoordsToWindow(rootX, rootY, tkwin) WmInfo *wmPtr; TkWindow *winPtr, *childPtr, *nextPtr; TkDisplay *dispPtr = ((TkWindow *) tkwin)->dispPtr; + Tk_ErrorHandler handler; /* * Step 1: scan the list of toplevel windows to see if there is a @@ -3528,12 +3529,17 @@ Tk_CoordsToWindow(rootX, rootY, tkwin) * the toplevel. */ + handler = Tk_CreateErrorHandler(Tk_Display(tkwin), -1, -1, -1, + (Tk_ErrorProc *) NULL, (ClientData) NULL); while (1) { if (XTranslateCoordinates(Tk_Display(tkwin), parent, window, x, y, &childX, &childY, &child) == False) { - panic("Tk_CoordsToWindow got False return from XTranslateCoordinates"); + fprintf (stderr, "Tk_CoordsToWindow got False return from XTranslateCoordinates\n"); + fflush (stderr); + return NULL; } if (child == None) { + Tk_DeleteErrorHandler(handler); return NULL; } for (wmPtr = (WmInfo *) dispPtr->firstWmPtr; wmPtr != NULL; @@ -3556,6 +3562,7 @@ Tk_CoordsToWindow(rootX, rootY, tkwin) } gotToplevel: + Tk_DeleteErrorHandler(handler); winPtr = wmPtr->winPtr; if (winPtr->mainPtr != ((TkWindow *) tkwin)->mainPtr) { return NULL; |