--- codelite/Interfaces/debugger.h.orig	2018-06-19 09:03:49.974709900 +0300
+++ codelite/Interfaces/debugger.h	2018-06-19 09:03:54.674716400 +0300
@@ -660,7 +660,7 @@
      * \brief Gets the current logging level
      * \return the current level
      */
-    bool IsLoggingEnabled() const { return m_info.enableDebugLog; }
+    bool IsDebugLoggingEnabled() const { return m_info.enableDebugLog; }
 
     //-------------------------------------------------------------
     // Debugger operations
--- codelite/LiteEditor/manager.cpp.orig	2018-06-19 08:32:59.079116200 +0300
+++ codelite/LiteEditor/manager.cpp	2018-06-19 09:04:32.824769800 +0300
@@ -2504,7 +2504,7 @@
     // There are a few messages that are only worth displaying if full logging is enabled
     if(OnlyIfLoggingOn) {
         IDebugger* dbgr = DebuggerMgr::Get().GetActiveDebugger();
-        if(dbgr && (dbgr->IsLoggingEnabled() == false)) {
+        if(dbgr && (dbgr->IsDebugLoggingEnabled() == false)) {
             return;
         }
     }
