ドラッグ&ドロップ処理の悩み

  QDrag* drag = new QDrag( this );
  QMimeData *mimeData = new QMimeData();
  mimeData->setText( path );
  drag->setMimeData( mimeData );
  drag->setPixmap( iconPixmap );

  Qt::DropAction dropAction = drag->exec();

のような形でドラッグ&ドロップ処理を開始したものの、画面の範囲外などでマウスボタンを離すと、dropEvent は呼ばれません。ドラッグ開始で何かのトリガーを入れると、そのトリガーがキャンセルできず入ったままです。ドラッグ&ドロップを開始すると mouseReleaseEvent も呼ばれなくなるので、そちらでトリガーを解除するわけにも行かず、困っています。