diff --git a/WINGs/WINGs.h b/WINGs/WINGs.h index 0e909128..e82eaac0 100644 --- a/WINGs/WINGs.h +++ b/WINGs/WINGs.h @@ -1475,6 +1475,8 @@ void WMSetRulerReleaseAction(WMRuler *rPtr, WMAction *action, void *clientData); WMText *WMCreateTextForDocumentType(WMWidget *parent, WMAction *parser, WMAction *writer); +void WMSetTextDelegate(WMText *tPtr, WMTextDelegate *delegate); + void WMFreezeText(WMText *tPtr); void WMThawText(WMText *tPtr); diff --git a/WINGs/wtext.c b/WINGs/wtext.c index bb2cae8c..4223ee6b 100644 --- a/WINGs/wtext.c +++ b/WINGs/wtext.c @@ -1840,14 +1840,11 @@ reqBlockSize(unsigned short requested) static void -clearText(Text *tPtr, int destroy) +clearText(Text *tPtr) { tPtr->vpos = tPtr->hpos = 0; tPtr->docHeight = tPtr->docWidth = 0; - if(!destroy) - updateScrollers(tPtr); - if (!tPtr->firstTextBlock) return; @@ -1858,6 +1855,7 @@ clearText(Text *tPtr, int destroy) tPtr->currentTextBlock = NULL; tPtr->lastTextBlock = NULL; WMEmptyArray(tPtr->gfxItems); + updateScrollers(tPtr); } static void @@ -2533,7 +2531,7 @@ handleEvents(XEvent *event, void *data) case DestroyNotify: - clearText(tPtr, True); + clearText(tPtr); if(tPtr->hS) WMDestroyWidget(tPtr->hS); if(tPtr->vS) @@ -2995,7 +2993,7 @@ WMPrependTextStream(WMText *tPtr, char *text) if(tPtr->flags.ownsSelection) releaseSelection(tPtr); else - clearText(tPtr, False); + clearText(tPtr); return; } @@ -3018,7 +3016,7 @@ WMAppendTextStream(WMText *tPtr, char *text) if(tPtr->flags.ownsSelection) releaseSelection(tPtr); else - clearText(tPtr, False); + clearText(tPtr); return; }