diff --git a/Device/Mask/Line.cpp b/Device/Mask/Line.cpp
index 9d5b8e5c3dab8f122cc2b2a587aa64b6e9ef952e..dd2f7fda534cfd38823e95de76a2374dd48d60fc 100644
--- a/Device/Mask/Line.cpp
+++ b/Device/Mask/Line.cpp
@@ -15,8 +15,11 @@
 #include "Device/Mask/Line.h"
 #include "Base/Axis/Bin.h"
 #include "Base/Math/Numeric.h"
-#include <boost/geometry.hpp>
 #include <limits>
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wunused-parameter"
+#include <boost/geometry.hpp>
+#pragma clang diagnostic pop
 
 using point_t = boost::geometry::model::d2::point_xy<double>;
 using line_t = boost::geometry::model::linestring<point_t>;
diff --git a/Device/Mask/Polygon.cpp b/Device/Mask/Polygon.cpp
index 87ab3b59d12839fd4964c2b72878ef02437eb480..dce265e3154c9102e3016b1928f31bcb45bf4f0f 100644
--- a/Device/Mask/Polygon.cpp
+++ b/Device/Mask/Polygon.cpp
@@ -15,7 +15,10 @@
 #include "Device/Mask/Polygon.h"
 #include "Base/Axis/Bin.h"
 #include "Base/Util/Assert.h"
+#pragma clang diagnostic push
+#pragma clang diagnostic ignored "-Wunused-parameter"
 #include <boost/geometry.hpp>
+#pragma clang diagnostic pop
 
 //! The private data for polygons to hide boost dependency from the header
 class PolygonPrivate {
diff --git a/GUI/Model/Project/DataSource.cpp b/GUI/Model/Project/DataSource.cpp
index 1744fc96e76847a1565e4c9eb1ff4853700dae1a..da44b6c8e6e81296d4b30af5612336158ab5d279 100644
--- a/GUI/Model/Project/DataSource.cpp
+++ b/GUI/Model/Project/DataSource.cpp
@@ -20,6 +20,8 @@
 #include "GUI/Model/Job/JobsSet.h"
 #include "GUI/Model/Project/ProjectDocument.h"
 
+DataSource::~DataSource() = default;
+
 QVector<Data1DItem*> DataSource::mainData1DItems() const
 {
     QVector<Data1DItem*> result;
@@ -70,6 +72,9 @@ Data2DItem* DataSource::currentData2DItem() const
     return allData2DItems().first();
 }
 
+//  ************************************************************************************************
+
+DataFromData::~DataFromData() = default;
 
 DataItem* DataFromData::realDataItem() const
 {
@@ -88,6 +93,9 @@ Data2DItem* DataFromData::realData2DItem() const
     return dynamic_cast<Data2DItem*>(realDataItem());
 }
 
+//  ************************************************************************************************
+
+DataFromJob::~DataFromJob() = default;
 
 JobItem* DataFromJob::jobxItem() const
 {
diff --git a/GUI/Model/Project/DataSource.h b/GUI/Model/Project/DataSource.h
index 297b0321db62ddc2eed40fbbf03330a9d1b4c9b8..e51efce605dd9953a7978d1c615b923f30823a3d 100644
--- a/GUI/Model/Project/DataSource.h
+++ b/GUI/Model/Project/DataSource.h
@@ -29,6 +29,7 @@ class JobItem;
 
 class DataSource {
 public:
+    virtual ~DataSource();
     virtual JobItem* jobxItem() const = 0;
 
     //... Access to concrete items:
@@ -58,6 +59,7 @@ protected:
 
 class DataFromData : public DataSource {
 public:
+    ~DataFromData() override;
     JobItem* jobxItem() const override { return nullptr; }
 
     Data1DItem* realData1DItem() const override;
@@ -69,6 +71,7 @@ private:
 
 class DataFromJob : public DataSource {
 public:
+    ~DataFromJob() override;
     JobItem* jobxItem() const override;
 
     Data1DItem* realData1DItem() const override;
diff --git a/GUI/View/Device/ScanEditor.cpp b/GUI/View/Device/ScanEditor.cpp
index 9888ef60f327bce6cfe0d08b594552d8f20fb552..bc44f084888c33556328b673b73dc3d8b1664fe6 100644
--- a/GUI/View/Device/ScanEditor.cpp
+++ b/GUI/View/Device/ScanEditor.cpp
@@ -74,7 +74,7 @@ ScanEditor::ScanEditor(QWidget* parent, InstrumentItem* instr_item, ScanItem* it
                 emit inclinationEditor->updateIndicators();
             });
 
-    connect(inclinationEditor, &AlphaScanEditor::dataChanged, [instr_item, wavelengthEditor] {
+    connect(inclinationEditor, &AlphaScanEditor::dataChanged, [wavelengthEditor] {
         emit gDoc->instruments()->currentModified();
         emit wavelengthEditor->updateData();
     });
diff --git a/GUI/View/Main/ActionManager.cpp b/GUI/View/Main/ActionManager.cpp
index 6db99776773c1a4351efb11b8ab672cd9309bed3..25729b2d8bfb209cd04d9fbd1916985065c76d37 100644
--- a/GUI/View/Main/ActionManager.cpp
+++ b/GUI/View/Main/ActionManager.cpp
@@ -151,8 +151,8 @@ void ActionManager::createMenus()
         auto* l = new QHBoxLayout(w);
         l->addWidget(new QLabel("2D plot color scheme"));
         QComboBox* box =
-            GUI::Util::createComboBox([this] { return *gApp->color_gradient_combo; },
-                                      [this](const QString& s) {
+            GUI::Util::createComboBox([] { return *gApp->color_gradient_combo; },
+                                      [](const QString& s) {
                                           gApp->color_gradient_combo->setCurrentValue(s);
                                           emit gApp->gradientChanged();
                                       },
diff --git a/GUI/View/Sample/SampleForm.cpp b/GUI/View/Sample/SampleForm.cpp
index 8bbfc94226fa55d95268969908fd2eb5ea987e23..616077b0a62974bb7e228936b8d38dc94f8ffcea 100644
--- a/GUI/View/Sample/SampleForm.cpp
+++ b/GUI/View/Sample/SampleForm.cpp
@@ -79,7 +79,7 @@ SampleForm::SampleForm(SampleItem* sampleItem, SampleEditorController* ec)
     nameEdit->setText(sampleItem->name());
     nameEdit->setFixedWidth(585);
     connect(nameEdit, &QLineEdit::textEdited,
-            [this](const QString& s) { gDoc->samplesRW()->setCurrentName(s); });
+            [](const QString& s) { gDoc->samplesRW()->setCurrentName(s); });
 
     auto* descriptionEdit = new QTextEdit;
     gLayout->addBoldRow("Description:", descriptionEdit);
@@ -88,7 +88,7 @@ SampleForm::SampleForm(SampleItem* sampleItem, SampleEditorController* ec)
     descriptionEdit->setAcceptRichText(false);
     descriptionEdit->setTabChangesFocus(true);
     descriptionEdit->setPlainText(sampleItem->description());
-    connect(descriptionEdit, &QTextEdit::textChanged, [this, descriptionEdit] {
+    connect(descriptionEdit, &QTextEdit::textChanged, [descriptionEdit] {
         gDoc->samplesRW()->setCurrentDescription(descriptionEdit->toPlainText());
     });