--- lesstif-0.95/lib/Xm-2.1/TextF.c 2006/04/19 18:42:22 1.9 +++ lesstif-0.95/lib/Xm-2.1/TextF.c 2007/02/06 19:05:57 1.10 @@ -1,6 +1,6 @@ /** * - * $Header: /cvsroot/lesstif/lesstif/lib/Xm-2.1/TextF.c,v 1.9 2006/04/19 18:42:22 dannybackx Exp $ + * $Header: /cvsroot/lesstif/lesstif/lib/Xm-2.1/TextF.c,v 1.10 2007/02/06 19:05:57 dannybackx Exp $ * * Copyright (C) 1995 Free Software Foundation, Inc. * Copyright © 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2004, 2005 LessTif Development Team @@ -23,7 +23,7 @@ * **/ -static const char rcsid[] = "$Header: /cvsroot/lesstif/lesstif/lib/Xm-2.1/TextF.c,v 1.9 2006/04/19 18:42:22 dannybackx Exp $"; +static const char rcsid[] = "$Header: /cvsroot/lesstif/lesstif/lib/Xm-2.1/TextF.c,v 1.10 2007/02/06 19:05:57 dannybackx Exp $"; #include @@ -2312,8 +2312,11 @@ ww = wid; /* Protect against overwriting the left/right borders. */ - if (x < bw) + if (x < bw) { xx = bw; + ww -= bw - x; + } + if (XtWidth(w) < xx + ww + bw) ww = XtWidth(w) - 2 * bw - xx; @@ -2323,11 +2326,13 @@ xx, bh, ww, XtHeight(w) - 2 * bh)); - XClearArea(XtDisplay((Widget)w), XtWindow(w), - xx, bh, - ww /* XtWidth(w) - 2 * bw */, - XtHeight(w) - 2 * bh, - False); + + if (ww > 0) + XClearArea(XtDisplay((Widget)w), XtWindow(w), + xx, bh, + ww /* XtWidth(w) - 2 * bw */, + XtHeight(w) - 2 * bh, + False); XSetForeground(XtDisplay(w), TextF_DrawGC(w), Prim_Foreground(w)); XSetBackground(XtDisplay(w), TextF_DrawGC(w), XtBackground(w));