[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: kde 2.2.1 libs or hebrew bug
- To: Hetz Ben Hamo <hetz(at-nospam)kde.org>, Linux-il <linux-il(at-nospam)linux.org.il>
- Subject: Re: kde 2.2.1 libs or hebrew bug
- From: Ghiora Drori <drori(at-nospam)edrori.com>
- Date: Sun, 07 Oct 2001 15:00:28 +0200
- Delivered-To: linux.org.il-linux-il@linux.org.il
- References: <20011006181226.THKQ607.fep1@there> <E15qJeF-0001wd-00@witch.dyndns.org>
- Sender: drori(at-nospam)cs.huji.ac.il
- Sender: linux-il-bounce(at-nospam)cs.huji.ac.il
Hi,
I do not know if this is the one you are refeering to:
After going to After setting personal-settings->State and Language to Hebrew a
significant part of KDE stops working.
like running kcmshell keyboard crashes.
I traced this bug to this routine in: qt-2.3.1/src/tools/qrtlcodec.cpp
line 185:
static void reverse(QString &input, unsigned int a, unsigned int b)
{
// evil cast... I know...
QChar *chars = (QChar *)input.unicode();
QChar temp;
while (a < b) {
temp = chars[a];
chars[a] = chars[b];
chars[b] = temp;
a++; b--;
}
}
the b is being passed with -1 (a huge number since it is put into a uint)
I put a "fix" in line 210 from :
-----------------------------------------------------
static void reverse(QString &str, unsigned int a, unsigned int b,
QChar::Direction dir)
{
// first reverse....
if(a != 0 || b != str.length()-1 || dir != QChar::DirL)
reverse(str, a, b);
// now, go through it, to see if there is some substring
// we need to reverse again...
QChar::Direction opposite = (dir==QChar::DirL ? QChar::DirR : QChar::DirL);
while(a <= b )
{
-------------------------------------------------------
To:
static void reverse(QString &str, unsigned int a, unsigned int b,
QChar::Direction dir)
{
// first reverse....
if(a != 0 || b != str.length()-1 || dir != QChar::DirL)
reverse(str, a, b);
// now, go through it, to see if there is some substring
// we need to reverse again...
QChar::Direction opposite = (dir==QChar::DirL ? QChar::DirR : QChar::DirL);
if (b != 0)
while(a <= b )
{
-----------------------------------------------------
Now this fix is Heuristic but it seems to work. I suppose somebody at Trolll
who maintains the code could do a better job.
In any case it is obvious that b should not be 0 at this point.
It now works for me.
You will have to compile and replace your libqt.so.2.3.1 or I can give you a
copy.
Ghiora
Hetz Ben Hamo wrote:
> On Saturday 06 October 2001 19:13 pm, Diego G. Iastrubni wrote:
> > Is the hebrew bug solved in kde 2.2.1? I wanna d/l and install only the
> > libs. any one has an idea of this?
>
> Which hebrew bug are you refferring to? the one that if you mixed hebrew and
> english that it looks corrupt? then no, it's not fixed yet...
>
> >
> > anyone planning d/l the first "official" kde3 next week?
>
> KDE 3 next week is ALPHA (though as for alpha it's surprisingly works pretty
> well). It has been tagged today (kde-3-alpha1), and you can get the sources
> from ftp.kde.org or wait for next week for the official binaries (no Redhat
> RPMS - bero on vacation).
>
> >
> > - diego
>
> --
> Hetz Ben Hamo
> hetz@kde.org
>
> =================================================================
> To unsubscribe, send mail to linux-il-request@linux.org.il with
> the word "unsubscribe" in the message body, e.g., run the command
> echo unsubscribe | mail linux-il-request@linux.org.il
=================================================================
To unsubscribe, send mail to linux-il-request@linux.org.il with
the word "unsubscribe" in the message body, e.g., run the command
echo unsubscribe | mail linux-il-request@linux.org.il