关闭程序弹窗后自动退出

输入法面板程序在不打字的时候只有一个indicator菜单

从下拉菜单的点击事件里弹了一个QMessageBox::warning窗口,关闭这个窗口后,整个程序竟然也自动退出了

以为是异常退出,用gdb跟了一下,提示是normally exit,这说明程序是自己主动退出的。

查了半天,原来是QApplication的QuitOnLastWindowClosed标记问题,该标记默认为true,即最后一个窗口关闭时自动退出,而刚好上面的弹窗满足了这个条件,导致输入法面板程序自动退出了。

修改:
加一句代码:
app->setQuitOnLastWindowClosed(false);

搞定。
https://github.com/lenky0401/fcitx-qimpanel/commit/43e67a00d995ae763aef50ec70dbce3a98cd7a81

无聊挖个坟:lol

btw:输入图标有问题啊LZ,正常情况下是个键盘,一旦拖动窗口或者在窗口间切换的时候就变成了企鹅图标,这个有点不合理啊,又没有激活输入法为什么要变图标啊