[prev in list] [next in list] [prev in thread] [next in thread]
List: pykde
Subject: Re: [PyQt] =?utf-8?q?why_QCompleter=28parent=29_is_TransferBack=3F?=
From: Phil Thompson <phil () riverbankcomputing ! com>
Date: 2014-11-29 9:33:19
Message-ID: 36a0ca90277bc5d770de880cc0386fc3 () riverbankcomputing ! com
[Download RAW message or body]
On 29/11/2014 9:04 am, Yuya Nishihara wrote:
> Hi,
>
> I'm getting random crash around QCompleter. The production code is not
> simple
> but it roughly does:
>
> app = QApplication([])
> window = QMainWindow()
> lineedit = QLineEdit(window)
> window.setCentralWidget(lineedit)
> completer = QCompleter(window)
> completer.setModel(QDirModel(completer))
> lineedit.setCompleter(completer)
> window.show()
> app.exec_()
>
> I looked into PyQt source and found that QCompleter(parent) is not
> annotated
> as TransferThis.
>
> QCompleter(QObject *parent /TransferBack/ = 0);
> QCompleter(QAbstractItemModel *model, QObject *parent
> /TransferThis/ = 0);
> QCompleter(const QStringList &list, QObject *parent /TransferThis/
> = 0);
>
> So I've changed the above code as follows, and it seems the crash no
> longer
> happen.
>
> window.setCentralWidget(lineedit)
> -completer = QCompleter(window)
> +completer = QCompleter([], window)
> completer.setModel(QDirModel(completer))
>
> Is there a reason for setting TransferBack only to QCompleter(parent) ?
No - it's a bug. Your fix is the correct one.
Thanks,
Phil
_______________________________________________
PyQt mailing list PyQt@riverbankcomputing.com
http://www.riverbankcomputing.com/mailman/listinfo/pyqt
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic