Судя по-всему, нашел баг в examples qt4. Конкретно- приложение systray, которое находится в examples/desktop
страница примеранепосредственно
сам_файл примера, в котором подозревается ошибка
void Window::closeEvent(QCloseEvent *event)
{
if (trayIcon->isVisible()) {
QMessageBox::information(this, tr("Systray"),
tr("The program will keep running in the "
"system tray. To terminate the program, "
"choose <b>Quit</b> in the context menu "
"of the system tray entry."));
hide();
event->ignore();
}
}
Эта функция обрабатывает событие закрытия окна приложения, при этом проверяется, видно ли икнока, если да - то приложение просто сворачивается, а если нет - ...
А если нет, то окно закрывается (напомню, что иконка не видима), а приложение остается висеть в памяти. К тому же в приложение есть чекбокс "показывать иконку", вот и получается, что если мы снимем галочку, и закроем окно, то приложение останется в памяти, так как в
main.cpp устанавливается параметр QApplication::setQuitOnLastWindowClosed(false), т.е. который "говорит" приложению не закрывать себя при закрытии последнего окна
сам проверял, приложение висит в памяти
можно ли считать это багом?
если да, то надо бы отправить багрепорт, а я не умею
