This patch is submitted as part of a Google Code-In student task.
For some bizarre reason, when the QPointF is serialised to be placed in to the QSettings (which, on macOS and iOS, uses a plist XML document), its value is lost. When restoring the position in AbstractFloatItem::setSettings from a defective plist, a sigabrt is caused by an assertion within QList::at when the index of 1 is accessed as part of restoring the QPointF from the QStringList.
This patch ensures that the QPointF is safely cast to a QVariant, and that the QVariant is restored back to a QPointF without going through the process of casting it to a QString and then attempting to create a new QPointF from that only the string value, as long as the hash in the 'metadata' field "__" contains a field "kconfig" which is true.