Revision e65bae2...
Go back to digest for 9th June 2013Other in KDE-PIM
Correctly expose that ResourceState is a friend class.
ResourceState is a class that lives in kdepim-runtime and is outside the
Akonadi namespace.
clang < 3.3 and all versions of GCC erroneously consider the friend
declaration in
namespace N {
class C {
friend class A;
};
}
class A {
};
to refer to the class A outside namespace N (technically speaking, this is
item 3 of section 7.3.1.2 of the C++ standard). clang 3.3 fixes this
behavior and makes the build of kdepim-runtime fail.
Fix it by explicitly referring to ::ResourceState in the friend declaration.
Alternatively, we could remove the friend declaration and make
ResourceState::collectionsRetrieved use ImapResource::Append instead of
Akonadi::ResourceBase::Append (since ImapResource also declares
ResourceState as a friend).
REVIEW: 110777
File Changes
- akonadi/resourcebase.h