mirror of
https://github.com/qbittorrent/qBittorrent.git
synced 2025-01-12 18:24:58 +08: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)
|
||||
{
|
||||
qDebug("** Show Event **");
|
||||
|
||||
if (currentTabWidget() == m_transferListWidget)
|
||||
m_propertiesWidget->loadDynamicData();
|
||||
|
||||
e->accept();
|
||||
|
||||
// Make sure the window is initially centered
|
||||
if (!m_posInitialized)
|
||||
if (isVisible())
|
||||
{
|
||||
move(Utils::Gui::screenCenter(this));
|
||||
m_posInitialized = true;
|
||||
// preparations before showing the window
|
||||
|
||||
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…
Reference in New Issue
Block a user