Propagate the encoding to TerminalBuffer. It doesn't really belong
there, but that's the easiest solution for the time being. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25887 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -356,6 +356,7 @@ TermView::_InitObject(int32 argc, const char **argv)
|
||||
status_t error = fTextBuffer->Init(fTermColumns, fTermRows, fScrBufSize);
|
||||
if (error != B_OK)
|
||||
return error;
|
||||
fTextBuffer->SetEncoding(fEncoding);
|
||||
|
||||
fShell = new (std::nothrow) Shell();
|
||||
if (fShell == NULL)
|
||||
@@ -537,6 +538,9 @@ TermView::SetEncoding(int encoding)
|
||||
// the string value of encoding. But when this function is called and
|
||||
// the encoding changes, the new value is never passed to Shell.
|
||||
fEncoding = encoding;
|
||||
|
||||
BAutolock _(fTextBuffer);
|
||||
fTextBuffer->SetEncoding(fEncoding);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -89,7 +89,8 @@ TerminalBuffer::_CursorChanged()
|
||||
TerminalBuffer::TerminalBuffer()
|
||||
:
|
||||
BLocker("terminal buffer"),
|
||||
fHistory(NULL)
|
||||
fHistory(NULL),
|
||||
fEncoding(M_UTF8)
|
||||
{
|
||||
}
|
||||
|
||||
@@ -145,8 +146,14 @@ TerminalBuffer::SetListener(BMessenger listener)
|
||||
int
|
||||
TerminalBuffer::Encoding() const
|
||||
{
|
||||
// TODO: Remove, if not needed!
|
||||
return M_UTF8;
|
||||
return fEncoding;
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
TerminalBuffer::SetEncoding(int encoding)
|
||||
{
|
||||
fEncoding = encoding;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -50,6 +50,7 @@ public:
|
||||
void SetListener(BMessenger listener);
|
||||
|
||||
int Encoding() const;
|
||||
void SetEncoding(int encoding);
|
||||
|
||||
int32 Width() const { return fWidth; }
|
||||
int32 Height() const { return fHeight; }
|
||||
@@ -182,6 +183,8 @@ private:
|
||||
|
||||
bool fOverwriteMode; // false for insert
|
||||
|
||||
int fEncoding;
|
||||
|
||||
// listener/dirty region management
|
||||
BMessenger fListener;
|
||||
TerminalBufferDirtyInfo fDirtyInfo;
|
||||
|
||||
Reference in New Issue
Block a user