mirror of
https://github.com/d47081/qBittorrent.git
synced 2025-03-10 20:31:47 +00:00
Fix main window turns blank after restoring from tray (#15031)
When restoring from tray icon, although the window manager shows qbt window but qbt itself didn't handle the event correctly, i.e. the `show()` was missing and thus qbt did nothing and the window is blank. Note that at this point the `visible` property is `false`. After invoking `show()` qbt will start showing the contents and also fire another showEvent where `visible` property is `true` and here is where qbt should handle preparations for the window. Fix #9510.
This commit is contained in:
parent
d335f263f3
commit
2503271a45
@ -1131,17 +1131,26 @@ void MainWindow::on_actionStatistics_triggered()
|
|||||||
void MainWindow::showEvent(QShowEvent *e)
|
void MainWindow::showEvent(QShowEvent *e)
|
||||||
{
|
{
|
||||||
qDebug("** Show Event **");
|
qDebug("** Show Event **");
|
||||||
|
|
||||||
if (currentTabWidget() == m_transferListWidget)
|
|
||||||
m_propertiesWidget->loadDynamicData();
|
|
||||||
|
|
||||||
e->accept();
|
e->accept();
|
||||||
|
|
||||||
// Make sure the window is initially centered
|
if (isVisible())
|
||||||
if (!m_posInitialized)
|
|
||||||
{
|
{
|
||||||
move(Utils::Gui::screenCenter(this));
|
// preparations before showing the window
|
||||||
m_posInitialized = true;
|
|
||||||
|
if (currentTabWidget() == m_transferListWidget)
|
||||||
|
m_propertiesWidget->loadDynamicData();
|
||||||
|
|
||||||
|
// Make sure the window is initially centered
|
||||||
|
if (!m_posInitialized)
|
||||||
|
{
|
||||||
|
move(Utils::Gui::screenCenter(this));
|
||||||
|
m_posInitialized = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// to avoid blank screen when restoring from tray icon
|
||||||
|
show();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user