Fix KOrg category color customization crash

Authored by dkurz on Oct 11 2018, 9:15 PM.

Description

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

Details

Committed
dkurzOct 11 2018, 9:23 PM
Reviewer
KDE PIM
Differential Revision
D16051: Fix KOrg category color customization crash
Parents
R165:9fb1ae91d965: GIT_SILENT: Prepare 5.9.3
Branches
Unknown
Tags
Unknown