Bug 541211

Summary: PyQt4-4.6.2 breaks QStringList in QVariant
Product: [Fedora] Fedora Reporter: Michal Schmidt <mschmidt>
Component: PyQt4Assignee: Rex Dieter <rdieter>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: low    
Version: 12CC: rdieter, than
Target Milestone: ---Keywords: Regression, Reopened
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: 4.6.2-3.fc11 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2009-11-27 21:36:55 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

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 Than Ngo 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 Than Ngo 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.