RenoComm contains a pair of VisTexts, in the same VisContent. One is the
terminal emulator, the other is a scrollback buffer. Whenever a CRLF
comes in, the top line of the terminal is chopped off and pasted onto
the end of the scrollback buffer. The terminal remains a constant size,
and the scrollback expands by one line.
That much works. The problem is this:
When the scrollback expands, it pushes the terminal down in the content.
This displays properly, but the terminal seems confused. The text that
was in the terminal already moves to the correct position, *but the cursor,
and any text you type, displays in the position it was in before the
scrollback buffer grew*.
Iconify the window and open it up again, and everything is in its proper
place. So apparently I'm not invalidating something properly.
I am sending MSG_VIS_MARK_INVALID to both objects, and I evn tried the
'brute force' MSG_VIS_INVAL_ALL_GEOMETRY, but I can't seem to solve the
problem.
Any ideas? What is the appropriate way to invalidate the geometry of
a viscontent object when you change the size of its children?
Many thanks in advance,
Jerry
- ------------------------------------------------------------------------------
"Why do your people always ask if someone is reno@smart.net
ready right before you do something massively unwise?"
- Delenn, Babylon 5/War Without End by J. Michael Straczynski O-