There is a bug in the Qt/KDE integration patches to Qt in SuSE 9.3
which is causing third-party applications such as Quasar, Scribus, and
LinCVS to fail to work properly. Its easy to duplicate and show and is
a problem in the patch to redirect Qt QMessageBox static methods to KDE
message boxes. The basic problem is that there are two ways to call
the QMessageBox functions. One way you pass in the text for the
buttons on the message box and it should return which button was
pressed (0, 1, or 2). The other way to call something like
QMessageBox::warning though is to pass in a list of button ids such as
QMessageBox::Yes/No/Cancel/... and in this case what should be returned
is the button id that was clicked. The replacement code added in SuSE
9.3 that passes these functions off to KDE treats these both the same
and will return the button number (0/1/2) in each case. So any code
that uses Qt and calls QMessageBox::warning with button ids of
QMessageBox::Yes and QMessageBox::No and then checks the result to make
sure it matches QMessageBox::Yes will now fail and the user is left
with an application that won't do the work regardless of whether they
choose Yes or No!
As I am still running 9.2, but have the newer KDE/QT installed, I can't
recall having this problem, but speaking with a user of SuSE 10, it
does exist. Now the simple thing, it seems to me, would be for those
three mentioned programs to adjust their coding to eliminate this
problem. Although it may be a QT/KDE or SuSE problem, which I'm
confident will be fixed, if it's a deal breaking bug, wouldn't it be
easiest to fix at the program level? If there are only a few programs
finding this bug, wouldn't it be easier for them to provide a fix for
their programs? The Scribus guys may already be aware and have a fix?
I just rejoined the list, so this may have already been brought up, my
appologies if that is the case.
Have any others noticed this same bug with SuSE 9.3+?
---SuSE Linux v9.2 Pro---
Registered Linux User #225206
"Life's a garden, Dig It!" --Joe Dirt