[PyQt] Slot type validation: int/qint64

VA dev+pyqt at indigo.re
Sat Apr 30 15:58:31 BST 2016


> I'm using Qscintilla. With PyQt 5.5, I could successfully connect:
> - SCN_MODIFIED (int, int, const char *, int, int, int, int, int, int,
> int) to @Slot(int, int, str, int, int, int, int, int, int, int)
> - SCN_MACRORECORD (unsigned int, unsigned long, void *) to @Slot(int,
> int, object)
> Now, not only slot validation prevents it from working, but if I repeat
> the C++ signature (quoting the type names), it may work but after a few
> signal emissions and the slot getting called a few times, Python segfaults.
> If I completely omit the @Slot decorator, the connection works too, but
> it still quickly segfaults after a few emissions.
> Even if I'm not doing anything with the slots arguments (the slot just
> containing "pass"), it still segfaults.
> What could cause those segfaults?

I'm sorry, the segfault was actually not caused by these signals/slots,
but a call to a QsciLexerPython::setProperty, so this concern is less
serious than I may have let it sound.
The actual failing line is "lexer.setProperty('fold', 0)"


More information about the PyQt mailing list