On Yau al-Thulatha 21 Thu al-Hijjah 1425 12:30 am, Munzir Taha wrote:
Hi Sirs!
Due to a message from Matthias Ettrich, I am retesting the Arabic and RTL
bugs from the beginning against the latest snapshot.
Qt Version: qt-x11-opensource-4.0.0-b2-snapshot-20050131
System: Mandrake 10.1 on AMD64
QSpinBox was not working when reversed but now it's working but with many
issues.
CODE: LC_ALL=ar qt/examples/widgets/spinboxes/spinboxes
shows the year like this 1059 and could only be increased to 1109 though
the code is:
dateEdit->setDateRange(QDate(2005, 1, 1), QDate(2010, 12, 31));
dateLabel->setText(tr("Appointment date (between %0 and %1):")
.arg(dateEdit->minimumDate().toString(Qt::ISODate))
.arg(dateEdit->maximumDate().toString(Qt::ISODate)));
I guess the issue has something to do with my ar locale and Hijri Calendar.
I can see functions like
Also,
$ LC_TIME=ar /usr/local/qt/examples/widgets/spinboxes/spinboxes
shows another problem.
PROBLEM: When I click many times in the strange Arabic letters/glyphs that
appeared on the first QDate spin box that says "Appointment date (between
2005, 1, 1 and 2010, 12, 31:", the program crashes with the error:
ASSERT: "glyph_pos != -1" in file text/qtextlayout.cpp, line 1719
Aborted
Now, this same error happened with this small program when called with
-reverse.
#include <QtGui>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
app.setFont(QFont("", 72, QFont::Bold));
QHBoxWidget *hbox = new QHBoxWidget(0);
QSpinBox *spinBox = new QSpinBox(hbox);
QSlider *slider = new QSlider(Qt::Horizontal, hbox);
QObject::connect(spinBox, SIGNAL(valueChanged(int)), slider,
SLOT(setValue(int)));
QObject::connect(slider, SIGNAL(valueChanged(int)), spinBox,
SLOT(setValue(int)));
app.setMainWidget(hbox);
hbox->show();
return app.exec();
}
A core dump is generated. I could send it to you if it will prove useful. The
stack is
#gdb --core=core.8450
bt
...
#3828 0x00336369 in ?? ()
#3829 0x00000000 in ?? ()
Cannot access memory at address 0xc0000000
LC_ALL=ar_SA.UTF-8
shows broken glyphs of Sunday (in Arabic) though it's Tuesday today as my
$ date command shows!
even LC_ALL=C shows the year as either 05 or 10! so I can't use 06, 07, 08
and 09 as per the code setDateRange() function.
What about Hijri date functions: isn't it implemented here? Can you copy it
from KDE code?
WoW the bugs are getting nasty now ;)
--
Munzir Taha PGP Key available
gpg --recv-keys --keyserver
www.mandrakesecure.net F0671821
Telecommunications and Electronics Engineer
Mandrake Club Member
Maintainer of the Open Arabic Bugs Project at
http://wiki.arabeyes.org/OpenBugs
Maintainer of Fedora Arabic Translation Project
https://listman.redhat.com/mailman/listinfo/fedora-trans-ar
CIW Designer, ICDL, MOUS, Linux+, LPI 101
New Horizons CLC, Riyadh, SA