Details
-
Type:
Bug
-
Status: Closed
-
Priority:
P2: Important
-
Resolution: Done
-
Affects Version/s: 5.0.0, 5.0.1, 5.0.2, 5.1.0 Beta 1
-
Fix Version/s: None
-
Component/s: (Inactive) GUI: QWS Integration (Qt4), GUI: Drag and Drop
-
Labels:
-
Environment: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.