fix: memory leak

pull/16/head
reionwong 4 years ago
parent 0c0f80e6f1
commit cb98a2a566

@ -30,8 +30,8 @@ import FishUI 1.0 as FishUI
Item { Item {
id: root id: root
width: launcher.screenRect.width // width: launcher.screenRect.width
height: launcher.screenRect.height // height: launcher.screenRect.height
property real horizontalSpacing: launcher.screenRect.width * 0.01 property real horizontalSpacing: launcher.screenRect.width * 0.01
property real verticalSpacing: launcher.screenRect.height * 0.01 property real verticalSpacing: launcher.screenRect.height * 0.01

@ -170,20 +170,24 @@ void Launcher::updateMargins()
emit marginsChanged(); emit marginsChanged();
} }
void Launcher::onGeometryChanged() void Launcher::updateSize()
{ {
disconnect(screen());
setScreen(qApp->primaryScreen());
if (m_screenRect != qApp->primaryScreen()->geometry()) { if (m_screenRect != qApp->primaryScreen()->geometry()) {
m_screenRect = qApp->primaryScreen()->geometry(); m_screenRect = qApp->primaryScreen()->geometry();
setGeometry(m_screenRect); setGeometry(m_screenRect);
emit screenRectChanged(); emit screenRectChanged();
} }
}
void Launcher::onGeometryChanged()
{
disconnect(screen());
setScreen(qApp->primaryScreen());
updateSize();
connect(screen(), &QScreen::virtualGeometryChanged, this, &Launcher::onGeometryChanged); connect(screen(), &QScreen::virtualGeometryChanged, this, &Launcher::updateSize);
connect(screen(), &QScreen::geometryChanged, this, &Launcher::onGeometryChanged); connect(screen(), &QScreen::geometryChanged, this, &Launcher::updateSize);
} }
void Launcher::showEvent(QShowEvent *e) void Launcher::showEvent(QShowEvent *e)

@ -62,6 +62,7 @@ signals:
private slots: private slots:
void updateMargins(); void updateMargins();
void updateSize();
void onGeometryChanged(); void onGeometryChanged();
protected: protected:

Loading…
Cancel
Save