While porting a QtMobility app for Maemo to Symbian^3, I discovered that QContactManager does not return any QContacts. This happens with the synchronous method contacts() as well as with the asynchronous QContactFetchRequest. The code I have returns a non-empty QList<QContact> on my Maemo Nokia N900 but returns an empty QList<QContact> on my Symbian^3 Nokia N8.
The asynchronous fetch ends in QContactAbstractRequest::FinishedState on both platforms as expected but on the N8, the QContactFetchRequest's error() returns 3, QContactManager::InvalidDetailError.
In both cases, I allocate the QContactManager on the stack using the default constructor:
I was advised on the Qt Developer Network to post a bug report here.
The attachment is a simple program that illustrates the problem. It presents three buttons. Press "Synchronous" to fetch contacts the synchronous way using QContactManager::contacts(). Press "Asynchronous" to fetch contacts the asynchronous way using a QContactFetchRequest. Press "Contact Manager Info" to see the name of the contact manager and the names of the available contact managers.
The application displays its progress with a series QMessageBoxes.