Skip to content
Commit 904e64ca authored by Raphael Kubo da Costa's avatar Raphael Kubo da Costa
Browse files

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
parent a8779820
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment