the problem is that modal dialogs block all the other windows... they are visible but don't accept mouse events... when you call exec() for a dialog that dialog becomes modal and the program enters onother event loop that anly digests mouse events initiating from that dialog.