Unset the text buffer listener when being detached from the window, and

synchronize with the text buffer when being re-attached. Fixes the
problem that after switching to another tab and back ongoing output
wouldn't show anymore.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25965 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Ingo Weinhold 2008-06-15 16:17:32 +00:00
parent ecd79a2cc1
commit 5fcf3f86e8

View File

@ -956,11 +956,16 @@ TermView::AttachedToWindow()
}
BMessenger thisMessenger(this);
fTextBuffer->SetListener(thisMessenger);
BMessage message(kUpdateSigWinch);
fWinchRunner = new (std::nothrow) BMessageRunner(thisMessenger,
&message, 500000);
{
BAutolock _(fTextBuffer);
fTextBuffer->SetListener(thisMessenger);
_SynchronizeWithTextBuffer(0, -1);
}
}
@ -972,6 +977,11 @@ TermView::DetachedFromWindow()
delete fCursorBlinkRunner;
fCursorBlinkRunner = NULL;
{
BAutolock _(fTextBuffer);
fTextBuffer->UnsetListener();
}
}