summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordkf <donal.k.fellows@manchester.ac.uk>2002-08-02 15:35:52 (GMT)
committerdkf <donal.k.fellows@manchester.ac.uk>2002-08-02 15:35:52 (GMT)
commit54f11088e5bee7a0f06235e8b67cdde9dfa614d4 (patch)
treee664403c22e6b9511f7540c6f13c0884f81277ab
parenta6ecc96855e6d3ca98b609428d599028ce77abcd (diff)
downloadtk-54f11088e5bee7a0f06235e8b67cdde9dfa614d4.zip
tk-54f11088e5bee7a0f06235e8b67cdde9dfa614d4.tar.gz
tk-54f11088e5bee7a0f06235e8b67cdde9dfa614d4.tar.bz2
Stopped a potential core dump from happening when a idle event outlives its clientdata.
-rw-r--r--ChangeLog6
-rw-r--r--generic/tkPanedWindow.c7
2 files changed, 11 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index b6084c3..fade9a6 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2002-08-02 Donal K. Fellows <fellowsd@cs.man.ac.uk>
+
+ * generic/tkPanedWindow.c (DestroyPanedWindow): Idle calls need to
+ be deleted on destruction of the window, or things can *really* go
+ pear-shaped.
+
2002-07-31 Donal K. Fellows <fellowsd@cs.man.ac.uk>
* generic/tkPanedWindow.c (PanedWindowReqProc): Postpone pane
diff --git a/generic/tkPanedWindow.c b/generic/tkPanedWindow.c
index 3e9cd4d..fa741a9 100644
--- a/generic/tkPanedWindow.c
+++ b/generic/tkPanedWindow.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: tkPanedWindow.c,v 1.5 2002/07/31 14:10:56 dkf Exp $
+ * RCS: @(#) $Id: tkPanedWindow.c,v 1.6 2002/08/02 15:35:53 dkf Exp $
*/
#include "tkPort.h"
@@ -1436,7 +1436,10 @@ DestroyPanedWindow(pwPtr)
if (pwPtr->flags & REDRAW_PENDING) {
Tcl_CancelIdleCall(DisplayPanedWindow, (ClientData) pwPtr);
}
-
+ if (pwPtr->flags & REQUESTED_RELAYOUT) {
+ Tcl_CancelIdleCall(ArrangePanes, (ClientData) pwPtr);
+ }
+
/*
* Clean up the slave list; foreach slave:
* o Cancel the slave's structure notification callback