Details
-
Bug
-
Resolution: Out of scope
-
P3: Somewhat important
-
4.3.0
-
None
Description
Consider the following case:
QWidget toplevel;
QWidget dropWidget(&toplevel);
dropWidget.setAcceptDrops(true);
QWidget visualFooWidget(&toplevel);
Now in qdnd_x11.cpp find_child will find visualFooWidget because it's the last entry in toplevel.children() and the QPoint of the drop is contained in it. But since it does not acceptDrops() handle_xdnd_position will now look at the parent widget which is toplevel. That one isWindow() so the iteration stops and no QDragEnterEvent will be sent. But it never even looked at dropWidget even though it also contains the QPoint of the drop!