summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPatrick Ohly <patrick.ohly@intel.com>2014-07-01 01:55:09 -0700
committerPatrick Ohly <patrick.ohly@intel.com>2014-07-03 11:20:10 +0200
commit6977a261e34e1f9e6c6beda1e31cccd70493ccae (patch)
treeebda48e4782ccdc84c5adea38af217c0e6d962a9 /src
parentf3f689b85702bad552d93580d6201d6962458d29 (diff)
PIM: fix invalid call to folks_note_field_details_new
folks_note_field_details_new() takes an additional uid parameter. Passing NULL is okay, but SyncEvolution wasn't doing that due to an incorrect function type cast. Found by valgrind only after a valgrind and tool chain update. Probably we passed a valid value accidentally before. Fixed by using a wrapper function. Ideally the function typecast should get replaced entirely with just casting the returned pointer.
Diffstat (limited to 'src')
-rw-r--r--src/dbus/server/pim/individual-traits.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/dbus/server/pim/individual-traits.cpp b/src/dbus/server/pim/individual-traits.cpp
index baf42ffc..03e558a0 100644
--- a/src/dbus/server/pim/individual-traits.cpp
+++ b/src/dbus/server/pim/individual-traits.cpp
@@ -559,6 +559,8 @@ static void DBus2Addr(GDBusCXX::ExtractArgs &context,
new GValueObjectCXX(set.get()));
}
+static FolksAbstractFieldDetails *my_folks_note_field_details_new_wrapper(const gchar *value, GeeMultiMap *parameters) { return FOLKS_ABSTRACT_FIELD_DETAILS(folks_note_field_details_new(value, parameters, NULL)); }
+
void DBus2PersonaDetails(GDBusCXX::ExtractArgs &context,
GDBusCXX::reader_type &iter,
PersonaDetails &details)
@@ -647,7 +649,7 @@ void DBus2PersonaDetails(GDBusCXX::ExtractArgs &context,
DBus2SimpleAbstractField(context, valueIter, details,
FOLKS_TYPE_NOTE_FIELD_DETAILS,
FOLKS_PERSONA_DETAIL_NOTES,
- reinterpret_cast<FolksAbstractFieldDetails *(*)(const gchar *, GeeMultiMap *)>(folks_note_field_details_new));
+ my_folks_note_field_details_new_wrapper);
} else if (key == CONTACT_HASH_ROLES) {
DBus2Role(context, valueIter, details);
} else if (key == CONTACT_HASH_GROUPS) {