summaryrefslogtreecommitdiffstats
path: root/doc/notes1.txt
diff options
context:
space:
mode:
authorWilliam Joye <wjoye@cfa.harvard.edu>2019-01-07 19:38:48 (GMT)
committerWilliam Joye <wjoye@cfa.harvard.edu>2019-01-07 19:38:48 (GMT)
commitd24f03b3877861780be79b1a620adae80b942c3c (patch)
tree198c3c91d2dbce4713aa093390183d61facd06f3 /doc/notes1.txt
downloadblt-d24f03b3877861780be79b1a620adae80b942c3c.zip
blt-d24f03b3877861780be79b1a620adae80b942c3c.tar.gz
blt-d24f03b3877861780be79b1a620adae80b942c3c.tar.bz2
Squashed 'tkhtml1/' content from commit 8aa91eea
git-subtree-dir: tkhtml1 git-subtree-split: 8aa91eeaba85b77507541356b0b3ffcb465fa417
Diffstat (limited to 'doc/notes1.txt')
-rw-r--r--doc/notes1.txt52
1 files changed, 52 insertions, 0 deletions
diff --git a/doc/notes1.txt b/doc/notes1.txt
new file mode 100644
index 0000000..120f33f
--- /dev/null
+++ b/doc/notes1.txt
@@ -0,0 +1,52 @@
+The HTML widget uses lots of TCL callback routines. But a TCL
+callback can do nasty things. For example, a TCL callback
+could delete the HTML widget that invoked the callback. Or
+it could delete the TCL interpreter in which the HTML widget
+is running. So we have to call HtmlLock() before invoking
+a TCL callback and check to make sure the widget was not
+deleted before using any fields in the widget structure after
+the callback runs.
+
+The following routines can call TCL callbacks, either directly
+or indirectly:
+
+ HtmlTokenizerAppend()
+ HtmlParseCmd()
+ HtmlWidgetCommand()
+ HtmlGetImage()
+ HtmlAddStyle()
+ HtmlParseCmd()...
+ HtmlSizer()
+ HtmlLayout()
+ HtmlRedrawCallback()
+ GetLinkColor()
+ HtmlAddStyle()...
+ HtmlCallResolver()
+ HtmlGetImage()...
+ HtmlResolveCmd()
+ HtmlWidgetCommand()
+ HtmlRedrawCallback()...
+ HtmlGetFont()
+ DrawSelectionBackground()
+ HtmlBlockDraw()...
+ HtmlBlockDraw()
+ HtmlRedrawCallback()
+ FindIndexInBlock()
+ DecodeBaseIndex()
+ HtmlGetIndex()
+ HtmlIndexCmd()
+ HtmlWidgetCommand()...
+ HtmlSelectionSetCmd()
+ HtmlWidgetCommand()...
+ HtmlInsertCmd()
+ HtmlWidgetCommand()...
+ Paragraph()
+ DoBreakMarkup()
+ HtmlLayoutBlock()
+ HtmlLayout()...
+ HtmlTableLayout()
+ DoBreakMarkup()...
+ HtmlDeleteControls()
+ HtmlClear()
+ HtmlWidgetCommand()...
+ HtmlDestroyWidget()