diff --git a/programs/network/htmlv/browser/HTMLv.c b/programs/network/htmlv/browser/HTMLv.c
index 38b99f5a50..49f6a1f972 100644
--- a/programs/network/htmlv/browser/HTMLv.c
+++ b/programs/network/htmlv/browser/HTMLv.c
@@ -52,6 +52,7 @@ void main()
int btn;
byte key;
int half_scroll_size;
+ int scroll_used=0;
mem_Init();
load_dll2(libio, #libio_init,1);
@@ -60,7 +61,7 @@ void main()
load_dll2(#abox_lib, #boxlib_init,0);
//load_dll2(libtruetype, #truetype,0);
- if (!URL) strcpy(#URL, "/sys/index.htm");
+ if (!URL) strcpy(#URL, "/sys/home.htm");
strcpy(#editURL, #URL);
Form.width=WIN_W;
@@ -115,18 +116,19 @@ void main()
break;
}
- IF (lines.all=WB1.width-14) && (m.x<=WB1.width+6)
- && (m.y>WB1.top+16) && (m.ylines.visible) while (m.lkm)
+ if (!m.lkm) scroll_used=0;
+ if (m.x>=WB1.width-14) && (m.x<=WB1.width+6) && (m.y>WB1.top+16)
+ && (m.ylines.visible) && (m.lkm)
+ scroll_used=1;
+
+ if (scroll_used)
{
+ half_scroll_size = WB1.height - 16 * lines.visible / lines.all - 3 /2;
IF (half_scroll_size+WB1.top>m.y) || (m.y<0) || (m.y>4000) m.y=half_scroll_size+WB1.top; //если курсор над окном
btn=lines.first; //сохраняем старое количество
lines.first = m.y -half_scroll_size -WB1.top * lines.all / WB1.height;
- IF (lines.visible+lines.first>lines.all) lines.first=lines.all-lines.visible;
- IF (btn<>lines.first) WB1.ParseHTML(buf); //чтоб лишний раз не перерисовывать
- m.get();
+ if (lines.visible+lines.first>lines.all) lines.first=lines.all-lines.visible;
+ if (btn<>lines.first) WB1.ParseHTML(buf); //чтоб лишний раз не перерисовывать
}
break;
diff --git a/programs/network/htmlv/browser/History.txt b/programs/network/htmlv/browser/History.txt
index 20bf5eea66..0093d1a05a 100644
--- a/programs/network/htmlv/browser/History.txt
+++ b/programs/network/htmlv/browser/History.txt
@@ -1,7 +1,10 @@
-16.07.12 - 0.96d
+16.07.12 - 0.97
- небольшие улучшения в обработке ссылок и изображений;
- включение обработки разрывов строк через меню;
-- поддержка цветов вида #abc, улучшения в обработке цветов.
+- поддержка цветов вида #abc, улучшения в обработке цветов;
+- пропадали изображения при начале загрузки страницы;
+- исправлен баг 100% загрузки процессора при использовании
+ скролла (спасибо hidnplayer).
14.07.12 - 0.96
- исправлен баг со строкой адреса
diff --git a/programs/network/htmlv/browser/TWB.h b/programs/network/htmlv/browser/TWB.h
index 232f81c800..1c752a4057 100644
--- a/programs/network/htmlv/browser/TWB.h
+++ b/programs/network/htmlv/browser/TWB.h
@@ -8,7 +8,7 @@ dword
char download_path[]="/rd/1/.download";
char search_path[]="http://nigma.ru/index.php?s=";
-char version[]=" Text-based Browser 0.96d";
+char version[]=" Text-based Browser 0.97";
struct TWebBrowser {
@@ -205,10 +205,13 @@ char *ABSOLUTE_LINKS[]={ "http:", "mailto:", "ftp:", "/sys/", "/rd/", "/fd/", "/
//dword TWebBrowser::GetNewUrl(dword CUR_URL, NEW_URL){
void TWebBrowser::GetNewUrl(){
- int i;
+ int i, len;
for (i=0; ABSOLUTE_LINKS[i]; i++)
- if (!strcmpn(#URL, ABSOLUTE_LINKS[i], strlen(ABSOLUTE_LINKS[i]))) return;
+ {
+ len=strlen(ABSOLUTE_LINKS[i]);
+ if (!strcmpn(#URL, ABSOLUTE_LINKS[i], len)) return;
+ }
IF (!strcmpn(#URL,"./", 2)) strcpy(#URL, #URL+2); //игнорим :)
if (URL[0] == '/') strcpy(#URL, #URL+1);
@@ -768,8 +771,9 @@ void TWebBrowser::WhatTextStyle(int left1, top1, width1) {
IMG_TAG:
if (!strcmp(#parametr,"src=")) //надо объединить с GetNewUrl()
{
- if (!strcmpn(#URL, "http:", 5)) || (!strcmpn(#options, "http:", 5)) return;
- strcpy(#temp, BrowserHistory.CurrentUrl()); //достаём адрес текущей страницы
+ if (downloader_id!=0) strcpy(#temp, #history_list[history_current-1].Item);
+ else strcpy(#temp, BrowserHistory.CurrentUrl()); //достаём адрес текущей страницы
+ if (!strcmpn(#temp, "http:", 5)) || (!strcmpn(#options, "http:", 5)) return;
temp[strrchr(#temp, '/')] = 0x00; //обрезаем её урл до последнего /
strcat(#temp, #options);
image=load_image(#temp);
diff --git a/programs/network/htmlv/browser/include/acid_0.1.htm b/programs/network/htmlv/browser/include/acid_0.1.htm
index 027a8e19c7..70131954ca 100644
--- a/programs/network/htmlv/browser/include/acid_0.1.htm
+++ b/programs/network/htmlv/browser/include/acid_0.1.htm
@@ -59,6 +59,8 @@
Незакрытый тег а - Index.htm
Kernel.mnt
index.htm#2.1.4
+http://bash.im
+Mail to leency
#2.1.4
Фоновая картинка