瀏覽代碼

correctly wrap lines longer than width in richtextlabel, fixes #4735

Juan Linietsky 9 年之前
父節點
當前提交
c204170232
共有 1 個文件被更改,包括 7 次插入0 次删除
  1. 7 0
      scene/gui/rich_text_label.cpp

+ 7 - 0
scene/gui/rich_text_label.cpp

@@ -278,6 +278,11 @@ if (m_height > line_height) {\
 						if (c[end]=='\t') {
 							cw=tab_size*font->get_char_size(' ').width;
 						}
+
+						if (end>0 && w+cw+begin > p_width ) {
+							break; //don't allow lines longer than assigned width
+						}
+
 						w+=cw;
 
 						if (c[end]==' ') {
@@ -340,10 +345,12 @@ if (m_height > line_height) {\
 
 
 								int cw=font->get_char_size(c[i],c[i+1]).x;
+
 								if (c[i]=='\t') {
 									cw=tab_size*font->get_char_size(' ').width;
 								}
 
+
 								if (p_click_pos.x-cw/2>p_ofs.x+align_ofs+pofs) {
 
 									rchar=int((&c[i])-cf);