I'm using Qt 5.6.1 on Windows. I'm using it in a VST plugin. The host calls me, passing an HWND, and I use qtwinmigrate to turn that into a QWinWidget. I then stick my UI into that window by setting it as its parent...
Qt Code:
  1. mWidget = new QWinWidget(static_cast<HWND>(ptr));
  2.  
  3. mEditor->setParent(mWidget);
  4. mEditor->move(0, 0);
  5. mEditor->show();
  6.  
  7. mWidget->move(0, 0);
  8. mWidget->show();
To copy to clipboard, switch view to plain text mode 

This has been working fine for years. Still works. But, something strange has happened since upgrading to Qt 5.6.

One of the buttons in my Qt ui opens a modal dialog box. There is nothing special about this dialog box... a few text fields, a few check boxes, and obviously (given that it is modal) it has OK and Cancel buttons.

The issue is this... that modal dialog box does not respond to any events. Click on an edit field to give it the focus, click on a checkbox, nothing. Even click the window close button at the top right corner of the window... nothing.

BUT... Click in the window drag bar and like magic... all of those messages get processed. Like they are all queued up someplace.

So, for example, if I click in an edit field, press the backspace key twice, and then click a blank checkbox, I see nothing change. But if I click in the window's drag bar... poof... I see the new value in the edit field and the new value in the checkbox.

If I click the OK button... nothing... but if I then drag the window it closes out from under me and my code picks right up after the call to the dialog box's exec call. As if I had just pressed the OK button.

Anyone have any ideas?

Oh... and again... all of this same code worked fine prior to our update from 4.8 to 5.6.1

Thanks