]> rtime.felk.cvut.cz Git - sojka/lightdm.git/commitdiff
Fix memory leak in Qt greeter
authorDavid Edmundson <david@davidedmundson.co.uk>
Wed, 20 Apr 2011 00:00:35 +0000 (01:00 +0100)
committerDavid Edmundson <david@davidedmundson.co.uk>
Wed, 20 Apr 2011 00:00:35 +0000 (01:00 +0100)
greeters/qt/lightdm-example-qt-greeter.cpp
liblightdm-qt/ldmgreeter.cpp
liblightdm-qt/ldmgreeter.h

index 7e66141c332bde55b67eb7014d41bd34e9997be1..84cf5c5405cac4417e069eefe1eadd0464afc37a 100644 (file)
@@ -8,7 +8,8 @@
 
 #include "ldmgreeter.h"
 
-LoginDialog::LoginDialog() : QDialog()
+LoginDialog::LoginDialog() : 
+  QDialog()
 {
     label = new QLabel("Username:", this);
     entry = new QLineEdit(this);
@@ -23,7 +24,7 @@ LoginDialog::LoginDialog() : QDialog()
     layout->addWidget(button, 2, 0, 3, 1);
     setLayout(layout);
 
-    greeter = new LdmGreeter; //FIXME this LEAKS! Either finish the QWidget subclass plan, or add parent arg to LdmGreeter.
+    greeter = new LdmGreeter(this);
     connect(greeter, SIGNAL(showPrompt(QString)), this, SLOT(showPrompt(QString)));
     connect(greeter, SIGNAL(showMessage(QString)), this, SLOT(showMessage(QString)));
     connect(greeter, SIGNAL(showError(QString)), this, SLOT(showError(QString)));
index 5caf96b740c62cfa6caebec889fef1f198e2e406..42d9edf1f4b61bcd74e2b97a76f586b8b5fa0766 100644 (file)
@@ -56,7 +56,8 @@ public:
 };
 
 
-LdmGreeter::LdmGreeter() :
+LdmGreeter::LdmGreeter(QObject *parent) :
+    QObject(parent),
     d(new LdmGreeterPrivate)
 {
     d->readBuffer = (char *)malloc (HEADER_SIZE);
index fd93e7368453689951dd0a1a940c87451d17c730..885154c7af804c7c1de4b247910c87bc93982e51 100644 (file)
@@ -13,7 +13,7 @@ class Q_DECL_EXPORT LdmGreeter : public QObject
 {
     Q_OBJECT
 public:
-    explicit LdmGreeter();
+    explicit LdmGreeter(QObject* parent=0);
     virtual ~LdmGreeter();
 
     /** The hostname of the machine */