Board.KolibriOS.org

Официальный форум KolibriOS
Текущее время: Вт дек 11, 2018 10:14 am

Часовой пояс: UTC+03:00




Начать новую тему  Ответить на тему  [ 25 сообщений ]  На страницу Пред. 1 2
Автор Сообщение
 Заголовок сообщения: Re: Баг с кнопками
СообщениеДобавлено: Ср сен 12, 2018 12:13 am 
Не в сети
Designer
Аватара пользователя

Зарегистрирован: Чт янв 25, 2007 3:33 pm
Сообщения: 4879
Залил #7354

_________________
Через тернии к звездам


Вернуться к началу
 Заголовок сообщения: Re: Баг с кнопками
СообщениеДобавлено: Ср окт 17, 2018 2:45 am 
Не в сети

Зарегистрирован: Сб апр 22, 2017 6:11 pm
Сообщения: 219
Сижу я тут с документацией, читаю, а там:
Код:
Функция 12 - начать/закончить перерисовку окна. 
Подфункция 1 - начать перерисовку окна.
Подфункция 2 - закончить перерисовку окна.
Замечания:
  * Функция начала перерисовки удаляет все определённые
    функцией 8 кнопки, их следует определить повторно.


Обновляем документацию? Вероятно, в данном случае "удаляет" используется в смысле затирает изображение этих кнопок (очищает содержимое окна). Или когда-то раньше она правда удаляла все кнопки автоматически?
Пожалуйста, посмотрите кому не лень.


Вернуться к началу
 Заголовок сообщения: Re: Баг с кнопками
СообщениеДобавлено: Ср окт 17, 2018 11:49 am 
Не в сети

Зарегистрирован: Вс окт 30, 2011 6:43 pm
Сообщения: 1499
Она и удаляет, то есть, после начала перерисовки ты уже не сможешь нажимать на удалённые кнопки, их нужно снова определить\нарисовать.
И делать это при каждой перерисовке, иначе кнопки работать не будут: если их удалили — их уже не существует, реакции на них не будет.


Вернуться к началу
 Заголовок сообщения: Re: Баг с кнопками
СообщениеДобавлено: Ср окт 17, 2018 12:33 pm 
Не в сети
Designer
Аватара пользователя

Зарегистрирован: Чт янв 25, 2007 3:33 pm
Сообщения: 4879
Все работает верно.
mcall 12,1 - удаляет все кнопки, в том числе как новосозданную, так и кнопку закрытия окна.


Вложения:
btn.png
btn.png [ 3.67 КБ | 227 просмотров ]

_________________
Через тернии к звездам
Вернуться к началу
 Заголовок сообщения: Re: Баг с кнопками
СообщениеДобавлено: Ср окт 17, 2018 8:09 pm 
Не в сети

Зарегистрирован: Сб апр 22, 2017 6:11 pm
Сообщения: 219
Извиняюсь, но тогда у меня новый вопрос (просто я запутался и потерял нить происходящего): почему мы исправляли баг кнопок, принудительно удаляя кнопки через 8 функцию?
Этот код вызывается в цикле отрисовки, между 12.1 и 12.2
Код:
add     edx,0x80000000 ; delete a button
mcall   8              ; before create
sub     edx,0x80000000 ; a new one below
mcall   8,<10,99>

Функция 8 - определить/удалить кнопку.
И после этого, я в своих программах тоже стал добавлять в начале draw:
Код:
;удаляем кнопку, если есть
   mov edx, 0x80000002
   mcall 8

Даже в HACONFIG перед 12.1 зачем-то запихал....
То есть я ошибся, не правильно понял, и можно убрать этот код (код удаления кнопки)? Утечки кнопок не будет?


Вернуться к началу
 Заголовок сообщения: Re: Баг с кнопками
СообщениеДобавлено: Ср окт 17, 2018 9:05 pm 
Не в сети
Designer
Аватара пользователя

Зарегистрирован: Чт янв 25, 2007 3:33 pm
Сообщения: 4879
Если нужно удалить все кнопки: mcall 12,1
Если нужно удалить только часть кнопок, а другие оставить: "delete a button".

Не думаю что в HA есть место, где нужно удалять кнопки, потому как они нигде вне mcall12,x не должны создаваться.

_________________
Через тернии к звездам


Вернуться к началу
 Заголовок сообщения: Re: Баг с кнопками
СообщениеДобавлено: Чт окт 18, 2018 8:50 pm 
Не в сети

Зарегистрирован: Вт июн 24, 2008 11:12 pm
Сообщения: 64
Заметил, что если нажать кнопку на неактивном окне, то она не перерисовывается и остаётся нажатой.


Вернуться к началу
 Заголовок сообщения: Re: Баг с кнопками
СообщениеДобавлено: Чт окт 18, 2018 9:09 pm 
Не в сети

Зарегистрирован: Вс окт 30, 2011 6:43 pm
Сообщения: 1499
b00bl1k , да есть такое.
Могу лишь сказать, что в одной очень старой сборке #2306 этот баг не проявляется(у меня не получилось повторить).
Возможно, раньше работало правильно, а потом сломалось.


Вернуться к началу
 Заголовок сообщения: Re: Баг с кнопками
СообщениеДобавлено: Чт окт 18, 2018 10:36 pm 
Не в сети
Designer
Аватара пользователя

Зарегистрирован: Чт янв 25, 2007 3:33 pm
Сообщения: 4879
0CodErr
Ты перерывал http://builds.kolibrios.org/rus/history/ чтобы найти в какой именно сборке появился баг?

_________________
Через тернии к звездам


Вернуться к началу
 Заголовок сообщения: Re: Баг с кнопками
СообщениеДобавлено: Чт окт 18, 2018 10:40 pm 
Не в сети

Зарегистрирован: Вт июн 24, 2008 11:12 pm
Сообщения: 64
До rev6585 нельзя было кликнуть на кнопку неактивного окна. И уже начиная с этой ревизии кнопки ведут себя так же как и сейчас.

Предполагаю, что при нажатии на кнопку неактивного окна сначала рисуется инвертирующая рамка (sys_button_activate_handler), потом окно становится активным и кнопки перерисовываются с нормальной рамкой и потом еще раз рамка инвертируется (sys_button_deactivate_handler). У активного окна между нажатием и отпусканием кнопка не перерисовывается.


Вернуться к началу
Показать сообщения за:  Поле сортировки  
Начать новую тему  Ответить на тему  [ 25 сообщений ]  На страницу Пред. 1 2

Часовой пояс: UTC+03:00


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Limited
Русская поддержка phpBB