summaryrefslogtreecommitdiffstats
path: root/unix
diff options
context:
space:
mode:
authorjenglish <jenglish@noemail.net>2004-06-16 20:03:17 (GMT)
committerjenglish <jenglish@noemail.net>2004-06-16 20:03:17 (GMT)
commit0207ae988fada9953cfa1294683434dacf4d94a3 (patch)
treed316493e03f85b97a1a55f3bf4a198db5c79bfbc /unix
parent57b869e44651c4ca14eb2d8fcb3456764fdfcc48 (diff)
downloadtk-0207ae988fada9953cfa1294683434dacf4d94a3.zip
tk-0207ae988fada9953cfa1294683434dacf4d94a3.tar.gz
tk-0207ae988fada9953cfa1294683434dacf4d94a3.tar.bz2
Fix for #742882 "Potential division by zero in gridded wm geometry"
FossilOrigin-Name: 4ca47059991de03c386b154f86b55de423cfb8d9
Diffstat (limited to 'unix')
-rw-r--r--unix/tkUnixWm.c20
1 files changed, 15 insertions, 5 deletions
diff --git a/unix/tkUnixWm.c b/unix/tkUnixWm.c
index 94162bd..c9f2760 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.41 2004/04/04 20:08:39 jenglish Exp $
+ * RCS: @(#) $Id: tkUnixWm.c,v 1.42 2004/06/16 20:03:19 jenglish Exp $
*/
#include "tkPort.h"
@@ -1729,12 +1729,12 @@ WmGridCmd(tkwin, winPtr, interp, objc, objv)
Tcl_SetResult(interp, "baseHeight can't be < 0", TCL_STATIC);
return TCL_ERROR;
}
- if (widthInc < 0) {
- Tcl_SetResult(interp, "widthInc can't be < 0", TCL_STATIC);
+ if (widthInc <= 0) {
+ Tcl_SetResult(interp, "widthInc can't be <= 0", TCL_STATIC);
return TCL_ERROR;
}
- if (heightInc < 0) {
- Tcl_SetResult(interp, "heightInc can't be < 0", TCL_STATIC);
+ if (heightInc <= 0) {
+ Tcl_SetResult(interp, "heightInc can't be <= 0", TCL_STATIC);
return TCL_ERROR;
}
Tk_SetGrid((Tk_Window) winPtr, reqWidth, reqHeight, widthInc,
@@ -3225,6 +3225,16 @@ Tk_SetGrid(tkwin, reqWidth, reqHeight, widthInc, heightInc)
register WmInfo *wmPtr;
/*
+ * Ensure widthInc and heightInc are greater than 0
+ */
+ if (widthInc <= 0) {
+ widthInc = 1;
+ }
+ if (heightInc <= 0) {
+ heightInc = 1;
+ }
+
+ /*
* Find the top-level window for tkwin, plus the window manager
* information.
*/