diff options
-rw-r--r-- | editor/editor_log.cpp | 7 | ||||
-rw-r--r-- | scene/gui/rich_text_label.cpp | 7 | ||||
-rw-r--r-- | scene/gui/rich_text_label.h | 2 |
3 files changed, 10 insertions, 6 deletions
diff --git a/editor/editor_log.cpp b/editor/editor_log.cpp index 858ef92502..3957f981be 100644 --- a/editor/editor_log.cpp +++ b/editor/editor_log.cpp @@ -122,12 +122,7 @@ void EditorLog::_process_message(const String &p_msg, MessageType p_type) { LogMessage &previous = messages.write[messages.size() - 1]; previous.count++; - if (collapse) { - // Remove last line if collapsing, as it will be replace by the next added line with an updated count. - log->remove_line(log->get_line_count() - 1); - } - - _add_log_line(previous); + _add_log_line(previous, collapse); } else { // Different message to the previous one received. LogMessage message(p_msg, p_type); diff --git a/scene/gui/rich_text_label.cpp b/scene/gui/rich_text_label.cpp index c763ae6bd6..843e7ef6e2 100644 --- a/scene/gui/rich_text_label.cpp +++ b/scene/gui/rich_text_label.cpp @@ -2612,6 +2612,13 @@ void RichTextLabel::pop() { current = current->parent; } +// Creates a new line without adding an ItemNewline to the previous line. +// Useful when wanting to calling remove_line and add a new line immediately after. +void RichTextLabel::increment_line_count() { + current_frame->lines.resize(current_frame->lines.size() + 1); + _invalidate_current_line(current_frame); +} + void RichTextLabel::clear() { main->_clear_children(); current = main; diff --git a/scene/gui/rich_text_label.h b/scene/gui/rich_text_label.h index e3e457d1f2..afc88e070a 100644 --- a/scene/gui/rich_text_label.h +++ b/scene/gui/rich_text_label.h @@ -483,6 +483,8 @@ public: void push_cell(); void pop(); + void increment_line_count(); + void clear(); void set_offset(int p_pixel); |