Fix KOrg category color customization crash
Summary:
Use default value for NULL columns.
Without this patch, possibly different default values are used for
entity construction (default from akonadidb.xml) and when reading a row
from the database (default-constructed), resulting in inconsistencies.
For example, when modifying a Tag, the resulting Tag modify notification
indicates that the new parentId of the modified Tag is 0
(default-constructed qint64), whereas Tags without parents are
initialized with parentId -1. This patch fixes these inconsistencies by
considering the "default" value from akonadidb.xml for row-to-entity
conversion, too.
Set default Tag::parentId to -1.
A parentless Tag is initialized with parentId -1, so we should also
report that when reading a Tag from the database where the parentId
field is NULL.
BUG: 398459
FIXED-IN: 5.9.3
Test Plan:
KOrganizer stops crashing on category color customization
with this patch. More detailed test plan suggestions welcome.
Reviewers: KDE PIM, dvratil
Reviewed By: KDE PIM, dvratil
Subscribers: dvratil, kde-pim
Tags: KDE PIM
Differential Revision: https://phabricator.kde.org/D16051