Comment 5 for bug 1244493

Revision history for this message
Bruno Nova (brunonova) wrote :

I've looked at the code again and I finally found what causes this bug!

From Raring to Saucy, there were these changes to the file softwarecenter/config.py:

33c33
< class SoftwareCenterConfig(object, SafeConfigParser):
---
> class SoftwareCenterConfig(SafeConfigParser):
38d37
< object.__init__(self)

The Software Center is executed using Python 2 (still?), so this changes the class from a "new style class" to an "old style class", I think. It seems Python properties don't work correctly in "old style classes".
Reverting these changes fixes the issue.

I've attached a patch that fixes the issue by reverting the changes.
I've tested this by editing the installed code directly and running software-center. The settings are now saved correctly and I haven't noticed any other new issues.
(By the way, I don't know if the line "object.__init__(self)" is really needed.)

---

However, I researched a bit to find why this change was made and, apparently, it was to fix a bug.
The changes were introduced in revision 3308 of lp:software-center by Rodney Dawes to fix bug LP:1038429 .
Software Center hasn't crashed for me, but I have apport disabled (the large number of crash reports in the first weeks of Saucy were too annoying).

So, someone with more knowledge about the code should look into this.