summaryrefslogtreecommitdiffstats
path: root/generic
diff options
context:
space:
mode:
Diffstat (limited to 'generic')
-rw-r--r--generic/tkCanvas.c13
-rw-r--r--generic/tkInt.decls3
-rw-r--r--generic/tkIntPlatDecls.h5
-rw-r--r--generic/tkTextDisp.c30
4 files changed, 19 insertions, 32 deletions
diff --git a/generic/tkCanvas.c b/generic/tkCanvas.c
index 9c4d60a..8e14852 100644
--- a/generic/tkCanvas.c
+++ b/generic/tkCanvas.c
@@ -2447,19 +2447,6 @@ DisplayCanvas(
goto done;
}
-#ifdef MAC_OSX_TK
- /*
- * If drawing is disabled, all we need to do is
- * clear the REDRAW_PENDING flag.
- */
- TkWindow *winPtr = (TkWindow *)(canvasPtr->tkwin);
- MacDrawable *macWin = winPtr->privatePtr;
- if (macWin && (macWin->flags & TK_DO_NOT_DRAW)){
- canvasPtr->flags &= ~REDRAW_PENDING;
- return;
- }
-#endif
-
/*
* Choose a new current item if that is needed (this could cause event
* handlers to be invoked).
diff --git a/generic/tkInt.decls b/generic/tkInt.decls
index 8924d68..ebbadba 100644
--- a/generic/tkInt.decls
+++ b/generic/tkInt.decls
@@ -1017,9 +1017,6 @@ declare 50 aqua {
declare 51 aqua {
void TkGenWMDestroyEvent(Tk_Window tkwin)
}
-declare 52 aqua {
- TkMacOSXSetDrawingEnabled(TkWindow *winPtr, int flag);
-}
# removed duplicate from tkPlat table (tk.decls)
#declare 52 aqua {
diff --git a/generic/tkIntPlatDecls.h b/generic/tkIntPlatDecls.h
index 3a4bdac..3a2a8aa 100644
--- a/generic/tkIntPlatDecls.h
+++ b/generic/tkIntPlatDecls.h
@@ -250,8 +250,7 @@ EXTERN int TkGenerateButtonEvent(int x, int y, Window window,
unsigned int state);
/* 51 */
EXTERN void TkGenWMDestroyEvent(Tk_Window tkwin);
-/* 52 */
-EXTERN void TkMacOSXSetDrawingEnabled(TkWindow *winPtr, int flag);
+/* Slot 52 is reserved */
/* 53 */
EXTERN unsigned long TkpGetMS(void);
/* 54 */
@@ -396,7 +395,7 @@ typedef struct TkIntPlatStubs {
Window (*tkGetTransientMaster) (TkWindow *winPtr); /* 49 */
int (*tkGenerateButtonEvent) (int x, int y, Window window, unsigned int state); /* 50 */
void (*tkGenWMDestroyEvent) (Tk_Window tkwin); /* 51 */
- void (*tkMacOSXSetDrawingEnabled) (TkWindow *winPtr, int flag); /* 52 */
+ void (*reserved52)(void);
unsigned long (*tkpGetMS) (void); /* 53 */
void * (*tkMacOSXDrawable) (Drawable drawable); /* 54 */
int (*tkpScanWindowId) (Tcl_Interp *interp, const char *string, Window *idPtr); /* 55 */
diff --git a/generic/tkTextDisp.c b/generic/tkTextDisp.c
index c3bcd5e..95ea935 100644
--- a/generic/tkTextDisp.c
+++ b/generic/tkTextDisp.c
@@ -3948,6 +3948,7 @@ DisplayText(
* warnings. */
Tcl_Interp *interp;
+
if ((textPtr->tkwin == NULL) || (textPtr->flags & DESTROYED)) {
/*
* The widget has been deleted. Don't do anything.
@@ -3956,19 +3957,6 @@ DisplayText(
return;
}
-#ifdef MAC_OSX_TK
- /*
- * If drawing is disabled, all we need to do is
- * clear the REDRAW_PENDING flag.
- */
- TkWindow *winPtr = (TkWindow *)(textPtr->tkwin);
- MacDrawable *macWin = winPtr->privatePtr;
- if (macWin && (macWin->flags & TK_DO_NOT_DRAW)){
- dInfoPtr->flags &= ~REDRAW_PENDING;
- return;
- }
-#endif
-
interp = textPtr->interp;
Tcl_Preserve(interp);
@@ -3976,6 +3964,14 @@ DisplayText(
Tcl_SetVar2(interp, "tk_textRelayout", NULL, "", TCL_GLOBAL_ONLY);
}
+ if ((textPtr->tkwin == NULL) || (textPtr->flags & DESTROYED)) {
+ /*
+ * The widget has been deleted. Don't do anything.
+ */
+
+ goto end;
+ }
+
if (!Tk_IsMapped(textPtr->tkwin) || (dInfoPtr->maxX <= dInfoPtr->x)
|| (dInfoPtr->maxY <= dInfoPtr->y)) {
UpdateDisplayInfo(textPtr);
@@ -3987,6 +3983,14 @@ DisplayText(
Tcl_SetVar2(interp, "tk_textRedraw", NULL, "", TCL_GLOBAL_ONLY);
}
+ if ((textPtr->tkwin == NULL) || (textPtr->flags & DESTROYED)) {
+ /*
+ * The widget has been deleted. Don't do anything.
+ */
+
+ goto end;
+ }
+
/*
* Choose a new current item if that is needed (this could cause event
* handlers to be invoked, hence the preserve/release calls and the loop,