What happens if you pass Qt::Tool directly to the QDialog constructor (i.e. QDialog(parent, Qt::Tool)) instead of setting it after construction?
I do not remember seeing a modal tool window in any GUI. Maybe this unusual pattern was not considered or tested in Qt.
On a side note, instead of QScopedPointer<Poppy> theBox(new Poppy(this)); you could simply allocate the Poppy on the stack (assuming you do want a modal dialog).
Bookmarks