Comment 10 for bug 97420

Revision history for this message
M. Vefa Bicakci (mvb) wrote :

Hello,

I have found out why this bug occurs. It is because of the
following part of PyQt4 in

/usr/lib/python2.5/site-packages/PyQt4/uic/properties.py:

line
187 else:
188 getattr(widget, "set%s%s" % (propname[0].upper(), propname[1:]))(
189 self.convert(prop, widget))
190

Everything looks fine. However, notice the usage of "upper()".
One would expect this to work fine in the Turkish locale but
it doesn't. Here's the reason: When a propname whose first
letter is "i" is processed, because of the Turkish locale,
the function "upper()" does not convert it into "I" (the
regular English capital "i") but something else: Idotabove.
(The Turkish capital "i" with a dot on top.)

This bug occurs because there is a propname named "indentation"
in software-properties-kde. (I found about this by inserting
"print(propname);" just before line 188.) When this propname
is processed, Python tries to convert the first letter to
Idotabove but for some reason fails.

When the attached patch is applied, the bug ceases to
exists. However, a better solution would be fix Python
itself so that the Turkish capital "i" with a dot on top
would not affect anything.

I apologize for my English. I am willing to try to
clarify parts of this message which were not well
understood because of my English.

Thank you for attention,

situert