forked from KolibriOS/kolibrios
kernel: fix sysfunction 9 GetProcInfo. As the window is created with width+1 and height+1 so the client size has to be bigger respectively
eolite: fix regression git-svn-id: svn://kolibrios.org@8012 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
1b38c0cb3a
commit
5950bfe4cd
@ -1505,6 +1505,7 @@ window._.set_window_clientbox: ;///////////////////////////////////////////////
|
|||||||
shl eax, 1
|
shl eax, 1
|
||||||
neg eax
|
neg eax
|
||||||
add eax, [ecx + WDATA.box.width]
|
add eax, [ecx + WDATA.box.width]
|
||||||
|
inc eax ;Leency: as window is created width+1 so client the same
|
||||||
mov [edi + SLOT_BASE + APPDATA.wnd_clientbox.width], eax
|
mov [edi + SLOT_BASE + APPDATA.wnd_clientbox.width], eax
|
||||||
|
|
||||||
movzx eax, [ecx + WDATA.fl_wstyle]
|
movzx eax, [ecx + WDATA.fl_wstyle]
|
||||||
@ -1515,6 +1516,7 @@ window._.set_window_clientbox: ;///////////////////////////////////////////////
|
|||||||
neg eax
|
neg eax
|
||||||
sub eax, [esp]
|
sub eax, [esp]
|
||||||
add eax, [ecx + WDATA.box.height]
|
add eax, [ecx + WDATA.box.height]
|
||||||
|
inc eax ;Leency: as window is created height+1 so client the same
|
||||||
mov [edi + SLOT_BASE + APPDATA.wnd_clientbox.height], eax
|
mov [edi + SLOT_BASE + APPDATA.wnd_clientbox.height], eax
|
||||||
add esp, 4
|
add esp, 4
|
||||||
jmp .exit
|
jmp .exit
|
||||||
|
@ -3,6 +3,9 @@
|
|||||||
|
|
||||||
// 70.5 - get volume info and label
|
// 70.5 - get volume info and label
|
||||||
|
|
||||||
|
#define TITLE "Eolite File Manager 4.46c"
|
||||||
|
#define ABOUT_TITLE "EOLITE 4.46c"
|
||||||
|
|
||||||
#ifndef AUTOBUILD
|
#ifndef AUTOBUILD
|
||||||
#include "lang.h--"
|
#include "lang.h--"
|
||||||
#endif
|
#endif
|
||||||
@ -249,7 +252,10 @@ void main()
|
|||||||
{
|
{
|
||||||
GetKeyModifier();
|
GetKeyModifier();
|
||||||
old_cur_y = files.cur_y;
|
old_cur_y = files.cur_y;
|
||||||
files.ProcessMouse(mouse.x, mouse.y);
|
if (files.ProcessMouse(mouse.x, mouse.y)) && (!key_modifier) {
|
||||||
|
List_ReDraw();
|
||||||
|
break;
|
||||||
|
}
|
||||||
if (key_modifier&KEY_LSHIFT) || (key_modifier&KEY_RSHIFT) {
|
if (key_modifier&KEY_LSHIFT) || (key_modifier&KEY_RSHIFT) {
|
||||||
EventChooseFilesRange(old_cur_y, files.cur_y);
|
EventChooseFilesRange(old_cur_y, files.cur_y);
|
||||||
} else if (key_modifier&KEY_LCTRL) || (key_modifier&KEY_RCTRL) {
|
} else if (key_modifier&KEY_LCTRL) || (key_modifier&KEY_RCTRL) {
|
||||||
@ -257,8 +263,7 @@ void main()
|
|||||||
DrawStatusBar();
|
DrawStatusBar();
|
||||||
List_ReDraw();
|
List_ReDraw();
|
||||||
} else {
|
} else {
|
||||||
if (old_cur_y == files.cur_y) Open(0);
|
if (mouse.y - files.y / files.item_h + files.first == files.cur_y) Open(0);
|
||||||
else List_ReDraw();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//file menu
|
//file menu
|
||||||
|
@ -1,6 +1,3 @@
|
|||||||
#define TITLE "Eolite File Manager 4.46b"
|
|
||||||
#define ABOUT_TITLE "EOLITE 4.46b"
|
|
||||||
|
|
||||||
#ifdef LANG_RUS
|
#ifdef LANG_RUS
|
||||||
?define T_FILE "” ©«"
|
?define T_FILE "” ©«"
|
||||||
?define T_TYPE "’¨¯"
|
?define T_TYPE "’¨¯"
|
||||||
|
@ -175,9 +175,8 @@ struct proc_info
|
|||||||
char rezerv2;
|
char rezerv2;
|
||||||
dword adress,use_memory,ID,left,top,width,height;
|
dword adress,use_memory,ID,left,top,width,height;
|
||||||
word status_slot,rezerv3;
|
word status_slot,rezerv3;
|
||||||
dword work_left,work_top,work_width,work_height;
|
dword cleft,ctop,cwidth,cheight;
|
||||||
char status_window;
|
char status_window;
|
||||||
dword cwidth,cheight;
|
|
||||||
byte reserved[1024-71-8];
|
byte reserved[1024-71-8];
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -187,8 +186,6 @@ struct proc_info
|
|||||||
EBX = _process_struct_pointer;
|
EBX = _process_struct_pointer;
|
||||||
ECX = _process_id;
|
ECX = _process_id;
|
||||||
$int 0x40
|
$int 0x40
|
||||||
DSDWORD[EBX+71] = DSDWORD[EBX+42] - 9; //set cwidth
|
|
||||||
DSDWORD[EBX+75] = DSDWORD[EBX+46] - skin_height - 4; //set cheight
|
|
||||||
}
|
}
|
||||||
|
|
||||||
inline fastcall int GetPointOwner( EBX, ECX) //ebx=m.x, ecx=m.y
|
inline fastcall int GetPointOwner( EBX, ECX) //ebx=m.x, ecx=m.y
|
||||||
|
Loading…
Reference in New Issue
Block a user