Fl_Text_Display::wrap_mode() would crash if no buffer was
associated with the widget (STR #1069) git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@4647 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
This commit is contained in:
parent
0f41b3b071
commit
258c3e81a4
2
CHANGES
2
CHANGES
@ -3,6 +3,8 @@ CHANGES IN FLTK 1.1.7
|
||||
- Documentation fixes (STR #571, STR #648, STR #692, STR
|
||||
#730, STR #744, STR #745, STR #931, STR #942, STR #960,
|
||||
STR #969)
|
||||
- Fl_Text_Display::wrap_mode() would crash if no buffer
|
||||
was associated with the widget (STR #1069)
|
||||
- Updated the default label and text colors of all widgets
|
||||
to use FL_FOREGROUND_COLOR instead of FL_BLACK (STR
|
||||
#1052)
|
||||
|
@ -658,19 +658,28 @@ void Fl_Text_Display::wrap_mode(int wrap, int wrapMargin) {
|
||||
mWrapMargin = wrapMargin;
|
||||
mContinuousWrap = wrap;
|
||||
|
||||
/* wrapping can change change the total number of lines, re-count */
|
||||
mNBufferLines = count_lines(0, buffer()->length(), true);
|
||||
if (buffer()) {
|
||||
/* wrapping can change change the total number of lines, re-count */
|
||||
mNBufferLines = count_lines(0, buffer()->length(), true);
|
||||
|
||||
/* changing wrap margins wrap or changing from wrapped mode to non-wrapped
|
||||
can leave the character at the top no longer at a line start, and/or
|
||||
change the line number */
|
||||
mFirstChar = line_start(mFirstChar);
|
||||
mTopLineNum = count_lines(0, mFirstChar, true) + 1;
|
||||
reset_absolute_top_line_number();
|
||||
/* changing wrap margins wrap or changing from wrapped mode to non-wrapped
|
||||
can leave the character at the top no longer at a line start, and/or
|
||||
change the line number */
|
||||
mFirstChar = line_start(mFirstChar);
|
||||
mTopLineNum = count_lines(0, mFirstChar, true) + 1;
|
||||
|
||||
/* update the line starts array */
|
||||
calc_line_starts(0, mNVisibleLines);
|
||||
calc_last_char();
|
||||
reset_absolute_top_line_number();
|
||||
|
||||
/* update the line starts array */
|
||||
calc_line_starts(0, mNVisibleLines);
|
||||
calc_last_char();
|
||||
} else {
|
||||
// No buffer, so just clear the state info for later...
|
||||
mNBufferLines = 0;
|
||||
mFirstChar = 0;
|
||||
mTopLineNum = 1;
|
||||
mAbsTopLineNum = 0;
|
||||
}
|
||||
|
||||
resize(x(), y(), w(), h());
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user