After chatting with David Hyatt, the answer seems to be, in my own words, "smack your fingers with a ruler." My current layout() method leaves with the RenderMathRow instance and some of its descendants needing layout. That's a violation of the API contract for layout().
I should make sure I don't need layout at the end by adding: setNeedsLayout(false); That would have caused my current implementation to fail to do what I wanted. The simple fix for me is to call RenderBlock::layout() again within the context of my method. If that causes other problems, I'll have to deal with those problems individually. For now, that fixes my problems with zoom. -- --Alex Milowski "The excellence of grammar as a guide is proportional to the paucity of the inflexions, i.e. to the degree of analysis effected by the language considered." Bertrand Russell in a footnote of Principles of Mathematics _______________________________________________ webkit-dev mailing list webkit-dev@lists.webkit.org http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev