Fix memory leaks on show preview

This commit is contained in:
杨万青 2015-07-08 17:19:59 +08:00
parent 6ace2a5af9
commit 256c8fc854
3 changed files with 9 additions and 2 deletions

View File

@ -91,7 +91,14 @@ void ArrowRectangle::delayHide(int interval)
void ArrowRectangle::setContent(QWidget *content)
{
if (!content)
{
return;
}
if (m_content)
{
content->deleteLater();
return;
}
m_content = content;
content->setParent(this);
content->move((width() - content->width()) / 2,(height() - content->height()) / 2);

View File

@ -26,7 +26,7 @@ WindowPreview::WindowPreview(WId sourceWindow, QWidget *parent)
m_cairo = cairo_create(m_surface);
QTimer *timer = new QTimer(this);
timer->setInterval(60);
timer->setInterval(500);
timer->start();
connect(timer, &QTimer::timeout, this, &WindowPreview::onTimeout);
}

View File

@ -41,7 +41,7 @@ public:
QWidget *tmpContent = getContents();
m_previewAR->setMinimumSize(tmpContent->width(),tmpContent->height());
m_previewAR->resize(tmpContent->width(),tmpContent->height());
m_previewAR->setContent(getContents());
m_previewAR->setContent(tmpContent);
m_previewAR->showAtBottom(globalX() + width() / 2,globalY() - 5);
}