Bug 541211 - PyQt4-4.6.2 breaks QStringList in QVariant
Summary: PyQt4-4.6.2 breaks QStringList in QVariant
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: PyQt4
Version: 12
Hardware: All
OS: Linux
low
high
Target Milestone: ---
Assignee: Rex Dieter
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2009-11-25 09:10 UTC by Michal Schmidt
Modified: 2009-11-27 21:50 UTC (History)
2 users (show)

Fixed In Version: 4.6.2-3.fc11
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2009-11-27 21:36:55 UTC


Attachments (Terms of Use)

Description Michal Schmidt 2009-11-25 09:10:38 UTC
Description of problem:
PyQt4-4.6.2-1 causes a regression. Code which worked fine with PyQt4-4.6.1-2 is not broken. This affects jabbim (an XMPP client).

Here is a minimal testcase:

#!/usr/bin/python
from PyQt4 import QtCore
qslv = QtCore.QVariant(QtCore.QStringList(["foo","bar"]))
qsl = qslv.toList()
print type(qsl)
print qsl 
one, two = [unicode(val.toString()) for val in qsl]
print one, two

Version-Release number of selected component (if applicable):
PyQt4-4.6.2-1.fc12.x86_64

How reproducible:
always

Steps to Reproduce:
Run the testcase above.
  
Actual results:
<type 'list'>
[]
Traceback (most recent call last):
  File "qstringlist.py", line 9, in <module>
    one, two = [unicode(val.toString()) for val in qsl]
ValueError: need more than 0 values to unpack

Expected results:
<type 'list'>
[<PyQt4.QtCore.QVariant object at 0x7f6fa98429a8>, <PyQt4.QtCore.QVariant object at 0x7f6fa9842a78>]
foo bar

Comment 1 Michal Schmidt 2009-11-25 09:18:59 UTC
(In reply to comment #0)
> Code which worked fine with PyQt4-4.6.1-2 is not broken.

Really stupid typo :-)  "... is now broken."

Comment 2 Michal Schmidt 2009-11-25 11:12:43 UTC
It depends on which sip version it is built with:
PyQt4-4.6.2-1.fc12 built against sip-4.9.2-1.fc12 is broken.
PyQt4-4.6.2-1.fc12 built against sip-4.9.3-1.fc12 works.

Please rebuild PyQt4 against sip-4.9.3.

Comment 3 Ngo Than 2009-11-25 11:38:03 UTC
it's already fixed in F12-update-testing.the new packages are moving in F-12-update

Comment 4 Michal Schmidt 2009-11-25 11:51:07 UTC
than, are you referring to https://admin.fedoraproject.org/updates/F12/FEDORA-2009-11503 ? That's exactly the *broken* version which will cause the regression if it hits stable.

Comment 5 Michal Schmidt 2009-11-25 11:53:15 UTC
To be more exact: the sip build in the update is the fixed version, but the PyQt4 build which is part of the update was built against the broken sip and that's what causes the breakage.

Comment 6 Ngo Than 2009-11-25 12:15:14 UTC
i'm rebuilding PyQt4 against new sip-4.9.3 and let Rex update the package list. thanks

Comment 7 Fedora Update System 2009-11-25 14:02:43 UTC
PyQt4-4.6.2-3.fc12 has been submitted as an update for Fedora 12.
http://admin.fedoraproject.org/updates/PyQt4-4.6.2-3.fc12

Comment 8 Fedora Update System 2009-11-25 14:04:09 UTC
PyQt4-4.6.2-3.fc11 has been submitted as an update for Fedora 11.
http://admin.fedoraproject.org/updates/PyQt4-4.6.2-3.fc11

Comment 9 Fedora Update System 2009-11-25 14:04:45 UTC
PyQt4-4.6.2-3.fc10 has been submitted as an update for Fedora 10.
http://admin.fedoraproject.org/updates/PyQt4-4.6.2-3.fc10

Comment 10 Fedora Update System 2009-11-27 21:36:50 UTC
PyQt4-4.6.2-3.fc12 has been pushed to the Fedora 12 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 11 Fedora Update System 2009-11-27 21:47:12 UTC
PyQt4-4.6.2-3.fc10 has been pushed to the Fedora 10 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 12 Fedora Update System 2009-11-27 21:50:53 UTC
PyQt4-4.6.2-3.fc11 has been pushed to the Fedora 11 stable repository.  If problems still persist, please make note of it in this bug report.


Note You need to log in before you can comment on or make changes to this bug.