-
Notifications
You must be signed in to change notification settings - Fork 55
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
При нажатии Quit программа не выходит #59
Comments
WA - убивать процесс, но это как-то не круто. Плюс, вероятно так синхронизация не происходит и можно потерять данные. |
Не понял последовательность действий.
Значит, вы запускаете программу и некоторое время ей не пользуетесь. Она просто висит в трее. Что потом вы делете? У вас несколько раз написано "открыть", и я не пойму что вы открываете.
Такой проблемы ранее не было. Поэтому лучше сделать скринкаст и выслать его, чтоб я своими глазами увидел что у вас происходит. Логи активируются в Инструменты - Настройки - Разное - Выводить отладочные сообщения в консоль. Перезапускаете MyTetra, доходите до проблеммного момента, копируете лог и высылаете. Так же нужна информация по:
|
Я там слегка ошибся, надо
Да, непонятно сформулировал. В некоторых местах под открыть имелось ввиду запустить программу, а в других развернуть из трея. Сценарий такой - утром запустил программу, ввёл пароль, что-то поредактировал, свернул в трей. Через некоторое время (несколько часов) решил отойти и перед этим снять доступ, для этого жму правой кнопкой в значок в трее, нажимаю Quit - нет реакции, значок на месте. Жму по нему левой - появляется окно программы, не реагирующее ни на какие нажатия совершенно, повторные запросы в трей - меню - Quit тоже ни к чему не приводят. Нагрузка в процессах нулевая, после пары минут вырубил процесс и ушёл. Вернулся, запустил программу, поработал, попробовал закрыть (трей - меню - Quit) - закрылось корректно, открыл, ввёл пароль, снова что-то редактировал. Ближе к вечеру (ещё несколько часов) жму в трей - меню - Quit, снова зависло. Вырубил процесс. Потом опять запустил, ввёл пароль, и сразу попробовал через трей - меню - Quit, сработало нормально. То есть сразу после запуска вырубание не зависает, только после некоторого времени висения в трее. |
Попробуйте понаблюдать, не зависит ли такое поведение от двух вещей.
В MyTetra предусмотрена обработка параллельного потока, в котором запускается синхронизация, все это сделано средствами Qt. Но у меня была пара ситуаций, когда событийная модель Qt начинала глючить при использовании параллельного потока. Например, если отредактировать заголовок записи в середине автоматической синхронизации (кнопка синхронизации в этот момент становится неактивной, и это индикатор, что идет синхронизация), то пока синхронизация не закончится, не произойдет обновления списка записей на экране, и будет видно прежнее название записи. При этом другие события работают нормально - редактор работает, меню работает. Чем так не угодило обновление списка - пока загадка. |
|
В общем, если идет фоновая синхронизация (это легко обнаружить по тому, что кнопка синхронизации становится в этот момоент неактивной), программа действительно не может закрыться. Видимо из-за того, что ее держит дочерний процесс, и Qt это как-то отслеживает. Пока решения нет, но баг не критический. |
При нажатии Quit программа не выходит (не исчезает из трея, не исчезает в процессах). То есть её можно открыть и увидеть там уже расшифрованные последние открытые записи. При этом ей невозможно нормально пользоваться - любое нажатие в окне игнорируется.
Проблема не возникает сразу, а только через некоторое время, если открытой программой не пользоваться. Если открыть, ввести пароль и тут же открыть, то всё отрабатывает штатно, включая git синхронизацию.
Логов нигде не нашёл, что надо выслать?
The text was updated successfully, but these errors were encountered: