diff --git a/programs/develop/libGUI/src/activate_trap.inc b/programs/develop/libGUI/src/activate_trap.inc index ec4a926802..4443be55bb 100644 --- a/programs/develop/libGUI/src/activate_trap.inc +++ b/programs/develop/libGUI/src/activate_trap.inc @@ -7,10 +7,16 @@ activate_trap_for_specialized_message: - mov ebx,[esp+4] + push eax + push ebx + + mov ebx,[esp+8+4] xor eax,eax mov al,[ebx+control_header_size] or al,activate_trap mov [ebx+control_header_size],al + pop ebx + pop eax + ret 4 \ No newline at end of file diff --git a/programs/develop/libGUI/src/bookmark.inc b/programs/develop/libGUI/src/bookmark.inc index 202132db4b..6fcbc54b71 100644 --- a/programs/develop/libGUI/src/bookmark.inc +++ b/programs/develop/libGUI/src/bookmark.inc @@ -17,8 +17,15 @@ align 4 craete_Bookmark: - mov ebx,[esp+4] - mov eax,[esp+8] + push ebx + push ecx + push edx + push esi + push edi + push ebp + + mov ebx,[esp+24+4] + mov eax,[esp+24+8] mov [PointerToStructureForBookmark],eax mov [ParendForBookmark],ebx @@ -416,6 +423,13 @@ craete_Bookmark: dec [Bookmark.counter1] jnz next_Bookmark_craete_childs + pop ebp + pop edi + pop esi + pop edx + pop ecx + pop ebx + ret 8 ;**************************************************** diff --git a/programs/develop/libGUI/src/button.inc b/programs/develop/libGUI/src/button.inc index 38bb46bb8c..6f32e8fc6a 100644 --- a/programs/develop/libGUI/src/button.inc +++ b/programs/develop/libGUI/src/button.inc @@ -27,8 +27,15 @@ align 4 craete_button: - mov ebx,[esp+4] ;parend - mov eax,[esp+8] ;control + push ebx + push ecx + push edx + push esi + push edi + push ebp + + mov ebx,[esp+24+4] ;parend + mov eax,[esp+24+8] ;control mov [PointerToStructureForButton],eax @@ -64,6 +71,13 @@ craete_button: mov [eax+32],esi mov [eax+36],edi + pop ebp + pop edi + pop esi + pop edx + pop ecx + pop ebx + ret 8 ;**************************************************** diff --git a/programs/develop/libGUI/src/check_box.inc b/programs/develop/libGUI/src/check_box.inc index 1db87371ab..600d7bc2a4 100644 --- a/programs/develop/libGUI/src/check_box.inc +++ b/programs/develop/libGUI/src/check_box.inc @@ -13,8 +13,15 @@ align 4 craete_check_box: - mov ebx,[esp+4] - mov eax,[esp+8] + push ebx + push ecx + push edx + push esi + push edi + push ebp + + mov ebx,[esp+24+4] + mov eax,[esp+24+8] mov [PointerToStructureForCheckBox],eax @@ -46,6 +53,13 @@ craete_check_box: mov [eax+32],esi mov [eax+36],esi + pop ebp + pop edi + pop esi + pop edx + pop ecx + pop ebx + ret 8 ;**************************************************** diff --git a/programs/develop/libGUI/src/edit_box.inc b/programs/develop/libGUI/src/edit_box.inc index af3d0a4382..6736effbd5 100644 --- a/programs/develop/libGUI/src/edit_box.inc +++ b/programs/develop/libGUI/src/edit_box.inc @@ -13,8 +13,15 @@ align 4 craete_edit_box: - mov ebx,[esp+4] - mov eax,[esp+8] + push ebx + push ecx + push edx + push esi + push edi + push ebp + + mov ebx,[esp+24+4] + mov eax,[esp+24+8] mov [PointerToStructureForEditBox],eax @@ -45,6 +52,14 @@ craete_edit_box: mov [eax+32],esi mov [eax+36],edi + + pop ebp + pop edi + pop esi + pop edx + pop ecx + pop ebx + ret 8 ;**************************************************** diff --git a/programs/develop/libGUI/src/image.inc b/programs/develop/libGUI/src/image.inc index 30d8dc19a2..99ac06d048 100644 --- a/programs/develop/libGUI/src/image.inc +++ b/programs/develop/libGUI/src/image.inc @@ -17,8 +17,15 @@ align 4 craete_image: - mov ebx,[esp+4] - mov eax,[esp+8] + push ebx + push ecx + push edx + push esi + push edi + push ebp + + mov ebx,[esp+24+4] + mov eax,[esp+24+8] mov [PointerToStructureForImage],eax @@ -49,6 +56,13 @@ craete_image: mov [eax+32],esi mov [eax+36],edi + pop ebp + pop edi + pop esi + pop edx + pop ecx + pop ebx + ret 8 ;**************************************************** diff --git a/programs/develop/libGUI/src/move_component.inc b/programs/develop/libGUI/src/move_component.inc index 79e3462eb2..0173fbfc5a 100644 --- a/programs/develop/libGUI/src/move_component.inc +++ b/programs/develop/libGUI/src/move_component.inc @@ -14,11 +14,21 @@ align 4 move_component: - mov ebx,[esp+4] ;Control - mov ecx,[esp+8] ;new x - mov edx,[esp+12] ;new y + push ebx + push ecx + push edx + push ebp + + mov ebx,[esp+16+4] ;Control + mov ecx,[esp+16+8] ;new x + mov edx,[esp+16+12] ;new y mov [ebx+24],ecx mov [ebx+28],edx + pop ebp + pop edx + pop ecx + pop ebx + ret 12 diff --git a/programs/develop/libGUI/src/number.inc b/programs/develop/libGUI/src/number.inc index 05e21cd2fb..5a3154231d 100644 --- a/programs/develop/libGUI/src/number.inc +++ b/programs/develop/libGUI/src/number.inc @@ -19,8 +19,15 @@ align 4 craete_number: - mov ebx,[esp+4] - mov eax,[esp+8] + push ebx + push ecx + push edx + push esi + push edi + push ebp + + mov ebx,[esp+24+4] + mov eax,[esp+24+8] mov [PointerToStructureForNumber],eax @@ -47,6 +54,13 @@ craete_number: mov [eax+24],ecx mov [eax+28],edx + pop ebp + pop edi + pop esi + pop edx + pop ecx + pop ebx + ret 8 ;**************************************************** diff --git a/programs/develop/libGUI/src/progress_bar.inc b/programs/develop/libGUI/src/progress_bar.inc index f0bca896fa..b56f0d116e 100644 --- a/programs/develop/libGUI/src/progress_bar.inc +++ b/programs/develop/libGUI/src/progress_bar.inc @@ -17,8 +17,15 @@ align 4 craete_progress_bar: - mov ebx,[esp+4] - mov eax,[esp+8] + push ebx + push ecx + push edx + push esi + push edi + push ebp + + mov ebx,[esp+24+4] + mov eax,[esp+24+8] mov [PointerToStructureForProgressBar],eax @@ -49,6 +56,13 @@ craete_progress_bar: mov [eax+32],esi mov [eax+36],edi + pop ebp + pop edi + pop esi + pop edx + pop ecx + pop ebx + ret 8 ;**************************************************** diff --git a/programs/develop/libGUI/src/resize_component.inc b/programs/develop/libGUI/src/resize_component.inc index 58a2abc098..ebbb4ec155 100644 --- a/programs/develop/libGUI/src/resize_component.inc +++ b/programs/develop/libGUI/src/resize_component.inc @@ -14,11 +14,21 @@ align 4 resize_component: - mov ebx,[esp+4] ;Control - mov ecx,[esp+8] ;new size x - mov edx,[esp+12] ;new size y + push ebx + push ecx + push edx + push ebp + + mov ebx,[esp+16+4] ;Control + mov ecx,[esp+16+8] ;new size x + mov edx,[esp+16+12] ;new size y mov [ebx+32],ecx mov [ebx+36],edx + pop ebp + pop edx + pop ecx + pop ebx + ret 12 diff --git a/programs/develop/libGUI/src/scroller.inc b/programs/develop/libGUI/src/scroller.inc index a21d0761e9..77a40b7f06 100644 --- a/programs/develop/libGUI/src/scroller.inc +++ b/programs/develop/libGUI/src/scroller.inc @@ -33,8 +33,15 @@ align 4 craete_scroller: - mov ebx,[esp+4] - mov eax,[esp+8] + push ebx + push ecx + push edx + push esi + push edi + push ebp + + mov ebx,[esp+24+4] + mov eax,[esp+24+8] mov [PointerToStructureForScroller],eax @@ -83,6 +90,13 @@ craete_scroller: mov [eax+32],esi mov [eax+36],edi + pop ebp + pop edi + pop esi + pop edx + pop ecx + pop ebx + ret 8 ;**************************************************** diff --git a/programs/develop/libGUI/src/text.inc b/programs/develop/libGUI/src/text.inc index 8b0695b74d..8ccecdc976 100644 --- a/programs/develop/libGUI/src/text.inc +++ b/programs/develop/libGUI/src/text.inc @@ -19,8 +19,15 @@ align 4 craete_text: - mov ebx,[esp+4] - mov eax,[esp+8] + push ebx + push ecx + push edx + push esi + push edi + push ebp + + mov ebx,[esp+24+4] + mov eax,[esp+24+8] mov [PointerToStructureForText],eax @@ -51,6 +58,13 @@ craete_text: mov [eax+32],esi mov [eax+36],dword 9 + pop ebp + pop edi + pop esi + pop edx + pop ecx + pop ebx + ret 8 ;**************************************************** diff --git a/programs/develop/libGUI/src/version.inc b/programs/develop/libGUI/src/version.inc index 463ae7b04d..970b7cd9f4 100644 --- a/programs/develop/libGUI/src/version.inc +++ b/programs/develop/libGUI/src/version.inc @@ -11,6 +11,6 @@ align 4 get_version: xor eax,eax - mov eax,dword 071216 ;16.12.07 + mov eax,dword 080131 ;31.01.08 ret \ No newline at end of file diff --git a/programs/develop/libGUI/whats new.txt b/programs/develop/libGUI/whats new.txt index 722abc667a..6211ebf48d 100644 --- a/programs/develop/libGUI/whats new.txt +++ b/programs/develop/libGUI/whats new.txt @@ -1,3 +1,10 @@ +31.01.08 +RUSSIAN +Добавлено сохранение регистров после входа в функции libGUI. + +ENGLISH +Save of registers after an entrance in function libGUI is added. + 16.12.07 RUSSIAN