diff --git a/src/apps/terminal/TermView.cpp b/src/apps/terminal/TermView.cpp index abbacebfeb..3488e41628 100644 --- a/src/apps/terminal/TermView.cpp +++ b/src/apps/terminal/TermView.cpp @@ -551,7 +551,7 @@ TermView::Columns() const //! Set number of rows and columns in terminal BRect -TermView::SetTermSize(int rows, int columns) +TermView::SetTermSize(int rows, int columns, bool notifyShell) { //debug_printf("TermView::SetTermSize(%d, %d)\n", rows, columns); if (rows > 0) @@ -591,6 +591,9 @@ TermView::SetTermSize(int rows, int columns) offset + rows + 2); } + if (notifyShell) + fFrameResized = true; + return rect; } @@ -602,7 +605,7 @@ TermView::SetTermSize(BRect rect) int columns; GetTermSizeFromRect(rect, &rows, &columns); - SetTermSize(rows, columns); + SetTermSize(rows, columns, false); } @@ -1575,9 +1578,7 @@ TermView::FrameResized(float width, float height) if (fResizeViewDisableCount > 0) fResizeViewDisableCount--; - SetTermSize(rows, columns); - - fFrameResized = true; + SetTermSize(rows, columns, true); } diff --git a/src/apps/terminal/TermView.h b/src/apps/terminal/TermView.h index b3cbaa8f8e..2766f25686 100644 --- a/src/apps/terminal/TermView.h +++ b/src/apps/terminal/TermView.h @@ -72,7 +72,8 @@ public: void GetFontSize(int* width, int* height); int Rows() const; int Columns() const; - BRect SetTermSize(int rows, int cols); + BRect SetTermSize(int rows, int cols, + bool notifyShell); void SetTermSize(BRect rect); void GetTermSizeFromRect(const BRect &rect, int *rows, int *columns); diff --git a/src/apps/terminal/TermWindow.cpp b/src/apps/terminal/TermWindow.cpp index 1e7987e888..5c734312c1 100644 --- a/src/apps/terminal/TermWindow.cpp +++ b/src/apps/terminal/TermWindow.cpp @@ -817,7 +817,7 @@ TermWindow::MessageReceived(BMessage *message) for (int32 i = 0; i < fTabView->CountTabs(); i++) { TermView* view = _TermViewAt(i); - view->SetTermSize(rows, columns); + view->SetTermSize(rows, columns, true); _ResizeView(view); } break;