Details
-
Bug
-
Resolution: Done
-
P2: Important
-
None
-
5.0.0, 5.0.1, 5.0.2, 5.1.0 Beta 1
-
Embedded linux
Description
EGLFS (so as minimalegl,directfb,linuxfb) is missing the implementation of drag feature and by default
QPlatformDrag *QPlatformIntegration::drag() const
{ return 0; }so QGuiApplicationPrivate::platformIntegration()>drag() is 0 and it is causing crash in QDropEvent::QDropEvent() function default_action = QGuiApplicationPrivate::platformIntegration()>drag()->defaultAction(act, modifiers);
Solution proposals:
1., Implementing drag function to eglfs (and all the other plugins) using QSimpleDrag and add null pointer checking to QDropEvent::QDropEvent() and maybe to some other places wherever it is used.
QPlatformDrag *QEglFSIntegration::drag() const
{
static QSimpleDrag *drag = 0;
if (!drag)
return drag;
}
Works for me.
2., Move QSimpleDrag and QBaseDrag to QtGui from QtPlatformSupport module and QPlatformIntegration::drag() would return it by default.
Attachments
For Gerrit Dashboard: QTBUG-31288 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
82298,1 | WIP: Provide some level of drag support on eglfs | stable | qt/qtbase | Status: ABANDONED | 0 | 0 |