Page 11 of 17

Re: Сообщения об ошибках не помещенные в Bugzilla

Posted: Thu Mar 15, 2012 12:49 pm
by Mario
Leency wrote:Раньше двух чёрных точек (под крестиком и под буквой С) не было.
Исправлено в SVN r. 2463

Re: Сообщения об ошибках не помещенные в Bugzilla

Posted: Thu Mar 22, 2012 1:52 am
by Leency
Ну очень интересный "баг". существует наверно с начала существования Менуета. Хотя я и не проверял.

По коду у прямоугольника и кнопки должны быть одинаковые размеры, при запуске программы получаются разные. Почему? Проблема компилятора - сомневаюсь... Если нужно - выложу всё необходимое для компиляции.

Re: Сообщения об ошибках не помещенные в Bugzilla

Posted: Thu Mar 22, 2012 2:26 am
by Mario
Да, это так в ядре. Кнопки всегда на 1 пиксель больше в ширину и высоту, чем их реально заданное значение.

Не знаю почему так было сделано. Могу попробовать исправить. Однако кто будет исправлять 100500 приложений, в которых отображение может перекосится?
Я этой работой не желаю заниматься, ди в времени нет на это.

Re: Сообщения об ошибках не помещенные в Bugzilla

Posted: Thu Mar 22, 2012 2:51 am
by lev
может проще в kolibri.h-- вычесть единички?

Code: Select all

void DefineButton(dword x,y,w,h,EDX,ESI)
{
    EAX = 8;
    EBX = x<<16+w-1;
    ECX = y<<16+h-1;
    $int 0x40
}
Вот, только, код распухнет на два байта :)

Re: Сообщения об ошибках не помещенные в Bugzilla

Posted: Thu Mar 22, 2012 2:59 am
by Mario
В ядре изначально при разработке, вероятно Вилле, сделал логическую ошибку посчитав что между точками, к примеру, 10 и 20 расстояние в 10, хотя на самом деле расстояние в 11 точек. Так как функция рисующая линии работает с концевыми точками X1 и X2, Y1 и Y2, а данные изначальные задаются X + Xsize и Y + Ysize, то... shit happens! А потом было уже поздно...

Re: Сообщения об ошибках не помещенные в Bugzilla

Posted: Thu Mar 22, 2012 10:43 am
by Leency
Марат, смотри - можно исправить сейчас и придётся исправлять 100500 приложений или забить и исправить это через 100500 лет, когда таких приложений будет 100500^100500. Перспектива ничего не делать очень заманчива, вот только я боюсь последствий...

Re: Сообщения об ошибках не помещенные в Bugzilla

Posted: Thu Mar 22, 2012 11:45 am
by Leency
А разве прямоугольник для рисования не может принимать отрицательные координаты? В то время, как текст может. Тоесть я хочу рисовать на заголовке, причём окно 0х74, поэтому координаты отрицательные - текст выводится, прямоугольник - нет.

Re: Сообщения об ошибках не помещенные в Bugzilla

Posted: Thu Mar 22, 2012 1:03 pm
by Mario
Leency wrote:Марат, смотри - можно исправить сейчас и придётся исправлять 100500 приложений или забить и исправить это через 100500 лет, когда таких приложений будет 100500^100500. Перспектива ничего не делать очень заманчива, вот только я боюсь последствий...
Ты сам лично готов исправлять около 300 приложений существующих для Колибри? Я не готов. Это не вопрос принципа - это вопрос потери времени. Проще учесть -1 в размерах обеих координат. Я свое мнение высказал, больше не вижу смысла обсуждать этот вопрос и не буду.
Leency wrote:А разве прямоугольник для рисования не может принимать отрицательные координаты? В то время, как текст может. Тоесть я хочу рисовать на заголовке, причём окно 0х74, поэтому координаты отрицательные - текст выводится, прямоугольник - нет.
В типичном случае отрицательные координаты не допускались для любых функций. Миша и команда чего-то делали, вероятно сделали не все и не везде.

Рисовать на скине самостоятельно - неправильное решение. При перерисовке это будет мельтешить. Ты же сам очень любишь демонстрировать отрисовку окон в бесконечном цикле.

Для вывода текста есть как параметры ф.0, так и ф.71.

Re: Сообщения об ошибках не помещенные в Bugzilla

Posted: Thu Mar 22, 2012 2:37 pm
by Leency
3dcube оказывается загружает проц на 100% через 3 секунды после запуска. Если я двигаю мышкой по диагонали секунд через 7 прога вылетает, однажды после такого вылета она даже забрала с собой Эолайт О_о

Re: Сообщения об ошибках не помещенные в Bugzilla

Posted: Thu Mar 22, 2012 2:46 pm
by Mario
Не любит он сишных файловых менеджеров. :lol:

Запуск через MENU, KFM, KFAR - никаких вылетов.

Насчет 100% загрузки, так оно пытается нарисовать максимальное количество попугаев,также как почти любая демка.

Re: Сообщения об ошибках не помещенные в Bugzilla

Posted: Thu Mar 22, 2012 3:09 pm
by Leency
Запусти. Начни быстро возить мышкой с левого нижнего угла украна в верхний правый через окно. Так раз 15 :) Потом должно вылетить.

Re: Сообщения об ошибках не помещенные в Bugzilla

Posted: Thu Mar 22, 2012 3:32 pm
by Mario
Я делал, но вылетает только в Eolite. Проверял в Qemu.

Re: Сообщения об ошибках не помещенные в Bugzilla

Posted: Sat Mar 24, 2012 11:51 am
by Leency
hidnplayer нашёл баг с pipes, у меня до этого был такой же с новыми clicks - а я-то думал, это моя лажа.

Re: Сообщения об ошибках не помещенные в Bugzilla

Posted: Sat Mar 24, 2012 2:53 pm
by Mario
Leency
Слишком много кнопок. Перед тем как новые кнопки ставить - надо старые стирать! Вы (прикладные программисты) не эффективно тратите ресурсы системы. Я исправлю эту недоработку, но тем не менее создавать избыточное количество кнопок не есть хорошо. Можно легко упереться в ограничение максимального количества кнопок в системе.

Re: Сообщения об ошибках не помещенные в Bugzilla

Posted: Sat Mar 24, 2012 4:16 pm
by Mario
Leency wrote:hidnplayer нашёл баг с pipes, у меня до этого был такой же с новыми clicks - а я-то думал, это моя лажа.
Исправлено в SVN r. 2504.

Вообще-то это лажа, даже с исправлением ядра. Ядро в настоящее время может иметь до 4095 кнопок, но следует понимать, что это на все приложения системы и единичное приложение не должно занимать много кнопок. После использования их надо возвращать системе, через все ту же ф.8, если этого не делать то это перерасход ресурсов. Система ведь впустую опрашивает неиспользуемые кнопки, даже если не принимать внимания что другим приложениям кнопок может не хватить. Так что в PIPES, clicks и Eolite нужно пересматривать алгоритмы работы с кнопками.

З.Ы. Возможно потому Eolite глючит на больших директориях. ЕМНИП ты однажды сам это говорил.