Rev 2498 | Rev 2586 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 2498 | Rev 2503 | ||
---|---|---|---|
Line 3... | Line 3... | ||
3 | ;; Copyright (C) KolibriOS team 2004-2012. All rights reserved. ;; |
3 | ;; Copyright (C) KolibriOS team 2004-2012. All rights reserved. ;; |
4 | ;; Distributed under terms of the GNU General Public License ;; |
4 | ;; Distributed under terms of the GNU General Public License ;; |
5 | ;; ;; |
5 | ;; ;; |
6 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
6 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
Line 7... | Line 7... | ||
7 | 7 | ||
Line 8... | Line 8... | ||
8 | $Revision: 2498 $ |
8 | $Revision: 2503 $ |
Line 9... | Line 9... | ||
9 | 9 | ||
Line 70... | Line 70... | ||
70 | save_cr3 dd ? |
70 | save_cr3 dd ? |
71 | slot dd ? |
71 | slot dd ? |
72 | slot_base dd ? |
72 | slot_base dd ? |
73 | file_base dd ? |
73 | file_base dd ? |
74 | file_size dd ? |
74 | file_size dd ? |
- | 75 | handle dd ? ;temp. for default cursor handle for curr. thread |
|
75 | ;app header data |
76 | ;app header data |
76 | hdr_cmdline dd ? ;0x00 |
77 | hdr_cmdline dd ? ;0x00 |
77 | hdr_path dd ? ;0x04 |
78 | hdr_path dd ? ;0x04 |
78 | hdr_eip dd ? ;0x08 |
79 | hdr_eip dd ? ;0x08 |
79 | hdr_esp dd ? ;0x0C |
80 | hdr_esp dd ? ;0x0C |
80 | hdr_mem dd ? ;0x10 |
81 | hdr_mem dd ? ;0x10 |
81 | hdr_i_end dd ? ;0x14 |
82 | hdr_i_end dd ? ;0x14 |
82 | endl |
83 | endl |
Line 83... | Line 84... | ||
83 | 84 | ||
- | 85 | pushad |
|
- | 86 | ||
84 | pushad |
87 | pushad |
- | 88 | stdcall set_cursor, [def_cursor_clock] |
|
- | 89 | mov [handle], eax |
|
- | 90 | mov [redrawmouse_unconditional], 1 |
|
- | 91 | call __sys_draw_pointer |
|
Line 85... | Line 92... | ||
85 | call set_default_cursor_clock |
92 | popad |
Line 86... | Line 93... | ||
86 | 93 | ||
Line 112... | Line 119... | ||
112 | jnz @b |
119 | jnz @b |
113 | jmp .namecopied |
120 | jmp .namecopied |
114 | .bigfilename: |
121 | .bigfilename: |
115 | popad |
122 | popad |
116 | mov eax, -ERROR_FILE_NOT_FOUND |
123 | mov eax, -ERROR_FILE_NOT_FOUND |
117 | call set_default_cursor_arrow |
- | |
- | 124 | ||
118 | ret |
125 | jmp .final |
Line 119... | Line 126... | ||
119 | 126 | ||
Line 120... | Line 127... | ||
120 | .namecopied: |
127 | .namecopied: |
121 | 128 | ||
Line 238... | Line 245... | ||
238 | call set_cr3 |
245 | call set_cr3 |
Line 239... | Line 246... | ||
239 | 246 | ||
240 | xor ebx, ebx |
247 | xor ebx, ebx |
241 | mov [application_table_status], ebx;unlock application_table_status mutex |
248 | mov [application_table_status], ebx;unlock application_table_status mutex |
- | 249 | mov eax, [process_number];set result |
|
242 | mov eax, [process_number];set result |
250 | |
243 | call set_default_cursor_arrow |
251 | jmp .final |
244 | ret |
252 | |
245 | .failed: |
253 | .failed: |
246 | mov eax, [save_cr3] |
254 | mov eax, [save_cr3] |
247 | call set_cr3 |
255 | call set_cr3 |
248 | .err: |
256 | .err: |
249 | .err_hdr: |
257 | .err_hdr: |
250 | stdcall kernel_free, [file_base] |
258 | stdcall kernel_free, [file_base] |
251 | .err_file: |
259 | .err_file: |
252 | xor eax, eax |
260 | xor eax, eax |
253 | mov [application_table_status], eax |
261 | mov [application_table_status], eax |
- | 262 | mov eax, esi |
|
- | 263 | .final: |
|
- | 264 | pushad |
|
- | 265 | stdcall set_cursor, [handle] |
|
254 | mov eax, esi |
266 | mov [redrawmouse_unconditional], 1 |
- | 267 | call __sys_draw_pointer |
|
255 | call set_default_cursor_arrow |
268 | popad |
256 | ret |
269 | ret |
Line 257... | Line 270... | ||
257 | endp |
270 | endp |
258 | 271 |