PDA

View Full Version : Moving QDockWidget fails, but only on some monitors



rhulick
5th December 2016, 22:08
I am getting an odd behavior with QDockWidget in Qt 5.7 . I've created a minimal widgets project, essentially all default settings, thrown together by Qt Creator with a main window and two QDockWidgets attached to it. Attempting to move a QDockWidget from one dock area to another succeeds if the window is on my right two monitors, but fails on the left two.

I've recorded a video.

https://www.youtube.com/watch?v=3_VP3rN33HA

Compiling with msvc2013 on Windows 7 64-bit. This does not occur if I build the same project with Qt 5.6 . I'm going to have a coworker try it with his machine, similar environment but I think he's on msvc2015; and also I haven't tried it on Linux yet so when I get a chance I'll build there and see if it gets the same results. I have an OS X build/test environment, but it only has one monitor.

I've been trying to debug this as well as I can without building Qt from source (which would be a major investment of time), but so far I'm stumped. If I break on an event filter catching a mouse release on the dock widget, the QMainWindowLayout::pluggingWidget is already set to null, and I can't find any other events that fire at the right time. I'd like to have some idea of what conditions with my monitors cause this bug to occur before I submit a bug report since right now I've all I've got is "well it's my machine and maybe others too but I don't know".

EDIT: The widgets behave as expected on Linux and on my coworker's computer, however in both instances there were only two monitors, whereas the failure happens on an environment with four.

rhulick
6th December 2016, 00:27
After more experimenting, I found a plausible repro condition. Reported this as a bug.

https://bugreports.qt.io/browse/QTBUG-57466