Page 4 of 5

Re: Фоновая картинка.

Posted: Thu Mar 15, 2012 11:44 pm
by Leency
Идея про одно "приложение-рабочий стол" достаточно интригующа.

Re: Фоновая картинка.

Posted: Thu Mar 15, 2012 11:46 pm
by Mario
Да-да. Здравствуй милый сердцу Проводник. :mrgreen:

Re: Фоновая картинка.

Posted: Thu Mar 15, 2012 11:49 pm
by Leency
Не так плоха была идея, как реализация, особенно в первых версиях всем знакомой ОС. Есть идеи лучше я не против, лишь понравилось как Серж расписал.

Re: Фоновая картинка.

Posted: Mon Mar 19, 2012 6:44 pm
by IgorA
В режиме 640*480 24 на qemu обнаружил вот такое (см. рисунок). Не уверен что виновата именно фоновая картинка. Ядро последнее версии 2477.

Re: Фоновая картинка.

Posted: Mon Mar 19, 2012 6:49 pm
by Mario
Что прямо так само появилось? Скачал чистый образ 2477, закинул в директорию Qemu и запустил выбрав режим 640*480 24? И совершенно ничего дополнительного не делал?

Re: Фоновая картинка.

Posted: Mon Mar 19, 2012 7:24 pm
by SoUrcerer
Mario, баг подтверждаю :(
Использую стандартный VGA BIOS из поставки Qemu, с биосом VMWare такого нет. С тем же БИОС и большими разрешениями проблем не отмечаю.

Re: Фоновая картинка.

Posted: Mon Mar 19, 2012 7:34 pm
by SoUrcerer
Баг проявляется с победоносной ревизии #2447.

Re: Фоновая картинка.

Posted: Mon Mar 19, 2012 7:59 pm
by Mario
Хм... у меня прописано:
-vga vmware
Qemu старый версии 0.12.2 будут пытаться воспроизвести.

Re: Фоновая картинка.

Posted: Mon Mar 19, 2012 8:13 pm
by XVilka
подтверждаю наличие бага на всех версиях qemu с 0.14, в том числе на сегодняшней сборке из гита

Re: Фоновая картинка.

Posted: Mon Mar 19, 2012 8:17 pm
by Mario
Да, воспроизвел я уже. Сейчас буду, методом исключения, выяснять чему в стандартном Qemu помешала замечательная ревизия 2446.

Re: Фоновая картинка.

Posted: Mon Mar 19, 2012 9:47 pm
by Mario
Нашел:
Spoiler:
Qemu_bug_1.png
Qemu_bug_1.png (26.58 KiB)
Viewed 7079 times
Мне сразу вспомнилось:
Spoiler:
mayya_2012.jpg
mayya_2012.jpg (99.86 KiB)
Viewed 7079 times

Re: Фоновая картинка.

Posted: Mon Mar 19, 2012 11:59 pm
by Mario
Исправлено в SVN r. 2480

Re: Фоновая картинка.

Posted: Tue Mar 27, 2012 9:14 pm
by Mario
art_zh wrote:Mario
А пошто токмо -1 ?
Есть еще функции свертки и перемещеня окна, там тоже фон перерисовывать надо.
Кстати, следует признать - я ошибался. Ядро таки восстанавливает не весь фон, а только тот кусок который нужно.
Вот этот кусок тому подтвержение:
Spoiler:

Code: Select all

no_set_bgr_event:
        cmp     byte[REDRAW_BACKGROUND], 0         ; background update ?
        jz      nobackgr
        cmp     [background_defined], 0
        jz      nobackgr
;    mov   [draw_data+32 + RECT.left],dword 0
;    mov   [draw_data+32 + RECT.top],dword 0
;    mov   eax,[Screen_Max_X]
;    mov   ebx,[Screen_Max_Y]
;    mov   [draw_data+32 + RECT.right],eax
;    mov   [draw_data+32 + RECT.bottom],ebx
@@:
        call    drawbackground
        xor     eax, eax
        xchg    al, [REDRAW_BACKGROUND]
        test    al, al                             ; got new update request?
        jnz     @b
        mov     [draw_data+32 + RECT.left], eax
        mov     [draw_data+32 + RECT.top], eax
        mov     [draw_data+32 + RECT.right], eax
        mov     [draw_data+32 + RECT.bottom], eax
        mov     [MOUSE_BACKGROUND], byte 0

nobackgr:
Теперь нужно придумать как после того как я поменяю событие 5, сообщить приложению какой кусок изменился. Чтобы к примеру в Icon отрисовывать не все иконки, а только затертые при перерисовке фона.

З.Ы. Оказывается фон изменяется не совсем эффективно - восстанавливается разница межу крайними положениями перетаскиваемого окна. Т.е. если окно будет в левом верхнем углу до упора, а мы его перетащим в правый нижний угол до упора, то перерисуется весь фон.

Re: Фоновая картинка.

Posted: Wed Mar 28, 2012 4:33 pm
by Mario
SVN r. 2514 теперь фон при перемещении окна восстанавливается только по старой позиции, где было окно. Соответственно из "зоны поражения" ушли все окна которые раньше были вынуждены перерисовываться, так как обновлялся больший кусок фона.

Ночная сборка не собралась, и выдалась ошибка:
Post commit hook failed (exit code 2) with output:
svn: E000028: Can't write to file '/home/autobuild/localcopy/.svn/tmp/nnN2VM': No space left on device
Failed to update repository copy

Re: Фоновая картинка.

Posted: Wed Mar 28, 2012 5:15 pm
by CleverMouse
Я почистила место и перезапустила скрипт автосборки руками, ошибок при сборке не было.