diff --git a/kernel/trunk/core/taskman.inc b/kernel/trunk/core/taskman.inc index d6b19af346..442927e68d 100644 --- a/kernel/trunk/core/taskman.inc +++ b/kernel/trunk/core/taskman.inc @@ -81,7 +81,7 @@ proc fs_execute hdr_i_end dd ? ;0x14 endl - pushad + call set_default_cursor_clock mov [flags], edx @@ -113,6 +113,7 @@ proc fs_execute .bigfilename: popad mov eax, -ERROR_FILE_NOT_FOUND + call set_default_cursor_arrow ret .namecopied: @@ -127,6 +128,7 @@ proc fs_execute @@: lea eax, [filename] stdcall load_file, eax + mov esi, -ERROR_FILE_NOT_FOUND test eax, eax jz .err_file @@ -237,6 +239,7 @@ end if xor ebx, ebx mov [application_table_status], ebx;unlock application_table_status mutex mov eax, [process_number];set result + call set_default_cursor_arrow ret .failed: mov eax, [save_cr3] @@ -248,6 +251,7 @@ end if xor eax, eax mov [application_table_status], eax mov eax, esi + call set_default_cursor_arrow ret endp diff --git a/kernel/trunk/data32.inc b/kernel/trunk/data32.inc index b1effe8380..d147213d4f 100644 --- a/kernel/trunk/data32.inc +++ b/kernel/trunk/data32.inc @@ -333,6 +333,7 @@ _WinMapAddress rd 1 _WinMapSize rd 1 def_cursor rd 1 +def_cursor_clock rd 1 current_cursor rd 1 hw_cursor rd 1 cur_saved_base rd 1 diff --git a/kernel/trunk/video/arrow_clock.cur b/kernel/trunk/video/arrow_clock.cur new file mode 100644 index 0000000000..1187c4899b Binary files /dev/null and b/kernel/trunk/video/arrow_clock.cur differ diff --git a/kernel/trunk/video/cursors.inc b/kernel/trunk/video/cursors.inc index a0ae3b802a..99e10af34f 100644 --- a/kernel/trunk/video/cursors.inc +++ b/kernel/trunk/video/cursors.inc @@ -1014,6 +1014,8 @@ align 4 ;-------------------------------------- align 4 @@: + stdcall load_cursor, clock_arrow, dword LOAD_FROM_MEM + mov [def_cursor_clock], eax stdcall load_cursor, def_arrow, dword LOAD_FROM_MEM mov [def_cursor], eax ret @@ -1025,8 +1027,28 @@ align 4 mov [_display.move_cursor], eax ret ;------------------------------------------------------------------------------ +set_default_cursor_clock: + pushad + stdcall set_cursor, [def_cursor_clock] + mov [redrawmouse_unconditional], 1 + popad + call __sys_draw_pointer + ret +;------------------------------------------------------------------------------ +set_default_cursor_arrow: + pushad + stdcall set_cursor, [def_cursor] + mov [redrawmouse_unconditional], 1 + popad + call __sys_draw_pointer + ret +;------------------------------------------------------------------------------ align 4 def_arrow: file 'arrow.cur' ;------------------------------------------------------------------------------ +align 4 +clock_arrow: + file 'arrow_clock.cur' +;------------------------------------------------------------------------------