EDS: only load one backend plugin of each kind

SyncEvolution was meant to load the syncecal or syncebook shared object
which uses the most recent libraries (libical, libecal/libebook) on
the system and then stop loading further backends. Due to a string
handling bug the check for already backends always found nothing,
leading to multiple conflicting backends loaded on some systems (for
example, those with libical0 and libical1 installed).

If that happened, the backend became unusable.
This commit is contained in:
Patrick Ohly 2014-03-31 07:00:04 -07:00
parent 9ac06d187f
commit ef9a89f788

View file

@ -343,7 +343,7 @@ public:
std::string modname;
size_t offset = basename.rfind('-');
if (offset != basename.npos) {
modname = basename.substr(offset);
modname = basename.substr(0, offset);
} else {
modname = basename;
}