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

Applications development, KoOS API questions
  • Ну очень интересный "баг". существует наверно с начала существования Менуета. Хотя я и не проверял.

    По коду у прямоугольника и кнопки должны быть одинаковые размеры, при запуске программы получаются разные. Почему? Проблема компилятора - сомневаюсь... Если нужно - выложу всё необходимое для компиляции.
    Attachments
    dir.zip (5.77 KiB)
    Downloaded 192 times
    Из хаоса в космос
  • Да, это так в ядре. Кнопки всегда на 1 пиксель больше в ширину и высоту, чем их реально заданное значение.

    Не знаю почему так было сделано. Могу попробовать исправить. Однако кто будет исправлять 100500 приложений, в которых отображение может перекосится?
    Я этой работой не желаю заниматься, ди в времени нет на это.
  • может проще в 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
    }
    Вот, только, код распухнет на два байта :)
  • В ядре изначально при разработке, вероятно Вилле, сделал логическую ошибку посчитав что между точками, к примеру, 10 и 20 расстояние в 10, хотя на самом деле расстояние в 11 точек. Так как функция рисующая линии работает с концевыми точками X1 и X2, Y1 и Y2, а данные изначальные задаются X + Xsize и Y + Ysize, то... shit happens! А потом было уже поздно...
  • Марат, смотри - можно исправить сейчас и придётся исправлять 100500 приложений или забить и исправить это через 100500 лет, когда таких приложений будет 100500^100500. Перспектива ничего не делать очень заманчива, вот только я боюсь последствий...
    Из хаоса в космос
  • А разве прямоугольник для рисования не может принимать отрицательные координаты? В то время, как текст может. Тоесть я хочу рисовать на заголовке, причём окно 0х74, поэтому координаты отрицательные - текст выводится, прямоугольник - нет.
    Attachments
    trunk.zip (65.82 KiB)
    Downloaded 197 times
    Из хаоса в космос
  • Leency wrote:Марат, смотри - можно исправить сейчас и придётся исправлять 100500 приложений или забить и исправить это через 100500 лет, когда таких приложений будет 100500^100500. Перспектива ничего не делать очень заманчива, вот только я боюсь последствий...
    Ты сам лично готов исправлять около 300 приложений существующих для Колибри? Я не готов. Это не вопрос принципа - это вопрос потери времени. Проще учесть -1 в размерах обеих координат. Я свое мнение высказал, больше не вижу смысла обсуждать этот вопрос и не буду.
    Leency wrote:А разве прямоугольник для рисования не может принимать отрицательные координаты? В то время, как текст может. Тоесть я хочу рисовать на заголовке, причём окно 0х74, поэтому координаты отрицательные - текст выводится, прямоугольник - нет.
    В типичном случае отрицательные координаты не допускались для любых функций. Миша и команда чего-то делали, вероятно сделали не все и не везде.

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

    Для вывода текста есть как параметры ф.0, так и ф.71.
  • 3dcube оказывается загружает проц на 100% через 3 секунды после запуска. Если я двигаю мышкой по диагонали секунд через 7 прога вылетает, однажды после такого вылета она даже забрала с собой Эолайт О_о
    Из хаоса в космос
  • Не любит он сишных файловых менеджеров. :lol:

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

    Насчет 100% загрузки, так оно пытается нарисовать максимальное количество попугаев,также как почти любая демка.
  • Запусти. Начни быстро возить мышкой с левого нижнего угла украна в верхний правый через окно. Так раз 15 :) Потом должно вылетить.
    Из хаоса в космос
  • Я делал, но вылетает только в Eolite. Проверял в Qemu.
  • hidnplayer нашёл баг с pipes, у меня до этого был такой же с новыми clicks - а я-то думал, это моя лажа.
    Attachments
    new_clicks.zip (3.14 KiB)
    Баг вылазит после нескольких ходов.
    Downloaded 212 times
    Из хаоса в космос
  • Leency
    Слишком много кнопок. Перед тем как новые кнопки ставить - надо старые стирать! Вы (прикладные программисты) не эффективно тратите ресурсы системы. Я исправлю эту недоработку, но тем не менее создавать избыточное количество кнопок не есть хорошо. Можно легко упереться в ограничение максимального количества кнопок в системе.
  • Leency wrote:hidnplayer нашёл баг с pipes, у меня до этого был такой же с новыми clicks - а я-то думал, это моя лажа.
    Исправлено в SVN r. 2504.

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

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

    Users browsing this forum: No registered users and 6 guests