diff --git a/src/call.h b/src/call.h
index 4144fc4ddc91b373f7715437e0a0f8b6359655bb..20afc3603cceeba6749c6d34b60b1d916df20103 100644
--- a/src/call.h
+++ b/src/call.h
@@ -152,6 +152,8 @@ public:
 
    ///Possible call states
    enum class State : unsigned int{
+   #pragma push_macro("ERROR")
+   #undef ERROR
       NEW             = 0, /*!< The call has been created, but no dialing number been set                         */
       INCOMING        = 1, /*!< Ringing incoming call                                                             */
       RINGING         = 2, /*!< Ringing outgoing call                                                             */
@@ -170,6 +172,7 @@ public:
       ABORTED         = 15,/*!< The call was dropped before being sent to the daemon                              */
       CONNECTED       = 16,/*!< The peer has been found, attempting negotiation                                   */
       COUNT__,
+   #pragma pop_macro("ERROR")
    };
    Q_ENUMS(State)
 
@@ -223,10 +226,16 @@ public:
     * only used for outgoing holding.
     */
    enum class HoldFlags {
+   #pragma push_macro("OUT")
+   #pragma push_macro("IN")
+   #undef OUT
+   #undef IN
       NONE = 0x0 << 0, /*!< The call is not on hold        */
       OUT  = 0x1 << 0, /*!< This side put the peer on hold */
       IN   = 0x1 << 1, /*!< The peer put this side on hold */
       COUNT__
+   #pragma pop_macro("OUT")
+   #pragma pop_macro("IN")
    };
    Q_FLAGS(HoldFlags)
 
diff --git a/src/call.hpp b/src/call.hpp
index 138901bf8a1c88c87d5a06e2be879136e613170a..3d31c1946b42d7b6c2b5964299bd75409ca7123d 100644
--- a/src/call.hpp
+++ b/src/call.hpp
@@ -61,14 +61,16 @@ T* Call::firstMedia(Media::Media::Direction direction) const
 template<typename T>
 T* Call::addOutgoingMedia(bool useExisting)
 {
+   #pragma push_macro("OUT")
+   #undef OUT
    T* existing = firstMedia<T>(Media::Media::Direction::OUT);
-
    if (useExisting && existing)
       return existing;
 
    Media::Media::Type t = MediaTypeInference::getType<T>();
 
    return static_cast<T*>(MediaTypeInference::safeMediaCreator(this,t,Media::Media::Direction::OUT));
+   #pragma pop_macro("OUT")
 }
 
 #define REGISTER_MEDIA() __attribute__ ((unused)) static auto forceType = [] {\
diff --git a/src/interfaces/pixmapmanipulatori.h b/src/interfaces/pixmapmanipulatori.h
index a2d0baee64857bae80d7a425180b59ff545644e6..01b4d1ef26206806b4b3864cb7731b3c91557a26 100644
--- a/src/interfaces/pixmapmanipulatori.h
+++ b/src/interfaces/pixmapmanipulatori.h
@@ -72,7 +72,7 @@ public:
     virtual QVariant   securityIssueIcon(const QModelIndex& index) = 0;
     virtual QByteArray toByteArray(const QVariant& pxm) = 0;
     virtual QVariant   personPhoto(const QByteArray& data, const QString& type = "PNG") = 0;
-    virtual QVariant   collectionIcon(const CollectionInterface* interface, PixmapManipulatorI::CollectionIconHint hint = PixmapManipulatorI::CollectionIconHint::NONE) const = 0;
+    virtual QVariant   collectionIcon(const CollectionInterface* colItf, PixmapManipulatorI::CollectionIconHint hint = PixmapManipulatorI::CollectionIconHint::NONE) const = 0;
     virtual QVariant   securityLevelIcon(const SecurityEvaluationModel::SecurityLevel level) const = 0;
     virtual QVariant   historySortingCategoryIcon(const CategorizedHistoryModel::SortedProxy::Categories cat) const = 0;
     virtual QVariant   contactSortingCategoryIcon(const CategorizedContactModel::SortedProxy::Categories cat) const = 0;
diff --git a/src/media/media.h b/src/media/media.h
index 7bde8dfd762066bb176131fca7f9c9a6977698b2..0d125240bf18a730551f0e3b334748830671030e 100644
--- a/src/media/media.h
+++ b/src/media/media.h
@@ -52,9 +52,15 @@ public:
    };
 
    enum class Direction {
+   #pragma push_macro("OUT")
+   #pragma push_macro("IN")
+   #undef OUT
+   #undef IN
       IN , /*!< The media is coming from the peer */
       OUT, /*!< The media is going to the peer    */
       COUNT__
+   #pragma pop_macro("OUT")
+   #pragma pop_macro("IN")
    };
 
    enum class Action {
@@ -98,4 +104,3 @@ private:
 Q_DECLARE_METATYPE(Media::Media::Direction)
 
 Media::Media* operator<<(Media::Media* m, Media::Media::Action a);
-
diff --git a/src/securityevaluationmodel.h b/src/securityevaluationmodel.h
index fcddce3304e7a109e3ee06d31325cb4d1a0d5032..10e0e60359348cc984a42135c9f8075dcb0e6818 100644
--- a/src/securityevaluationmodel.h
+++ b/src/securityevaluationmodel.h
@@ -87,6 +87,8 @@ public:
 
    ///The severity of a given flaw
    enum class Severity {
+   #pragma push_macro("ERROR")
+   #undef ERROR
       UNSUPPORTED   = 0, /*!< This severity is unsupported, to be ignored                  */
       INFORMATION   = 1, /*!< Tip and tricks to have better security                       */
       WARNING       = 2, /*!< It is a problem, but it won't have other side effects         */
@@ -94,9 +96,9 @@ public:
       ERROR         = 4, /*!< It simply won't work (REGISTER)                               */
       FATAL_WARNING = 5, /*!< Registration may work, but it render everything else useless */
       COUNT__,
+   #pragma pop_macro("ERROR")
    };
    Q_ENUMS(Severity)
-
    ///Every supported flaws
    enum class AccountSecurityChecks {
       SRTP_ENABLED                , /*!< The account use secure media streams                    */
@@ -160,4 +162,3 @@ private:
 Q_DECLARE_METATYPE(SecurityEvaluationModel*)
 Q_DECLARE_METATYPE(SecurityEvaluationModel::Severity)
 Q_DECLARE_METATYPE(SecurityEvaluationModel::SecurityLevel)
-