diff --git a/src/kits/interface/TextView.cpp b/src/kits/interface/TextView.cpp index 9deee35abb..9d63acfed2 100644 --- a/src/kits/interface/TextView.cpp +++ b/src/kits/interface/TextView.cpp @@ -2348,28 +2348,27 @@ BTextView::SetWordWrap(bool wrap) { if (wrap == fWrap) return; - - if (Window() != NULL) { - if (fActive) { - // hide the caret, unhilite the selection - if (fSelStart != fSelEnd) - Highlight(fSelStart, fSelEnd); - else { - _HideCaret(); - } - } - - fWrap = wrap; - _Refresh(0, fText->Length(), true, true); - - if (fActive) { - // show the caret, hilite the selection - if (fSelStart != fSelEnd && fSelectable) - Highlight(fSelStart, fSelEnd); - else - _ShowCaret(); + + bool updateOnScreen = fActive && Window() != NULL; + if (updateOnScreen) { + // hide the caret, unhilite the selection + if (fSelStart != fSelEnd) + Highlight(fSelStart, fSelEnd); + else { + _HideCaret(); } } + + fWrap = wrap; + _Refresh(0, fText->Length(), true, true); + + if (updateOnScreen) { + // show the caret, hilite the selection + if (fSelStart != fSelEnd && fSelectable) + Highlight(fSelStart, fSelEnd); + else + _ShowCaret(); + } }