Словил я этот баг!
Всё просто. Поменяй фоновую картинку
Лично я делал так:
1. запустил систему.
2. в эолайте на картинке разрешением больше экрана ctrl+d
После этого закрываешь окно - курсор исчезает, двигаешь - появляется. Сделал размер окна меньше - остался артефакт.
Да любого окна. Пока писал этот пост мог бы уже 100...
здесь я реши останосться (реально так и было) и САМ пошёл в Кьему, сделал на рабочий стол background.gif не плиткой, а растянул на весь экран. Изменил размер Эолайта, баг проявился.
Марат, мог бы и сам проверить за то время, что писал пост.
Так про артефакт зафиксировал, наличие бага подтверждаю. Скорее всего передаются неправильные координаты обработчику области под курсором, как результат фон там не переписывается. Буду разбираться.
А вот насчет моргания курсора так и не понял.
З.Ы. Не надо думать что я ленивый. Однако неточности в описании действий вводят в ступор. Ты пойми, что твоя информация в голове подтверждена зрительной и механической частью запоминания, а мне ты скидываешь исключительно дельту в виде текстового описания. Тут как с книгой - чем меньше деталей, тем более разные картинки видят писатель и читатель. Все зависит от накопленного жизненного опыта или вообще его отсутствия в некоторых вещах.
З.З.Ы. Я проверял ранее с растяжкой картинки, но она была маленькая, меньше экрана. Всех вариантов на свете не предусмотришь.
Last edited by Mario on Wed Mar 14, 2012 1:49 am, edited 1 time in total.
Leency wrote:Словил я этот баг!
Всё просто. Поменяй фоновую картинку
Лично я делал так:
1. запустил систему.
2. в эолайте на картинке разрешением больше экрана ctrl+d
После этого закрываешь окно - курсор исчезает, двигаешь - появляется. Сделал размер окна меньше - остался артефакт.
SVN r. 2463 исправление вывода лишних 2-х точек для схлопнутого окна (rolledup), для истинных дизайнеров и ценителей чувства прекрасного к коим я сам не отношусь.
SVN r. 2464 исправление для фоновой картинки в режиме черепицы. Новый способ считывания пикселя (4 байта за раз в один заход, вместо 3 раз по 1 байту в старом варианте) приводил к вылету в некоторых случаях (например, PIC4). Сделал выделение памяти с запасом (выравнивание на границу 4 Кб). Все равно при выделении памяти она физически выделяется страницами не менее 4 Кб, так что физически расхода памяти лишнего нет.
; it is reserved with aligned to the boundary of 4 KB pages,
; otherwise there may be exceptions a page fault for vesa20_drawbackground_tiled
; because the 32 bit read is used for high performance: "mov eax,[esi]"
shr eax, 12
inc eax
shl eax, 12
Например если требуемый объем памяти кратен 4-м кб, тогда inc eax делать не нужно. Когда хоябы один из младших 12 битов регистра eax не равен 0, тогда выполняемые действия нужны.
Это так просто придирки, ничего против не имею.
Они не являются лишними в любом случае - ты прочти комментарий: либо 4Кб выделить (если запросить 1 байт, то все равно 4 Кб будет выделено), либо получить исключение page fault в ядре (считывание залазит за границу выделенной памяти), со всеми вытекающими последствиями.
А так да я совершенно согласен - жутчайший перерасход памяти в целых 50% случаев.