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.
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.
Bookmarks