输入法面板程序在不打字的时候只有一个indicator菜单
从下拉菜单的点击事件里弹了一个QMessageBox::warning窗口,关闭这个窗口后,整个程序竟然也自动退出了
以为是异常退出,用gdb跟了一下,提示是normally exit,这说明程序是自己主动退出的。
查了半天,原来是QApplication的QuitOnLastWindowClosed标记问题,该标记默认为true,即最后一个窗口关闭时自动退出,而刚好上面的弹窗满足了这个条件,导致输入法面板程序自动退出了。
修改:
加一句代码:
app->setQuitOnLastWindowClosed(false);
搞定。
https://github.com/lenky0401/fcitx-qimpanel/commit/43e67a00d995ae763aef50ec70dbce3a98cd7a81