From aa5429080640f9bd2b7b4ef7d3a30cc879ea7885 Mon Sep 17 00:00:00 2001 From: "Mihail Semenyako (mike.dld)" Date: Sat, 13 Feb 2010 14:56:32 +0000 Subject: [PATCH] @rb: don't close popup unless user clicked outside of it (fix in regards of kernel changes) git-svn-id: svn://kolibrios.org@1411 a494cfbc-eb01-0410-851d-a64ba20cac60 --- programs/system/rb/trunk/@RB.ASM | 25 ++++++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/programs/system/rb/trunk/@RB.ASM b/programs/system/rb/trunk/@RB.ASM index cbb47bfe57..1a9436c272 100644 --- a/programs/system/rb/trunk/@RB.ASM +++ b/programs/system/rb/trunk/@RB.ASM @@ -172,10 +172,28 @@ mouse: ; mov eax,37 mov ebx,2 ; какие кнопки нажаты? mcall - test eax,eax ; никакие? - тогда прекрасно! вернёмся в гланый цикл + test eax,eax ; никакие? - тогда прекрасно! вернёмся в главный цикл jz still2 - jmp exit_menu ; а если всё-таки нажаты - закроем окно + mcall 37, 0 + mov esi, eax + shr esi, 16 + movzx edi, ax + mcall 9, procinfo2, -1 + mov eax, [procinfo2.box.left] + cmp esi, eax + jl exit_menu + add eax, [procinfo2.box.width] + cmp esi, eax + jge exit_menu + mov eax, [procinfo2.box.top] + cmp edi, eax + jl exit_menu + add eax, [procinfo2.box.height] + cmp edi, eax + jge exit_menu + + jmp still2 ; НАЖАТА КНОПКА button: @@ -392,6 +410,7 @@ start_info.path rb 256 sc system_colors ; системные цвета procinfo process_information ; информация о процессе + procinfo2 process_information rb 1024 ; стэк для окна меню - хватит и 1 Кб align 32 @@ -399,4 +418,4 @@ start_info.path rb 256 MEOS_APP_END -; КОНЕЦ ПРОГРАММЫ \ No newline at end of file +; КОНЕЦ ПРОГРАММЫ