Subversion Repositories Kolibri OS

Rev

Rev 1951 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
2000 mario79 1
;---------------------------------------------------------------------
1951 mario79 2
error_window:
2000 mario79 3
	test	dword [status],32
4
	jnz	still
5
 
6
	or	dword [status],32
7
	mcall	9,procinfo,-1
8
	mov	eax,[ebx+46]
9
	test	eax,eax
10
	jnz	@f
11
 
12
	mov	eax,100
13
	mov	[error_window_y+2],ax
14
	mov	[error_window_x+2],ax
15
	jmp	.end
16
;---------------------------------------------------------------------
1951 mario79 17
@@:
2000 mario79 18
	shr	eax,1
19
	add	eax,[ebx+38]
20
	sub	eax,50
21
	mov	[error_window_y+2],ax
22
	mov	eax,[ebx+42]
23
	shr	eax,1
24
	add	eax,[ebx+34]
25
	sub	eax,150
26
	mov	[error_window_x+2],ax
1951 mario79 27
.end:
2000 mario79 28
	call	get_memory_for_thread_stack
1951 mario79 29
	mov	[thread_stack_6],eax
2000 mario79 30
	mcall	51,1,thread6	; thread_stack_6
1951 mario79 31
	ret
32
;---------------------------------------------------------------------
33
thread6:
2000 mario79 34
	mcall	9,procinfo_threads,-1
35
	mov	eax,[ebx+30]
36
	mov	[PID6],eax
37
	mcall	40,0x7
38
	mov	[error_pointer],string
39
;--------------------------------------
1951 mario79 40
.red:
2000 mario79 41
	call	.draw_error_window
42
;--------------------------------------
1951 mario79 43
.still:
2000 mario79 44
	mcall	10
45
	cmp	eax,1
46
	je	.red
47
 
48
	cmp	eax,2			; key in buffer ?
49
	je	.key
50
 
51
	cmp	eax,3
52
	je	.button
53
 
54
	jmp	.still
55
;---------------------------------------------------------------------
56
.key: 		; key
1951 mario79 57
.button:
2000 mario79 58
	xor	dword [status],32
59
	xor	eax,eax
60
	mov	[PID6],eax
1951 mario79 61
	mcall	68,13,[thread_stack_6]
2000 mario79 62
	mcall	-1
63
	jmp	.still
1951 mario79 64
;---------------------------------------------------------------------
2000 mario79 65
;	*********************************************
66
;	*******	WINDOW DEFINITIONS AND DRAW ********
67
;	*********************************************
1951 mario79 68
.draw_error_window:
2000 mario79 69
	mcall	12, 1
70
	mcall	0,[error_window_x],[error_window_y],0x03ff0000
71
	mcall	71,1, errortext
72
	mcall	4,<10,30>,0x80ffffff,[error_pointer]
73
	cmp	[return_code],0
74
	je	.continue
75
 
76
	cmp	[return_code],1
77
	jne	@f
78
 
79
	mcall	4,<10,50>,0x90ffffff,error_not_supported_file
80
	jmp	.end
81
;---------------------------------------------------------------------
1951 mario79 82
@@:
2000 mario79 83
	cmp	[return_code],2
84
	jne	@f
85
 
86
	mcall	4,<10,50>,0x90ffffff,error_not_enough_memory
87
	jmp	.end
88
;---------------------------------------------------------------------
1951 mario79 89
@@:
2000 mario79 90
	mcall	4,<10,50>,0x90ffffff,error_unknown
91
	jmp	.end
92
;---------------------------------------------------------------------
1951 mario79 93
.continue:
2000 mario79 94
	mcall	4,<10,50>,0x90ffffff,error_type
95
	mcall	47,0x800a0000,[error_fs],<140,50>,0x10ffffff
96
	mov	edx,[error_fs]
97
	cmp	edx,0
98
	jb	.end
99
 
100
	cmp	edx,11
101
	ja	.end
102
 
103
	shl	edx,2
104
	add	edx,error_fs_text_pointers
105
	mov	edx,[edx]
106
	mcall	4,<10,70>,0x90ffffff,
107
;	mcall	47,0x800a0000,[error_locate],<140,5>,0x10ffffff
1951 mario79 108
.end:
2000 mario79 109
;	mcall	47,0x80000,[PID6],<200, 5>,0xffffff
110
	mcall	12,2
111
	ret
1951 mario79 112
;---------------------------------------------------------------------