nataraj: (Default)
[personal profile] nataraj
Решил побороть очередну багу. Бага такая: если сим перешел в статус N/A (или подобный) по таймауту, то если быстро и с минимумом движений мышью нажать на кнопку "выход", то оно не успевает вернуться в исходный режим, и при следующем входе N/A будет уже включен жестко...

Почитав исходники, стало ясно, что таки да, плагин нагло переписывает статус в модуле _core, запоминая что там было, а потом после шевеления мышки возвращает все как было...

Подумал было, не врзвращать ли все как было по событию eEventQuit. А вот опаньки... оно сначала конфиги пишет, а потом событие дергает...

Конечно, дурное дело не хитрое, и можно завести и событие eEventPreQuit и дергать его перд всем... но возникает другой вопрос: сим пишет конфиги на диск очень часто... Точно когда не знаю, но проще считать что он делает это все время. И если компьютер выключить по питанию, и он за время простоя решит что-то в конфиг записать, эффект будет тот же самый... что Quit'ом, что с PreQuit'ом...

Сейчас буду обдумывать не перенести ли старое значение статуса из приватных свойств класса в поля которые попадают в конфиг. Тогда сразу после загрузки будет шанс вернуть все обратно как было...

Date: 2008-05-03 06:24 pm (UTC)
From: [identity profile] beldmit.livejournal.com
Я бы завел статус ручной и статус автоматический и сохранял бы только ручной.

Date: 2008-05-03 06:28 pm (UTC)
ext_613079: Default userpic (Default)
From: [identity profile] shaplov.livejournal.com
Там оно через изрядно странное место сделанно... Но таки да... можно посмотреть насколько сложно это поменять там...

Profile

nataraj: (Default)
Swami Dhyan Nataraj

July 2024

S M T W T F S
 123456
789 10111213
14151617181920
21222324252627
28293031   

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 21st, 2026 12:05 pm
Powered by Dreamwidth Studios