From 5e3b455efa8d24e25a42bb2b12fb7c4b1496034a Mon Sep 17 00:00:00 2001 From: dkf Date: Fri, 2 Aug 2002 15:35:51 +0000 Subject: Stopped a potential core dump from happening when a idle event outlives its clientdata. FossilOrigin-Name: 42c56da310b6334d4a72d17bd243996ca1c1e642 --- ChangeLog | 6 ++++++ generic/tkPanedWindow.c | 7 +++++-- 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 + + * 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 * 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 -- cgit v0.12