From 9bef1cf48bbd63bc90f740c1097461d03aed6a0e Mon Sep 17 00:00:00 2001 From: "Kirill Lipatov (Leency)" Date: Mon, 31 Mar 2014 18:01:40 +0000 Subject: [PATCH] WebView 1.0 Beta 6: fix new line in
 text (ViewSouce),
 speed optimizations

git-svn-id: svn://kolibrios.org@4726 a494cfbc-eb01-0410-851d-a64ba20cac60
---
 programs/cmm/TWB/TWB.c         | 15 +++++++++------
 programs/cmm/browser/WebView.c |  4 ++--
 2 files changed, 11 insertions(+), 8 deletions(-)

diff --git a/programs/cmm/TWB/TWB.c b/programs/cmm/TWB/TWB.c
index 0c9c56c8df..f25ac37b87 100644
--- a/programs/cmm/TWB/TWB.c
+++ b/programs/cmm/TWB/TWB.c
@@ -127,6 +127,7 @@ void TWebBrowser::Parse(){
 	byte ignor_param;
 	char temp[768];
 	dword bufpos = bufpointer;
+	int line_len;
 	
 	b_text = i_text = u_text = s_text = blq_text = t_html = t_body =
 	li_text = link = ignor_text = text_color_index = text_colors[0] = li_tab = 
@@ -165,6 +166,7 @@ void TWebBrowser::Parse(){
 				chrcat(#line, ' ');
 				bukva = temp = NULL;
 				Perenos();
+				break;
 			}
 		case '\9':
 			if (pre_text) //шэрўх шф╕ь эр 0x0d	
@@ -224,7 +226,7 @@ void TWebBrowser::Parse(){
 				if (bukva == '\9') || (bukva == '\x0a') || (bukva == '\x0d') bukva = ' ';
 				if (!ignor_param) && (bukva <>' ')
 				{
-					if (strlen(#tag) list.column_max) Perenos();
 			DrawPage();
@@ -251,13 +253,14 @@ void TWebBrowser::Parse(){
 		default:
 			DEFAULT_MARK:
 			if (bukva<=15) bukva=' ';
+			line_len = strlen(#line);
 			if (!pre_text) && (bukva == ' ')
 			{
-				if (line[strlen(#line)-1]==' ') break; //єсЁрЄ№ 2 яЁюсхыр яюфЁ ф
-				if (!stolbec) && (!line) break; //ёЄЁюър эх ьюцхЄ эрўшэрЄ№ё  ё яЁюсхыр
+				if (line[line_len-1]==' ') break; //no double spaces
+				if (!stolbec) && (!line) break; //no paces at the beginning of the line
 			}
-			if (strlen(#line) list.column_max) Perenos();
+			if (line_len < sizeof(line)) chrcat(#line, bukva);
+			if (stolbec + line_len > list.column_max) Perenos();
 		}
 	}
 	DrawPage();
diff --git a/programs/cmm/browser/WebView.c b/programs/cmm/browser/WebView.c
index 64e5d4e985..8aaddd9c12 100644
--- a/programs/cmm/browser/WebView.c
+++ b/programs/cmm/browser/WebView.c
@@ -29,14 +29,14 @@
 char homepage[] = FROM "html\homepage.htm";
 
 #ifdef LANG_RUS
-	char version[]=" Текстовый браузер 1.0 Beta 5.5";
+	char version[]=" Текстовый браузер 1.0 Beta 6";
 	?define IMAGES_CACHE_CLEARED "Кэш картинок очищен"
 	?define T_LAST_SLIDE "Это последний слайд"
 	char loading[] = "Загрузка страницы...
"; char page_not_found[] = FROM "html\page_not_found_ru.htm"; char accept_language[]= "Accept-Language: ru\n"; #else - char version[]=" Text-based Browser 1.0 Beta 5"; + char version[]=" Text-based Browser 1.0 Beta 6"; ?define IMAGES_CACHE_CLEARED "Images cache cleared" ?define T_LAST_SLIDE "This slide is the last" char loading[] = "Loading...
";