Details
Description
Hi!
The following issue affects several qt versions but in the actual test case I used libqt4-dbus 4:4.6.2-0ubuntu5 on ubuntu 10.04 i386.
When using QDBusConnection::callWithCallBack, if the dbus method call fails and the error callback is called, if in that slot I show a QMessageBox the loop event and the application freeze and I have to kill it manually.
The problem seems related due to QMessageBox::information/critical/etc. invokation that spawn a loop event like QDialog::exec, as a workaround in the error handler I can call QMetaObject::invokeMethod with Qt::QueuedConnection that calls a secondary slot where the QMessageBox invokation does not freeze.
Note: this affects only the error handler, and not the normal handler.
In attach sources and .pro files, to reproduce just run it and click several time on "testOk" and "testError", to see the workaround in action uncomment the //#define WORKAROUND line.
Regards
Niko