Error in conversion of some characters from QString to Python unicode
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
pyqt5 (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
Trusty |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
# Test Case
$ python3
>>> from PyQt5.QtGui import QTextDocument
>>> d = QTextDocument()
>>> d.setPlainText('÷ Σ')
>>> d.toPlainText()
'÷ £'
This should not happen. d.toPlainText() should return '÷ Σ'.
# Impact
The bug was initially reported upstream: https:/
Some time ago I got the same issue in ReText CI, which uses Ubuntu Trusty. The test failure was observed at https:/
This can also affect other editors which allow to input unicode, like eric.
# Proposed Fix
The fix which I am uploading to -proposed is taken from this upstream changeset:
2014-04-15 Phil Thompson <email address hidden>
* qpy/QtCore/
Fixed a bug in the conversion of QStrings with surrogate pairs.
[16a9c19d08cf] <5.2-maint>
It is present in all releases since v5.3.
# Regression Potential
The patch is small, should not introduce any regressions. If there is a regression, it is likely to be in the area that converts QStrings to Python Unicode objects, with the edge cases being different length strings between ASCII, 16-bit code points and code points that require surrogate pairs.
Hello Dmitry, or anyone else affected,
Accepted pyqt5 into trusty-proposed. The package will build now and be available at https:/ /launchpad. net/ubuntu/ +source/ pyqt5/5. 2.1+dfsg- 1ubuntu2 in a few hours, and then in the -proposed repository.
Please help us by testing this new package. See https:/ /wiki.ubuntu. com/Testing/ EnableProposed for documentation on how to enable and use -proposed.Your feedback will aid us getting this update out to other Ubuntu users.
If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, and change the tag from verification-needed to verification-done. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification- failed. In either case, details of your testing will help us make a better decision.
Further information regarding the verification process can be found at https:/ /wiki.ubuntu. com/QATeam/ PerformingSRUVe rification . Thank you in advance!