[poppler] cpp/poppler-document-private.h cpp/poppler-embedded-file-private.h cpp/poppler-global.cpp cpp/poppler-image.cpp cpp/poppler-image-private.h cpp/poppler-page-private.h cpp/poppler-toc-private.h fofi/FoFiBase.h fofi/FoFiIdentifier.cc goo/gfile.h goo/GooMutex.h goo/ImgWriter.h poppler/Annot.h poppler/Array.h poppler/BuiltinFont.h poppler/CachedFile.h poppler/CairoFontEngine.h poppler/CairoOutputDev.h poppler/CairoRescaleBox.h poppler/Catalog.h poppler/CharCodeToUnicode.h poppler/CMap.h poppler/Dict.h poppler/FileSpec.h poppler/FontInfo.h poppler/Form.h poppler/Function.h poppler/Gfx.cc poppler/GfxFont.h poppler/Gfx.h poppler/GfxState.cc poppler/GfxState.h poppler/GlobalParams.cc poppler/GlobalParams.h poppler/Hints.h poppler/JArithmeticDecoder.h poppler/JBIG2Stream.cc poppler/Lexer.h poppler/Link.h poppler/MarkedContentOutputDev.h poppler/Movie.h poppler/NameToCharCode.h poppler/OptionalContent.h poppler/Outline.h poppler/Page.h poppler/PageLabelInfo.h poppler/Parser.h poppler/ PDFDocBuilder.h poppler/PDFDocFactory.h poppler/PDFDoc.h poppler/PopplerCache.h poppler/PSOutputDev.cc poppler/Rendition.h poppler/SecurityHandler.cc poppler/SecurityHandler.h poppler/Sound.h poppler/SplashOutputDev.cc poppler/Stream.h poppler/StructElement.h poppler/StructTreeRoot.h poppler/TextOutputDev.cc poppler/TextOutputDev.h poppler/UnicodeMap.h poppler/XRef.cc poppler/XRef.h qt5/demos qt5/src splash/SplashBitmap.h splash/SplashClip.h splash/SplashFontEngine.h splash/SplashFontFile.h splash/SplashFontFileID.h splash/SplashFont.h splash/SplashFTFontEngine.h splash/Splash.h splash/SplashPath.h splash/SplashPattern.h splash/SplashScreen.h splash/SplashState.h splash/SplashXPath.h splash/SplashXPathScanner.h test/perf-test.cc utils/HtmlFonts.h utils/HtmlLinks.h utils/HtmlOutputDev.cc utils/HtmlOutputDev.h

Albert Astals Cid aacid at kemper.freedesktop.org
Mon Jan 8 17:44:35 UTC 2018


 cpp/poppler-document-private.h         |    4 +++
 cpp/poppler-embedded-file-private.h    |    4 +++
 cpp/poppler-global.cpp                 |    3 ++
 cpp/poppler-image-private.h            |    4 +++
 cpp/poppler-image.cpp                  |    4 ++-
 cpp/poppler-page-private.h             |    4 +++
 cpp/poppler-toc-private.h              |    4 +++
 fofi/FoFiBase.h                        |   16 +++++++++++++
 fofi/FoFiIdentifier.cc                 |    4 +++
 goo/GooMutex.h                         |    5 +++-
 goo/ImgWriter.h                        |    6 ++++-
 goo/gfile.h                            |    5 +++-
 poppler/Annot.h                        |   38 ++++++++++++++++++++++++++++++++-
 poppler/Array.h                        |    5 +++-
 poppler/BuiltinFont.h                  |   18 +++++++++++++++
 poppler/CMap.h                         |    8 ++++++
 poppler/CachedFile.h                   |    9 ++++++-
 poppler/CairoFontEngine.h              |    6 ++++-
 poppler/CairoOutputDev.h               |    4 +++
 poppler/CairoRescaleBox.h              |    4 +++
 poppler/Catalog.h                      |    9 ++++++-
 poppler/CharCodeToUnicode.h            |    8 ++++++
 poppler/Dict.h                         |    5 +++-
 poppler/FileSpec.h                     |    8 ++++++
 poppler/FontInfo.h                     |    4 ++-
 poppler/Form.h                         |    8 ++++++
 poppler/Function.h                     |    5 +++-
 poppler/Gfx.cc                         |    5 +++-
 poppler/Gfx.h                          |    8 ++++++
 poppler/GfxFont.h                      |   11 ++++++++-
 poppler/GfxState.cc                    |    2 +
 poppler/GfxState.h                     |   26 +++++++++++++++++++++-
 poppler/GlobalParams.cc                |    6 ++++-
 poppler/GlobalParams.h                 |    5 +++-
 poppler/Hints.h                        |    5 +++-
 poppler/JArithmeticDecoder.h           |   18 +++++++++++++++
 poppler/JBIG2Stream.cc                 |    4 ++-
 poppler/Lexer.h                        |    5 +++-
 poppler/Link.h                         |   10 ++++++++
 poppler/MarkedContentOutputDev.h       |    4 +++
 poppler/Movie.h                        |    3 +-
 poppler/NameToCharCode.h               |   17 ++++++++++++++
 poppler/OptionalContent.h              |   11 ++++++++-
 poppler/Outline.h                      |    8 ++++++
 poppler/PDFDoc.h                       |    5 +++-
 poppler/PDFDocBuilder.h                |    8 +++++-
 poppler/PDFDocFactory.h                |    5 +++-
 poppler/PSOutputDev.cc                 |    7 +++++-
 poppler/Page.h                         |    5 +++-
 poppler/PageLabelInfo.h                |    6 ++++-
 poppler/Parser.h                       |    5 +++-
 poppler/PopplerCache.h                 |   18 +++++++++++++--
 poppler/Rendition.h                    |    3 +-
 poppler/SecurityHandler.cc             |    5 +++-
 poppler/SecurityHandler.h              |    5 +++-
 poppler/Sound.h                        |    5 +++-
 poppler/SplashOutputDev.cc             |    4 ++-
 poppler/Stream.h                       |   14 +++++++++++-
 poppler/StructElement.h                |    5 +++-
 poppler/StructTreeRoot.h               |    4 +++
 poppler/TextOutputDev.cc               |    2 +
 poppler/TextOutputDev.h                |   29 ++++++++++++++++++++++++-
 poppler/UnicodeMap.h                   |    7 ++++++
 poppler/XRef.cc                        |    5 +++-
 poppler/XRef.h                         |    9 ++++++-
 qt5/demos/documentobserver.h           |    3 ++
 qt5/src/poppler-annotation-private.h   |    5 +++-
 qt5/src/poppler-annotation.cc          |   14 +++++++++++-
 qt5/src/poppler-converter-private.h    |    5 +++-
 qt5/src/poppler-embeddedfile-private.h |    5 +++-
 qt5/src/poppler-link-private.h         |    5 +++-
 qt5/src/poppler-media.cc               |    5 +++-
 qt5/src/poppler-movie.cc               |    5 +++-
 qt5/src/poppler-optcontent-private.h   |    5 +++-
 qt5/src/poppler-page-transition.cc     |    3 ++
 qt5/src/poppler-page-transition.h      |    3 +-
 qt5/src/poppler-private.h              |   18 ++++++---------
 qt5/src/poppler-sound.cc               |    5 +++-
 splash/Splash.h                        |    5 +++-
 splash/SplashBitmap.h                  |    5 +++-
 splash/SplashClip.h                    |    5 +++-
 splash/SplashFTFontEngine.h            |    5 +++-
 splash/SplashFont.h                    |    5 +++-
 splash/SplashFontEngine.h              |    5 +++-
 splash/SplashFontFile.h                |    8 ++++++
 splash/SplashFontFileID.h              |   16 +++++++++++++
 splash/SplashPath.h                    |   17 ++++++++++++++
 splash/SplashPattern.h                 |    4 +++
 splash/SplashScreen.h                  |    5 +++-
 splash/SplashState.h                   |    4 +++
 splash/SplashXPath.h                   |    4 +++
 splash/SplashXPathScanner.h            |    4 +++
 test/perf-test.cc                      |    4 +++
 utils/HtmlFonts.h                      |    4 ++-
 utils/HtmlLinks.h                      |    5 +++-
 utils/HtmlOutputDev.cc                 |    4 ++-
 utils/HtmlOutputDev.h                  |   13 +++++++++--
 97 files changed, 626 insertions(+), 83 deletions(-)

New commits:
commit 8794789a72f845b009656e6d7ae6a00b709e09bc
Author: Albert Astals Cid <aacid at kde.org>
Date:   Mon Jan 8 18:07:38 2018 +0100

    Delete lots of copy constructors and copy assignment operators
    
    Fixes rule-of-three and copyable-polymorphic warnings reported by clazy.
    
    The default copy constructor and copy assignment operator are
    only valid for simple classes so we delete them (i.e. make then not exist)
    when we have either a virtual class or a destructor, the code still compiles
    so this doesn't fix any bug, it is more a protection for when you think you
    can copy a class and don't realize the default copy constrcutor is not doing
    what you want and you get crashes. Hopefully this helps us in the future :)

diff --git a/cpp/poppler-document-private.h b/cpp/poppler-document-private.h
index 5ca9e146..2121f1e1 100644
--- a/cpp/poppler-document-private.h
+++ b/cpp/poppler-document-private.h
@@ -1,5 +1,6 @@
 /*
  * Copyright (C) 2009-2011, Pino Toscano <pino at kde.org>
+ * Copyright (C) 2018, Albert Astals Cid <aacid at kde.org>
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -39,6 +40,9 @@ public:
     initer();
     ~initer();
 
+    initer(const initer &) = delete;
+    initer& operator=(const initer &) = delete;
+
 private:
     static unsigned int count;
 };
diff --git a/cpp/poppler-embedded-file-private.h b/cpp/poppler-embedded-file-private.h
index 1b9b6337..b3dca2e2 100644
--- a/cpp/poppler-embedded-file-private.h
+++ b/cpp/poppler-embedded-file-private.h
@@ -1,5 +1,6 @@
 /*
  * Copyright (C) 2009, 2011, Pino Toscano <pino at kde.org>
+ * Copyright (C) 2018, Albert Astals Cid <aacid at kde.org>
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -30,6 +31,9 @@ public:
     embedded_file_private(FileSpec *fs);
     ~embedded_file_private();
 
+    embedded_file_private(const embedded_file_private &) = delete;
+    embedded_file_private& operator=(const embedded_file_private &) = delete;
+
     static embedded_file* create(FileSpec *fs);
 
     FileSpec *file_spec;
diff --git a/cpp/poppler-global.cpp b/cpp/poppler-global.cpp
index 2a16a57c..cc51e3d3 100644
--- a/cpp/poppler-global.cpp
+++ b/cpp/poppler-global.cpp
@@ -4,6 +4,7 @@
  * Copyright (C) 2014, 2015 Hans-Peter Deifel <hpdeifel at gmx.de>
  * Copyright (C) 2015, Tamas Szekeres <szekerest at gmail.com>
  * Copyright (C) 2016 Jakub Alba <jakubalba at gmail.com>
+ * Copyright (C) 2018, Albert Astals Cid <aacid at kde.org>
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -47,6 +48,8 @@ struct MiniIconv
     {}
     ~MiniIconv()
     { if (is_valid()) iconv_close(i_); }
+    MiniIconv(const MiniIconv &) = delete;
+    MiniIconv& operator=(const MiniIconv &) = delete;
     bool is_valid() const
     { return i_ != (iconv_t)-1; }
     operator iconv_t() const
diff --git a/cpp/poppler-image-private.h b/cpp/poppler-image-private.h
index 33b58741..cb3c6d90 100644
--- a/cpp/poppler-image-private.h
+++ b/cpp/poppler-image-private.h
@@ -1,5 +1,6 @@
 /*
  * Copyright (C) 2010, Pino Toscano <pino at kde.org>
+ * Copyright (C) 2018, Albert Astals Cid <aacid at kde.org>
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -30,6 +31,9 @@ public:
     image_private(int iwidth, int iheight, image::format_enum iformat);
     ~image_private();
 
+    image_private(const image_private &) = delete;
+    image_private& operator=(const image_private &) = delete;
+
     static image_private *create_data(int width, int height, image::format_enum format);
     static image_private *create_data(char *data, int width, int height, image::format_enum format);
 
diff --git a/cpp/poppler-image.cpp b/cpp/poppler-image.cpp
index de699e82..aab2bb48 100644
--- a/cpp/poppler-image.cpp
+++ b/cpp/poppler-image.cpp
@@ -1,7 +1,7 @@
 /*
  * Copyright (C) 2010-2011, Pino Toscano <pino at kde.org>
  * Copyright (C) 2013 Adrian Johnson <ajohnson at redneon.com>
- * Copyright (C) 2017, Albert Astals Cid <aacid at kde.org>
+ * Copyright (C) 2017, 2018, Albert Astals Cid <aacid at kde.org>
  * Copyright (C) 2017, Jeroen Ooms <jeroenooms at gmail.com>
  *
  * This program is free software; you can redistribute it and/or modify
@@ -49,6 +49,8 @@ struct FileCloser {
         : f(ff) {}
     inline ~FileCloser()
     { (void)close(); }
+    FileCloser(const FileCloser &) = delete;
+    FileCloser& operator=(const FileCloser &) = delete;
     inline bool close()
     { if (f) { const int c = fclose(f); f = 0; return c == 0; } return true; }
 
diff --git a/cpp/poppler-page-private.h b/cpp/poppler-page-private.h
index b208cb8e..e0c3446d 100644
--- a/cpp/poppler-page-private.h
+++ b/cpp/poppler-page-private.h
@@ -1,5 +1,6 @@
 /*
  * Copyright (C) 2009, Pino Toscano <pino at kde.org>
+ * Copyright (C) 2018, Albert Astals Cid <aacid at kde.org>
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -35,6 +36,9 @@ public:
     page_private(document_private *doc, int index);
     ~page_private();
 
+    page_private(const page_private &) = delete;
+    page_private& operator=(const page_private &) = delete;
+
     document_private *doc;
     Page *page;
     int index;
diff --git a/cpp/poppler-toc-private.h b/cpp/poppler-toc-private.h
index e8841ff7..29d439e5 100644
--- a/cpp/poppler-toc-private.h
+++ b/cpp/poppler-toc-private.h
@@ -1,5 +1,6 @@
 /*
  * Copyright (C) 2009, Pino Toscano <pino at kde.org>
+ * Copyright (C) 2018, Albert Astals Cid <aacid at kde.org>
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -49,6 +50,9 @@ public:
     toc_item_private();
     ~toc_item_private();
 
+    toc_item_private(const toc_item_private &) = delete;
+    toc_item_private& operator=(const toc_item_private &) = delete;
+
     void load(OutlineItem *item);
     void load_children(GooList *items);
 
diff --git a/fofi/FoFiBase.h b/fofi/FoFiBase.h
index d613acd2..be4e7025 100644
--- a/fofi/FoFiBase.h
+++ b/fofi/FoFiBase.h
@@ -6,6 +6,20 @@
 //
 //========================================================================
 
+//========================================================================
+//
+// Modified under the Poppler project - http://poppler.freedesktop.org
+//
+// All changes made under the Poppler project to this file are licensed
+// under GPL version 2 or later
+//
+// Copyright (C) 2018 Albert Astals Cid <aacid at kde.org>
+//
+// To see a description of the changes please see the Changelog file that
+// came with your tarball or type make ChangeLog if you are building from git
+//
+//========================================================================
+
 #ifndef FOFIBASE_H
 #define FOFIBASE_H
 
@@ -25,6 +39,8 @@ typedef void (*FoFiOutputFunc)(void *stream, const char *data, int len);
 
 class FoFiBase {
 public:
+  FoFiBase(const FoFiBase &) = delete;
+  FoFiBase& operator=(const FoFiBase &other) = delete;
 
   virtual ~FoFiBase();
 
diff --git a/fofi/FoFiIdentifier.cc b/fofi/FoFiIdentifier.cc
index 00b240fd..1e657ef2 100644
--- a/fofi/FoFiIdentifier.cc
+++ b/fofi/FoFiIdentifier.cc
@@ -14,6 +14,7 @@
 // under GPL version 2 or later
 //
 // Copyright (C) 2013 Christoph Duelli <duelli at melosgmbh.de>
+// Copyright (C) 2018 Albert Astals Cid <aacid at kde.org>
 //
 // To see a description of the changes please see the Changelog file that
 // came with your tarball or type make ChangeLog if you are building from git
@@ -36,6 +37,9 @@ namespace { // do not pollute global namespace
 
 class Reader {
 public:
+  Reader() = default;
+  Reader(const Reader &) = delete;
+  Reader& operator=(const Reader &other) = delete;
 
   virtual ~Reader() {}
 
diff --git a/goo/GooMutex.h b/goo/GooMutex.h
index 68dabc40..ed0758fa 100644
--- a/goo/GooMutex.h
+++ b/goo/GooMutex.h
@@ -17,7 +17,7 @@
 //
 // Copyright (C) 2009 Kovid Goyal <kovid at kovidgoyal.net>
 // Copyright (C) 2013 Thomas Freitag <Thomas.Freitag at alfa.de>
-// Copyright (C) 2013 Albert Astals Cid <aacid at kde.org>
+// Copyright (C) 2013, 2018 Albert Astals Cid <aacid at kde.org>
 // Copyright (C) 2013 Adam Reichold <adamreichold at myopera.com>
 // Copyright (C) 2014 Bogdan Cristea <cristeab at gmail.com>
 // Copyright (C) 2014 Peter Breitenlohner <peb at mppmu.mpg.de>
@@ -81,6 +81,9 @@ public:
   MutexLocker(GooMutex *mutexA) : mutex(mutexA) { gLockMutex(mutex); }
   ~MutexLocker() { gUnlockMutex(mutex); }
 
+  MutexLocker(const MutexLocker &) = delete;
+  MutexLocker& operator=(const MutexLocker &other) = delete;
+
 private:
   GooMutex *mutex;
 };
diff --git a/goo/ImgWriter.h b/goo/ImgWriter.h
index 8feb3511..2ab97cdb 100644
--- a/goo/ImgWriter.h
+++ b/goo/ImgWriter.h
@@ -5,7 +5,7 @@
 // This file is licensed under the GPLv2 or later
 //
 // Copyright (C) 2009 Stefan Thomas <thomas at eload24.com>
-// Copyright (C) 2009, 2011 Albert Astals Cid <aacid at kde.org>
+// Copyright (C) 2009, 2011, 2018 Albert Astals Cid <aacid at kde.org>
 // Copyright (C) 2010 Adrian Johnson <ajohnson at redneon.com>
 // Copyright (C) 2010 Brian Cameron <brian.cameron at oracle.com>
 // Copyright (C) 2011 Thomas Freitag <Thomas.Freitag at alfa.de>
@@ -20,6 +20,10 @@
 class ImgWriter
 {
 public:
+  ImgWriter() = default;
+  ImgWriter(const ImgWriter &) = delete;
+  ImgWriter& operator=(const ImgWriter &other) = delete;
+
   virtual ~ImgWriter();
   virtual bool init(FILE *f, int width, int height, int hDPI, int vDPI) = 0;
 
diff --git a/goo/gfile.h b/goo/gfile.h
index 13dfa3a0..0741a92d 100644
--- a/goo/gfile.h
+++ b/goo/gfile.h
@@ -16,7 +16,7 @@
 // under GPL version 2 or later
 //
 // Copyright (C) 2006 Kristian Høgsberg <krh at redhat.com>
-// Copyright (C) 2009, 2011, 2012, 2017 Albert Astals Cid <aacid at kde.org>
+// Copyright (C) 2009, 2011, 2012, 2017, 2018 Albert Astals Cid <aacid at kde.org>
 // Copyright (C) 2009 Kovid Goyal <kovid at kovidgoyal.net>
 // Copyright (C) 2013 Adam Reichold <adamreichold at myopera.com>
 // Copyright (C) 2013, 2017 Adrian Johnson <ajohnson at redneon.com>
@@ -137,6 +137,9 @@ extern Goffset GoffsetMax();
 class GooFile
 {
 public:
+  GooFile(const GooFile &) = delete;
+  GooFile& operator=(const GooFile &other) = delete;
+
   int read(char *buf, int n, Goffset offset) const;
   Goffset size() const;
   
diff --git a/poppler/Annot.h b/poppler/Annot.h
index 82279bdf..860d95e9 100644
--- a/poppler/Annot.h
+++ b/poppler/Annot.h
@@ -21,7 +21,7 @@
 // Copyright (C) 2008 Hugo Mercier <hmercier31 at gmail.com>
 // Copyright (C) 2008 Pino Toscano <pino at kde.org>
 // Copyright (C) 2008 Tomas Are Haavet <tomasare at gmail.com>
-// Copyright (C) 2009-2011, 2013, 2016, 2017 Albert Astals Cid <aacid at kde.org>
+// Copyright (C) 2009-2011, 2013, 2016-2018 Albert Astals Cid <aacid at kde.org>
 // Copyright (C) 2012, 2013 Fabio D'Urso <fabiodurso at hotmail.it>
 // Copyright (C) 2012, 2015 Tobias Koenig <tokoe at kdab.com>
 // Copyright (C) 2013 Thomas Freitag <Thomas.Freitag at alfa.de>
@@ -105,6 +105,9 @@ public:
   AnnotPath(AnnotCoord **coords, int coordLength);
   ~AnnotPath();
 
+  AnnotPath(const AnnotPath &) = delete;
+  AnnotPath& operator=(const AnnotPath &other) = delete;
+
   double getX(int coord) const;
   double getY(int coord) const;
   AnnotCoord *getCoord(int coord) const;
@@ -126,6 +129,9 @@ public:
   AnnotCalloutLine(double x1, double y1, double x2, double y2);
   virtual ~AnnotCalloutLine() { }
 
+  AnnotCalloutLine(const AnnotCalloutLine &) = delete;
+  AnnotCalloutLine& operator=(const AnnotCalloutLine &other) = delete;
+
   double getX1() const { return coord1.getX(); }
   double getY1() const { return coord1.getY(); }
   double getX2() const { return coord2.getX(); }
@@ -195,6 +201,9 @@ public:
   AnnotQuadrilaterals(AnnotQuadrilateral **quads, int quadsLength);
   ~AnnotQuadrilaterals();
 
+  AnnotQuadrilaterals(const AnnotQuadrilaterals &) = delete;
+  AnnotQuadrilaterals& operator=(const AnnotQuadrilaterals &other) = delete;
+
   double getX1(int quadrilateral);
   double getY1(int quadrilateral);
   double getX2(int quadrilateral);
@@ -231,6 +240,9 @@ public:
 
   virtual ~AnnotBorder();
 
+  AnnotBorder(const AnnotBorder &) = delete;
+  AnnotBorder& operator=(const AnnotBorder &other) = delete;
+
   virtual void setWidth(double new_width) { width = new_width; }
 
   virtual AnnotBorderType getType() const = 0;
@@ -429,6 +441,9 @@ public:
   AnnotAppearanceCharacs(Dict *dict);
   ~AnnotAppearanceCharacs();
 
+  AnnotAppearanceCharacs(const AnnotAppearanceCharacs &) = delete;
+  AnnotAppearanceCharacs& operator=(const AnnotAppearanceCharacs &) = delete;
+
   int getRotation() { return rotation; }
   AnnotColor *getBorderColor() { return borderColor; }
   AnnotColor *getBackColor() { return backColor; }
@@ -1420,6 +1435,9 @@ public:
     Params(Dict *dict);
     ~Params();
 
+    Params(const Params &) = delete;
+    Params& operator=(const Params &) = delete;
+
     GooString* getFlashVars() const;
 
   private:
@@ -1439,6 +1457,9 @@ public:
     Instance(Dict *dict);
     ~Instance();
 
+    Instance(const Instance &) = delete;
+    Instance& operator=(const Instance &) = delete;
+
     Type getType() const;
     Params* getParams() const;
 
@@ -1460,6 +1481,9 @@ public:
     Configuration(Dict *dict);
     ~Configuration();
 
+    Configuration(const Configuration &) = delete;
+    Configuration& operator=(const Configuration &) = delete;
+
     Type getType() const;
     GooString* getName() const;
     int getInstancesCount() const;
@@ -1480,6 +1504,9 @@ public:
     Asset();
     ~Asset();
 
+    Asset(const Asset &) = delete;
+    Asset& operator=(const Asset &) = delete;
+
     GooString* getName() const;
     Object* getFileSpec() const;
 
@@ -1495,6 +1522,9 @@ public:
     Content(Dict *dict);
     ~Content();
 
+    Content(const Content &) = delete;
+    Content& operator=(const Content &) = delete;
+
     int getConfigurationsCount() const;
     Configuration* getConfiguration(int index) const;
 
@@ -1549,6 +1579,9 @@ public:
     Settings(Dict *dict);
     ~Settings();
 
+    Settings(const Settings &) = delete;
+    Settings& operator=(const Settings &) = delete;
+
     Activation* getActivation() const;
     Deactivation* getDeactivation() const;
 
@@ -1589,6 +1622,9 @@ public:
 
   ~Annots();
 
+  Annots(const Annots &) = delete;
+  Annots& operator=(const Annots &) = delete;
+
   // Iterate through list of annotations.
   int getNumAnnots() { return nAnnots; }
   Annot *getAnnot(int i) { return annots[i]; }
diff --git a/poppler/Array.h b/poppler/Array.h
index 2babc8be..cd71c825 100644
--- a/poppler/Array.h
+++ b/poppler/Array.h
@@ -16,7 +16,7 @@
 // Copyright (C) 2005 Kristian Høgsberg <krh at redhat.com>
 // Copyright (C) 2012 Fabio D'Urso <fabiodurso at hotmail.it>
 // Copyright (C) 2013 Thomas Freitag <Thomas.Freitag at alfa.de>
-// Copyright (C) 2017 Albert Astals Cid <aacid at kde.org>
+// Copyright (C) 2017, 2018 Albert Astals Cid <aacid at kde.org>
 // Copyright (C) 2017 Adrian Johnson <ajohnson at redneon.com>
 //
 // To see a description of the changes please see the Changelog file that
@@ -50,6 +50,9 @@ public:
   // Destructor.
   ~Array();
 
+  Array(const Array &) = delete;
+  Array& operator=(const Array &) = delete;
+
   // Get number of elements.
   int getLength() const { return length; }
 
diff --git a/poppler/BuiltinFont.h b/poppler/BuiltinFont.h
index bbdd0558..754e7366 100644
--- a/poppler/BuiltinFont.h
+++ b/poppler/BuiltinFont.h
@@ -6,6 +6,20 @@
 //
 //========================================================================
 
+//========================================================================
+//
+// Modified under the Poppler project - http://poppler.freedesktop.org
+//
+// All changes made under the Poppler project to this file are licensed
+// under GPL version 2 or later
+//
+// Copyright (C) 2018 Albert Astals Cid <aacid at kde.org>
+//
+// To see a description of the changes please see the Changelog file that
+// came with your tarball or type make ChangeLog if you are building from git
+//
+//========================================================================
+
 #ifndef BUILTINFONT_H
 #define BUILTINFONT_H
 
@@ -42,6 +56,10 @@ public:
 
   BuiltinFontWidths(BuiltinFontWidth *widths, int sizeA);
   ~BuiltinFontWidths();
+
+  BuiltinFontWidths(const BuiltinFontWidths &) = delete;
+  BuiltinFontWidths& operator=(const BuiltinFontWidths &) = delete;
+
   GBool getWidth(const char *name, Gushort *width);
 
 private:
diff --git a/poppler/CMap.h b/poppler/CMap.h
index e85c086a..d1a47e07 100644
--- a/poppler/CMap.h
+++ b/poppler/CMap.h
@@ -14,7 +14,7 @@
 // under GPL version 2 or later
 //
 // Copyright (C) 2008 Koji Otani <sho at bbr.jp>
-// Copyright (C) 2009 Albert Astals Cid <aacid at kde.org>
+// Copyright (C) 2009, 2018 Albert Astals Cid <aacid at kde.org>
 // Copyright (C) 2012, 2017 Adrian Johnson <ajohnson at redneon.com>
 //
 // To see a description of the changes please see the Changelog file that
@@ -71,6 +71,9 @@ public:
 
   ~CMap();
 
+  CMap(const CMap &) = delete;
+  CMap& operator=(const CMap &) = delete;
+
   void incRefCnt();
   void decRefCnt();
 
@@ -129,6 +132,9 @@ public:
   CMapCache();
   ~CMapCache();
 
+  CMapCache(const CMapCache &) = delete;
+  CMapCache& operator=(const CMapCache &) = delete;
+
   // Get the <cMapName> CMap for the specified character collection.
   // Increments its reference count; there will be one reference for
   // the cache plus one for the caller of this function.
diff --git a/poppler/CachedFile.h b/poppler/CachedFile.h
index b99ea1ec..51edec8e 100644
--- a/poppler/CachedFile.h
+++ b/poppler/CachedFile.h
@@ -8,7 +8,7 @@
 //
 // Copyright 2009 Stefan Thomas <thomas at eload24.com>
 // Copyright 2010 Hib Eris <hib at hiberis.nl>
-// Copyright 2010 Albert Astals Cid <aacid at kde.org>
+// Copyright 2010, 2018 Albert Astals Cid <aacid at kde.org>
 //
 //========================================================================
 
@@ -47,6 +47,9 @@ public:
 
   CachedFile(CachedFileLoader *cacheLoader, GooString *uri);
 
+  CachedFile(const CachedFile &) = delete;
+  CachedFile& operator=(const CachedFile &) = delete;
+
   Guint getLength() { return length; }
   long int tell();
   int seek(long int offset, int origin);
@@ -127,8 +130,12 @@ class CachedFileLoader {
 
 public:
 
+  CachedFileLoader() = default;
   virtual ~CachedFileLoader() {};
 
+  CachedFileLoader(const CachedFileLoader &) = delete;
+  CachedFileLoader& operator=(const CachedFileLoader &) = delete;
+
   // Initializes the file load.
   // Returns the length of the file.
   // The caller is responsible for deleting uri and cachedFile.
diff --git a/poppler/CairoFontEngine.h b/poppler/CairoFontEngine.h
index 12fa598f..601fbae8 100644
--- a/poppler/CairoFontEngine.h
+++ b/poppler/CairoFontEngine.h
@@ -15,7 +15,7 @@
 // under GPL version 2 or later
 //
 // Copyright (C) 2005, 2006 Kristian Høgsberg <krh at redhat.com>
-// Copyright (C) 2005 Albert Astals Cid <aacid at kde.org>
+// Copyright (C) 2005, 2018 Albert Astals Cid <aacid at kde.org>
 // Copyright (C) 2006, 2007 Jeff Muizelaar <jeff at infidigm.net>
 // Copyright (C) 2006, 2010 Carlos Garcia Campos <carlosgc at gnome.org>
 // Copyright (C) 2008, 2017 Adrian Johnson <ajohnson at redneon.com>
@@ -51,6 +51,8 @@ public:
 	    GBool substitute,
 	    GBool printing);
   virtual ~CairoFont();
+  CairoFont(const CairoFont &) = delete;
+  CairoFont& operator=(const CairoFont &other) = delete;
 
   virtual GBool matches(Ref &other, GBool printing);
   cairo_font_face_t *getFontFace(void);
@@ -114,6 +116,8 @@ public:
   // Create a font engine.
   CairoFontEngine(FT_Library libA);
   ~CairoFontEngine();
+  CairoFontEngine(const CairoFontEngine &) = delete;
+  CairoFontEngine& operator=(const CairoFontEngine &other) = delete;
 
   CairoFont *getFont(GfxFont *gfxFont, PDFDoc *doc, GBool printing, XRef *xref);
 
diff --git a/poppler/CairoOutputDev.h b/poppler/CairoOutputDev.h
index 83ed1abf..451fa789 100644
--- a/poppler/CairoOutputDev.h
+++ b/poppler/CairoOutputDev.h
@@ -23,6 +23,7 @@
 // Copyright (C) 2010-2013 Thomas Freitag <Thomas.Freitag at alfa.de>
 // Copyright (C) 2015 Suzuki Toshiya <mpsuzuki at hiroshima-u.ac.jp>
 // Copyright (C) 2016 Jason Crain <jason at aquaticape.us>
+// Copyright (C) 2018 Albert Astals Cid <aacid at kde.org>
 //
 // To see a description of the changes please see the Changelog file that
 // came with your tarball or type make ChangeLog if you are building from git
@@ -63,6 +64,9 @@ public:
   // Destructor.
   ~CairoImage ();
 
+  CairoImage(const CairoImage &) = delete;
+  CairoImage& operator=(const CairoImage &) = delete;
+
   // Set the image cairo surface
   void setImage (cairo_surface_t *image);
   
diff --git a/poppler/CairoRescaleBox.h b/poppler/CairoRescaleBox.h
index 072e8a9c..ca307cb7 100644
--- a/poppler/CairoRescaleBox.h
+++ b/poppler/CairoRescaleBox.h
@@ -30,6 +30,7 @@
 // under GPL version 2 or later
 //
 // Copyright (C) 2012 Adrian Johnson <ajohnson at redneon.com>
+// Copyright (C) 2018 Albert Astals Cid <aacid at kde.org>
 //
 // To see a description of the changes please see the Changelog file that
 // came with your tarball or type make ChangeLog if you are building from git
@@ -48,6 +49,9 @@ public:
   CairoRescaleBox() {};
   virtual ~CairoRescaleBox() {};
 
+  CairoRescaleBox(const CairoRescaleBox &) = delete;
+  CairoRescaleBox& operator=(const CairoRescaleBox &) = delete;
+
   virtual GBool downScaleImage(unsigned orig_width, unsigned orig_height,
                                signed scaled_width, signed scaled_height,
                                unsigned short int start_column, unsigned short int start_row,
diff --git a/poppler/Catalog.h b/poppler/Catalog.h
index a2dd7fde..4acb67fc 100644
--- a/poppler/Catalog.h
+++ b/poppler/Catalog.h
@@ -14,7 +14,7 @@
 // under GPL version 2 or later
 //
 // Copyright (C) 2005 Kristian Høgsberg <krh at redhat.com>
-// Copyright (C) 2005, 2007, 2009-2011, 2013, 2017 Albert Astals Cid <aacid at kde.org>
+// Copyright (C) 2005, 2007, 2009-2011, 2013, 2017, 2018 Albert Astals Cid <aacid at kde.org>
 // Copyright (C) 2005 Jonathan Blandford <jrb at redhat.com>
 // Copyright (C) 2005, 2006, 2008 Brad Hards <bradh at frogmouth.net>
 // Copyright (C) 2007 Julien Rebetez <julienr at svn.gnome.org>
@@ -68,6 +68,10 @@ class NameTree {
 public:
   NameTree();
   ~NameTree();
+
+  NameTree(const NameTree &) = delete;
+  NameTree& operator=(const NameTree &) = delete;
+
   void init(XRef *xref, Object *tree);
   Object lookup(GooString *name);
   int numEntries() { return length; };
@@ -110,6 +114,9 @@ public:
   // Destructor.
   ~Catalog();
 
+  Catalog(const Catalog &) = delete;
+  Catalog& operator=(const Catalog &) = delete;
+
   // Is catalog valid?
   GBool isOk() { return ok; }
 
diff --git a/poppler/CharCodeToUnicode.h b/poppler/CharCodeToUnicode.h
index e2b12ae3..13572217 100644
--- a/poppler/CharCodeToUnicode.h
+++ b/poppler/CharCodeToUnicode.h
@@ -17,7 +17,7 @@
 //
 // Copyright (C) 2007 Julien Rebetez <julienr at svn.gnome.org>
 // Copyright (C) 2007 Koji Otani <sho at bbr.jp>
-// Copyright (C) 2008, 2011, 2012 Albert Astals Cid <aacid at kde.org>
+// Copyright (C) 2008, 2011, 2012, 2018 Albert Astals Cid <aacid at kde.org>
 // Copyright (C) 2017 Adrian Johnson <ajohnson at redneon.com>
 //
 // To see a description of the changes please see the Changelog file that
@@ -78,6 +78,9 @@ public:
 
   ~CharCodeToUnicode();
 
+  CharCodeToUnicode(const CharCodeToUnicode &) = delete;
+  CharCodeToUnicode& operator=(const CharCodeToUnicode &) = delete;
+
   void incRefCnt();
   void decRefCnt();
 
@@ -130,6 +133,9 @@ public:
   CharCodeToUnicodeCache(int sizeA);
   ~CharCodeToUnicodeCache();
 
+  CharCodeToUnicodeCache(const CharCodeToUnicodeCache &) = delete;
+  CharCodeToUnicodeCache& operator=(const CharCodeToUnicodeCache &) = delete;
+
   // Get the CharCodeToUnicode object for <tag>.  Increments its
   // reference count; there will be one reference for the cache plus
   // one for the caller of this function.  Returns NULL on failure.
diff --git a/poppler/Dict.h b/poppler/Dict.h
index 328f422c..9fd732a1 100644
--- a/poppler/Dict.h
+++ b/poppler/Dict.h
@@ -16,7 +16,7 @@
 // Copyright (C) 2005 Kristian Høgsberg <krh at redhat.com>
 // Copyright (C) 2006 Krzysztof Kowalczyk <kkowalczyk at gmail.com>
 // Copyright (C) 2007-2008 Julien Rebetez <julienr at svn.gnome.org>
-// Copyright (C) 2010, 2017 Albert Astals Cid <aacid at kde.org>
+// Copyright (C) 2010, 2017, 2018 Albert Astals Cid <aacid at kde.org>
 // Copyright (C) 2010 Paweł Wiejacha <pawel.wiejacha at gmail.com>
 // Copyright (C) 2013 Thomas Freitag <Thomas.Freitag at alfa.de>
 // Copyright (C) 2017 Adrian Johnson <ajohnson at redneon.com>
@@ -57,6 +57,9 @@ public:
   // Destructor.
   ~Dict();
 
+  Dict(const Dict &) = delete;
+  Dict& operator=(const Dict &) = delete;
+
   // Get number of entries.
   int getLength() const { return length; }
 
diff --git a/poppler/FileSpec.h b/poppler/FileSpec.h
index 6133117b..28394650 100644
--- a/poppler/FileSpec.h
+++ b/poppler/FileSpec.h
@@ -6,7 +6,7 @@
 // under GPL version 2 or later
 //
 // Copyright (C) 2008 Carlos Garcia Campos <carlosgc at gnome.org>
-// Copyright (C) 2017 Albert Astals Cid <aacid at kde.org>
+// Copyright (C) 2017, 2018 Albert Astals Cid <aacid at kde.org>
 //
 // To see a description of the changes please see the Changelog file that
 // came with your tarball or type make ChangeLog if you are building from git
@@ -27,6 +27,9 @@ public:
   EmbFile(Object *efStream);
   ~EmbFile();
 
+  EmbFile(const EmbFile &) = delete;
+  EmbFile& operator=(const EmbFile &) = delete;
+
   int size() { return m_size; }
   GooString *modDate() { return m_modDate; }
   GooString *createDate() { return m_createDate; }
@@ -53,6 +56,9 @@ public:
   FileSpec(Object *fileSpec);
   ~FileSpec();
 
+  FileSpec(const FileSpec &) = delete;
+  FileSpec& operator=(const FileSpec &) = delete;
+
   GBool isOk() { return ok; }
 
   GooString *getFileName() const { return fileName; }
diff --git a/poppler/FontInfo.h b/poppler/FontInfo.h
index 615b6793..f6501466 100644
--- a/poppler/FontInfo.h
+++ b/poppler/FontInfo.h
@@ -3,7 +3,7 @@
 // FontInfo.h
 //
 // Copyright (C) 2005 Kristian Høgsberg <krh at redhat.com>
-// Copyright (C) 2005-2008, 2010, 2011 Albert Astals Cid <aacid at kde.org>
+// Copyright (C) 2005-2008, 2010, 2011, 2018 Albert Astals Cid <aacid at kde.org>
 // Copyright (C) 2005 Brad Hards <bradh at frogmouth.net>
 // Copyright (C) 2009 Pino Toscano <pino at kde.org>
 // Copyright (C) 2012 Adrian Johnson <ajohnson at redneon.com>
@@ -56,6 +56,8 @@ public:
   // Destructor.
   ~FontInfo();
 
+  FontInfo& operator=(const FontInfo &) = delete;
+
   GooString *getName()      { return name; };
   GooString *getSubstituteName() { return substituteName; };
   GooString *getFile()      { return file; };
diff --git a/poppler/Form.h b/poppler/Form.h
index 8e72334d..5eaeb420 100644
--- a/poppler/Form.h
+++ b/poppler/Form.h
@@ -6,7 +6,7 @@
 //
 // Copyright 2006 Julien Rebetez <julienr at svn.gnome.org>
 // Copyright 2007, 2008, 2011 Carlos Garcia Campos <carlosgc at gnome.org>
-// Copyright 2007-2010, 2012, 2015-2017 Albert Astals Cid <aacid at kde.org>
+// Copyright 2007-2010, 2012, 2015-2018 Albert Astals Cid <aacid at kde.org>
 // Copyright 2010 Mark Riedesel <mark at klowner.com>
 // Copyright 2011 Pino Toscano <pino at kde.org>
 // Copyright 2012 Fabio D'Urso <fabiodurso at hotmail.it>
@@ -563,6 +563,9 @@ public:
 
   ~Form();
 
+  Form(const Form &) = delete;
+  Form& operator=(const Form &) = delete;
+
   // Look up an inheritable field dictionary entry.
   static Object fieldLookup(Dict *field, const char *key);
   
@@ -611,6 +614,9 @@ public:
   FormPageWidgets (Annots* annots, unsigned int page, Form *form);
   ~FormPageWidgets();
   
+  FormPageWidgets(const FormPageWidgets &) = delete;
+  FormPageWidgets& operator=(const FormPageWidgets &) = delete;
+
   int getNumWidgets() const { return numWidgets; }
   FormWidget* getWidget(int i) const { return widgets[i]; }
 
diff --git a/poppler/Function.h b/poppler/Function.h
index 56e5495d..65b53251 100644
--- a/poppler/Function.h
+++ b/poppler/Function.h
@@ -13,7 +13,7 @@
 // All changes made under the Poppler project to this file are licensed
 // under GPL version 2 or later
 //
-// Copyright (C) 2009, 2010 Albert Astals Cid <aacid at kde.org>
+// Copyright (C) 2009, 2010, 2018 Albert Astals Cid <aacid at kde.org>
 // Copyright (C) 2010 Christian Feuersänger <cfeuersaenger at googlemail.com>
 // Copyright (C) 2011 Andrea Canciani <ranma42 at gmail.com>
 // Copyright (C) 2012 Thomas Freitag <Thomas.Freitag at alfa.de>
@@ -56,6 +56,9 @@ public:
 
   virtual ~Function();
 
+  Function(const Function &) = delete;
+  Function& operator=(const Function &other) = delete;
+
   // Construct a function.  Returns NULL if unsuccessful.
   static Function *parse(Object *funcObj);
 
diff --git a/poppler/Gfx.cc b/poppler/Gfx.cc
index fd40dd97..62b109a5 100644
--- a/poppler/Gfx.cc
+++ b/poppler/Gfx.cc
@@ -14,7 +14,7 @@
 // under GPL version 2 or later
 //
 // Copyright (C) 2005 Jonathan Blandford <jrb at redhat.com>
-// Copyright (C) 2005-2013, 2015-2017 Albert Astals Cid <aacid at kde.org>
+// Copyright (C) 2005-2013, 2015-2018 Albert Astals Cid <aacid at kde.org>
 // Copyright (C) 2006 Thorkild Stray <thorkild at ifi.uio.no>
 // Copyright (C) 2006 Kristian Høgsberg <krh at redhat.com>
 // Copyright (C) 2006-2011 Carlos Garcia Campos <carlosgc at gnome.org>
@@ -5115,6 +5115,9 @@ struct GfxStackStateSaver {
     gfx->restoreState();
   }
 
+  GfxStackStateSaver(const GfxStackStateSaver &) = delete;
+  GfxStackStateSaver& operator=(const GfxStackStateSaver &) = delete;
+
   Gfx * const gfx;
 };
 
diff --git a/poppler/Gfx.h b/poppler/Gfx.h
index 293f4551..8e2f66cc 100644
--- a/poppler/Gfx.h
+++ b/poppler/Gfx.h
@@ -17,7 +17,7 @@
 // Copyright (C) 2007 Iñigo Martínez <inigomartinez at gmail.com>
 // Copyright (C) 2008 Brad Hards <bradh at kde.org>
 // Copyright (C) 2008, 2010 Carlos Garcia Campos <carlosgc at gnome.org>
-// Copyright (C) 2009-2013, 2017 Albert Astals Cid <aacid at kde.org>
+// Copyright (C) 2009-2013, 2017, 2018 Albert Astals Cid <aacid at kde.org>
 // Copyright (C) 2009, 2010, 2012, 2013 Thomas Freitag <Thomas.Freitag at alfa.de>
 // Copyright (C) 2010 David Benjamin <davidben at mit.edu>
 // Copyright (C) 2010 Christian Feuersänger <cfeuersaenger at googlemail.com>
@@ -112,6 +112,9 @@ public:
   GfxResources(XRef *xref, Dict *resDict, GfxResources *nextA);
   ~GfxResources();
 
+  GfxResources(const GfxResources &) = delete;
+  GfxResources& operator=(const GfxResources &other) = delete;
+
   GfxFont *lookupFont(char *name);
   Object lookupXObject(char *name);
   Object lookupXObjectNF(char *name);
@@ -161,6 +164,9 @@ public:
 #endif
   ~Gfx();
 
+  Gfx(const Gfx &) = delete;
+  Gfx& operator=(const Gfx &other) = delete;
+
   XRef *getXRef() { return xref; }
 
   // Interpret a stream or array of streams.
diff --git a/poppler/GfxFont.h b/poppler/GfxFont.h
index 5985912a..00df389a 100644
--- a/poppler/GfxFont.h
+++ b/poppler/GfxFont.h
@@ -13,7 +13,7 @@
 // All changes made under the Poppler project to this file are licensed
 // under GPL version 2 or later
 //
-// Copyright (C) 2005, 2008, 2015, 2017 Albert Astals Cid <aacid at kde.org>
+// Copyright (C) 2005, 2008, 2015, 2017, 2018 Albert Astals Cid <aacid at kde.org>
 // Copyright (C) 2006 Takashi Iwai <tiwai at suse.de>
 // Copyright (C) 2006 Kristian Høgsberg <krh at redhat.com>
 // Copyright (C) 2007 Julien Rebetez <julienr at svn.gnome.org>
@@ -114,6 +114,9 @@ public:
   GfxFontLoc();
   ~GfxFontLoc();
 
+  GfxFontLoc(const GfxFontLoc &) = delete;
+  GfxFontLoc& operator=(const GfxFontLoc &) = delete;
+
   GfxFontLocType locType;
   GfxFontType fontType;
   Ref embFontID;		// embedded stream obj ID
@@ -176,6 +179,9 @@ public:
   GfxFont(const char *tagA, Ref idA, GooString *nameA,
 	  GfxFontType typeA, Ref embFontIDA);
 
+  GfxFont(const GfxFont &) = delete;
+  GfxFont& operator=(const GfxFont &other) = delete;
+
   GBool isOk() { return ok; }
 
   void incRefCnt();
@@ -440,6 +446,9 @@ public:
   // Destructor.
   ~GfxFontDict();
 
+  GfxFontDict(const GfxFontDict &) = delete;
+  GfxFontDict& operator=(const GfxFontDict &) = delete;
+
   // Get the specified font.
   GfxFont *lookup(char *tag);
 
diff --git a/poppler/GfxState.cc b/poppler/GfxState.cc
index 93463d42..68224f86 100644
--- a/poppler/GfxState.cc
+++ b/poppler/GfxState.cc
@@ -4620,6 +4620,8 @@ public:
 
   GfxShadingBitBuf(Stream *strA);
   ~GfxShadingBitBuf();
+  GfxShadingBitBuf(const GfxShadingBitBuf &) = delete;
+  GfxShadingBitBuf& operator=(const GfxShadingBitBuf &) = delete;
   GBool getBits(int n, Guint *val);
   void flushBits();
 
diff --git a/poppler/GfxState.h b/poppler/GfxState.h
index bfbf53cd..6f4ae9a7 100644
--- a/poppler/GfxState.h
+++ b/poppler/GfxState.h
@@ -17,7 +17,7 @@
 // Copyright (C) 2006, 2007 Jeff Muizelaar <jeff at infidigm.net>
 // Copyright (C) 2006 Carlos Garcia Campos <carlosgc at gnome.org>
 // Copyright (C) 2009 Koji Otani <sho at bbr.jp>
-// Copyright (C) 2009-2011, 2013, 2016, 2017 Albert Astals Cid <aacid at kde.org>
+// Copyright (C) 2009-2011, 2013, 2016-2018 Albert Astals Cid <aacid at kde.org>
 // Copyright (C) 2010 Christian Feuersänger <cfeuersaenger at googlemail.com>
 // Copyright (C) 2011 Andrea Canciani <ranma42 at gmail.com>
 // Copyright (C) 2011-2014, 2016 Thomas Freitag <Thomas.Freitag at alfa.de>
@@ -196,6 +196,8 @@ public:
   // transformA should be a cmsHTRANSFORM
   GfxColorTransform(void *transformA, int cmsIntent, unsigned int inputPixelType, unsigned int transformPixelType);
   ~GfxColorTransform();
+  GfxColorTransform(const GfxColorTransform &) = delete;
+  GfxColorTransform& operator=(const GfxColorTransform &) = delete;
   int getIntent() { return cmsIntent; }
   int getInputPixelType() { return inputPixelType; }
   int getTransformPixelType() { return transformPixelType; }
@@ -215,6 +217,10 @@ public:
 
   GfxColorSpace();
   virtual ~GfxColorSpace();
+
+  GfxColorSpace(const GfxColorSpace &) = delete;
+  GfxColorSpace& operator=(const GfxColorSpace &other) = delete;
+
   virtual GfxColorSpace *copy() = 0;
   virtual GfxColorSpaceMode getMode() = 0;
 
@@ -766,6 +772,9 @@ public:
   GfxPattern(int typeA, int patternRefNumA);
   virtual ~GfxPattern();
 
+  GfxPattern(const GfxPattern &) = delete;
+  GfxPattern& operator=(const GfxPattern &other) = delete;
+
   static GfxPattern *parse(GfxResources *res, Object *obj, OutputDev *out, GfxState *state, int patternRefNum);
 
   virtual GfxPattern *copy() = 0;
@@ -852,6 +861,9 @@ public:
   GfxShading(GfxShading *shading);
   virtual ~GfxShading();
 
+  GfxShading(const GfxShading &) = delete;
+  GfxShading& operator=(const GfxShading &other) = delete;
+
   static GfxShading *parse(GfxResources *res, Object *obj, OutputDev *out, GfxState *state);
 
   virtual GfxShading *copy() = 0;
@@ -1175,6 +1187,9 @@ public:
   // Destructor.
   ~GfxImageColorMap();
 
+  GfxImageColorMap(const GfxImageColorMap &) = delete;
+  GfxImageColorMap& operator=(const GfxImageColorMap &) = delete;
+
   // Return a copy of this color map.
   GfxImageColorMap *copy() { return new GfxImageColorMap(this); }
 
@@ -1248,6 +1263,9 @@ public:
   // Destructor.
   ~GfxSubpath();
 
+  GfxSubpath(const GfxSubpath &) = delete;
+  GfxSubpath& operator=(const GfxSubpath &) = delete;
+
   // Copy.
   GfxSubpath *copy() { return new GfxSubpath(this); }
 
@@ -1299,6 +1317,9 @@ public:
   // Destructor.
   ~GfxPath();
 
+  GfxPath(const GfxPath &) = delete;
+  GfxPath& operator=(const GfxPath &) = delete;
+
   // Copy.
   GfxPath *copy()
     { return new GfxPath(justMoved, firstX, firstY, subpaths, n, size); }
@@ -1419,6 +1440,9 @@ public:
   // Destructor.
   ~GfxState();
 
+  GfxState(const GfxState &) = delete;
+  GfxState& operator=(const GfxState &) = delete;
+
   // Copy.
   GfxState *copy(GBool copyPath = gFalse)
     { return new GfxState(this, copyPath); }
diff --git a/poppler/GlobalParams.cc b/poppler/GlobalParams.cc
index 1f2b4ec0..fafd8932 100644
--- a/poppler/GlobalParams.cc
+++ b/poppler/GlobalParams.cc
@@ -15,7 +15,7 @@
 //
 // Copyright (C) 2005 Martin Kretzschmar <martink at gnome.org>
 // Copyright (C) 2005, 2006 Kristian Høgsberg <krh at redhat.com>
-// Copyright (C) 2005, 2007-2010, 2012, 2015, 2017 Albert Astals Cid <aacid at kde.org>
+// Copyright (C) 2005, 2007-2010, 2012, 2015, 2017, 2018 Albert Astals Cid <aacid at kde.org>
 // Copyright (C) 2005 Jonathan Blandford <jrb at redhat.com>
 // Copyright (C) 2006, 2007 Jeff Muizelaar <jeff at infidigm.net>
 // Copyright (C) 2006 Takashi Iwai <tiwai at suse.de>
@@ -210,6 +210,8 @@ public:
   SysFontInfo(GooString *nameA, GBool boldA, GBool italicA, GBool obliqueA, GBool fixedWidthA,
 	      GooString *pathA, SysFontType typeA, int fontNumA, GooString *substituteNameA);
   ~SysFontInfo();
+  SysFontInfo(const SysFontInfo &) = delete;
+  SysFontInfo& operator=(const SysFontInfo&) = delete;
   GBool match(SysFontInfo *fi);
   GBool match(GooString *nameA, GBool boldA, GBool italicA, GBool obliqueA, GBool fixedWidthA);
   GBool match(GooString *nameA, GBool boldA, GBool italicA);
@@ -258,6 +260,8 @@ public:
 
   SysFontList();
   ~SysFontList();
+  SysFontList(const SysFontList &) = delete;
+  SysFontList& operator=(const SysFontList &) = delete;
   SysFontInfo *find(GooString *name, GBool isFixedWidth, GBool exact);
 
 #ifdef _WIN32
diff --git a/poppler/GlobalParams.h b/poppler/GlobalParams.h
index 7c61ae44..e3d660cf 100644
--- a/poppler/GlobalParams.h
+++ b/poppler/GlobalParams.h
@@ -13,7 +13,7 @@
 // All changes made under the Poppler project to this file are licensed
 // under GPL version 2 or later
 //
-// Copyright (C) 2005, 2007-2010, 2012, 2015, 2017 Albert Astals Cid <aacid at kde.org>
+// Copyright (C) 2005, 2007-2010, 2012, 2015, 2017, 2018 Albert Astals Cid <aacid at kde.org>
 // Copyright (C) 2005 Jonathan Blandford <jrb at redhat.com>
 // Copyright (C) 2006 Takashi Iwai <tiwai at suse.de>
 // Copyright (C) 2006 Kristian Høgsberg <krh at redhat.com>
@@ -108,6 +108,9 @@ public:
 
   ~GlobalParams();
 
+  GlobalParams(const GlobalParams &) = delete;
+  GlobalParams& operator=(const GlobalParams &) = delete;
+
   void setupBaseFonts(char *dir);
 
   //----- accessors
diff --git a/poppler/Hints.h b/poppler/Hints.h
index f9d05dae..a9062265 100644
--- a/poppler/Hints.h
+++ b/poppler/Hints.h
@@ -5,7 +5,7 @@
 // This file is licensed under the GPLv2 or later
 //
 // Copyright 2010 Hib Eris <hib at hiberis.nl>
-// Copyright 2010, 2013, 2016 Albert Astals Cid <aacid at kde.org>
+// Copyright 2010, 2013, 2016, 2018 Albert Astals Cid <aacid at kde.org>
 // Copyright 2013 Adrian Johnson <ajohnson at redneon.com>
 //
 //========================================================================
@@ -33,6 +33,9 @@ public:
   Hints(BaseStream *str, Linearization *linearization, XRef *xref, SecurityHandler *secHdlr);
   ~Hints();
 
+  Hints(const Hints &) = delete;
+  Hints& operator=(const Hints &) = delete;
+
   GBool isOk() const;
 
   int getPageObjectNum(int page);
diff --git a/poppler/JArithmeticDecoder.h b/poppler/JArithmeticDecoder.h
index 3c3e6fed..cb8f481f 100644
--- a/poppler/JArithmeticDecoder.h
+++ b/poppler/JArithmeticDecoder.h
@@ -8,6 +8,20 @@
 //
 //========================================================================
 
+//========================================================================
+//
+// Modified under the Poppler project - http://poppler.freedesktop.org
+//
+// All changes made under the Poppler project to this file are licensed
+// under GPL version 2 or later
+//
+// Copyright (C) 2018 Albert Astals Cid <aacid at kde.org>
+//
+// To see a description of the changes please see the Changelog file that
+// came with your tarball or type make ChangeLog if you are building from git
+//
+//========================================================================
+
 #ifndef JARITHMETICDECODER_H
 #define JARITHMETICDECODER_H
 
@@ -28,6 +42,8 @@ public:
 
   JArithmeticDecoderStats(int contextSizeA);
   ~JArithmeticDecoderStats();
+  JArithmeticDecoderStats(const JArithmeticDecoderStats &) = delete;
+  JArithmeticDecoderStats& operator=(const JArithmeticDecoderStats &) = delete;
   JArithmeticDecoderStats *copy();
   void reset();
   int getContextSize() { return contextSize; }
@@ -51,6 +67,8 @@ public:
 
   JArithmeticDecoder();
   ~JArithmeticDecoder();
+  JArithmeticDecoder(const JArithmeticDecoder &) = delete;
+  JArithmeticDecoder& operator=(const JArithmeticDecoder &) = delete;
 
   void setStream(Stream *strA)
     { str = strA; dataLen = 0; limitStream = gFalse; }
diff --git a/poppler/JBIG2Stream.cc b/poppler/JBIG2Stream.cc
index bda7f42e..90078ec3 100644
--- a/poppler/JBIG2Stream.cc
+++ b/poppler/JBIG2Stream.cc
@@ -15,7 +15,7 @@
 //
 // Copyright (C) 2006 Raj Kumar <rkumar at archive.org>
 // Copyright (C) 2006 Paul Walmsley <paul at booyaka.com>
-// Copyright (C) 2006-2010, 2012, 2014-2017 Albert Astals Cid <aacid at kde.org>
+// Copyright (C) 2006-2010, 2012, 2014-2018 Albert Astals Cid <aacid at kde.org>
 // Copyright (C) 2009 David Benjamin <davidben at mit.edu>
 // Copyright (C) 2011 Edward Jiang <ejiang at google.com>
 // Copyright (C) 2012 William Bader <williambader at hotmail.com>
@@ -651,6 +651,8 @@ public:
 
   JBIG2Segment(Guint segNumA) { segNum = segNumA; }
   virtual ~JBIG2Segment() {}
+  JBIG2Segment(const JBIG2Segment &) = delete;
+  JBIG2Segment& operator=(const JBIG2Segment &) = delete;
   void setSegNum(Guint segNumA) { segNum = segNumA; }
   Guint getSegNum() { return segNum; }
   virtual JBIG2SegmentType getType() = 0;
diff --git a/poppler/Lexer.h b/poppler/Lexer.h
index ac3334c5..eb692a5c 100644
--- a/poppler/Lexer.h
+++ b/poppler/Lexer.h
@@ -13,7 +13,7 @@
 // All changes made under the Poppler project to this file are licensed
 // under GPL version 2 or later
 //
-// Copyright (C) 2006, 2007, 2010, 2013, 2017 Albert Astals Cid <aacid at kde.org>
+// Copyright (C) 2006, 2007, 2010, 2013, 2017, 2018 Albert Astals Cid <aacid at kde.org>
 // Copyright (C) 2006 Krzysztof Kowalczyk <kkowalczyk at gmail.com>
 // Copyright (C) 2013 Adrian Johnson <ajohnson at redneon.com>
 // Copyright (C) 2013 Thomas Freitag <Thomas.Freitag at alfa.de>
@@ -55,6 +55,9 @@ public:
   // Destructor.
   ~Lexer();
 
+  Lexer(const Lexer &) = delete;
+  Lexer& operator=(const Lexer &) = delete;
+
   // Get the next object from the input stream.
   Object getObj(int objNum = -1);
   Object getObj(const char *cmdA, int objNum);
diff --git a/poppler/Link.h b/poppler/Link.h
index df44a49f..f97ec024 100644
--- a/poppler/Link.h
+++ b/poppler/Link.h
@@ -17,6 +17,7 @@
 // Copyright (C) 2008 Hugo Mercier <hmercier31 at gmail.com>
 // Copyright (C) 2010, 2011 Carlos Garcia Campos <carlosgc at gnome.org>
 // Copyright (C) 2012 Tobias Koening <tobias.koenig at kdab.com>
+// Copyright (C) 2018 Albert Astals Cid <aacid at kde.org>
 //
 // To see a description of the changes please see the Changelog file that
 // came with your tarball or type make ChangeLog if you are building from git
@@ -62,6 +63,10 @@ enum LinkActionKind {
 class LinkAction {
 public:
 
+  LinkAction() = default;
+  LinkAction(const LinkAction &) = delete;
+  LinkAction& operator=(const LinkAction &other) = delete;
+
   // Destructor.
   virtual ~LinkAction() {}
 
@@ -431,6 +436,8 @@ public:
   struct StateList {
     StateList() { list = NULL; }
     ~StateList();
+    StateList(const StateList &) = delete;
+    StateList& operator=(const StateList &) = delete;
     State st;
     GooList *list;
   };
@@ -481,6 +488,9 @@ public:
   // Destructor.
   ~Links();
 
+  Links(const Links &) = delete;
+  Links& operator=(const Links &) = delete;
+
   // Iterate through list of links.
   int getNumLinks() const { return numLinks; }
   AnnotLink *getLink(int i) const { return links[i]; }
diff --git a/poppler/MarkedContentOutputDev.h b/poppler/MarkedContentOutputDev.h
index 5b9de05f..e2b69aed 100644
--- a/poppler/MarkedContentOutputDev.h
+++ b/poppler/MarkedContentOutputDev.h
@@ -5,6 +5,7 @@
 // This file is licensed under the GPLv2 or later
 //
 // Copyright 2013 Igalia S.L.
+// Copyright 2018 Albert Astals Cid <aacid at kde.org>
 //
 //========================================================================
 
@@ -72,6 +73,9 @@ private:
         font->decRefCnt();
       delete text;
     }
+
+    Data(const Data &) = delete;
+    Data& operator=(const Data &) = delete;
   };
 
   Data *data;
diff --git a/poppler/Movie.h b/poppler/Movie.h
index c0fcd8f4..65379167 100644
--- a/poppler/Movie.h
+++ b/poppler/Movie.h
@@ -5,7 +5,7 @@
 //---------------------------------------------------------------------------------
 // Hugo Mercier <hmercier31[at]gmail.com> (c) 2008
 // Carlos Garcia Campos <carlosgc at gnome.org> (c) 2010
-// Albert Astals Cid <aacid at kde.org> (c) 2017
+// Albert Astals Cid <aacid at kde.org> (c) 2017, 2018
 //
 // This program is free software; you can redistribute it and/or modify
 // it under the terms of the GNU General Public License as published by
@@ -74,6 +74,7 @@ class Movie {
   Movie(Object *objMovie);
   Movie(const Movie &movie);
   ~Movie();
+  Movie& operator=(const Movie &) = delete;
 
   GBool isOk() { return ok; }
   MovieActivationParameters* getActivationParameters() { return &MA; }
diff --git a/poppler/NameToCharCode.h b/poppler/NameToCharCode.h
index 5b1092bb..da4c9c6a 100644
--- a/poppler/NameToCharCode.h
+++ b/poppler/NameToCharCode.h
@@ -6,6 +6,20 @@
 //
 //========================================================================
 
+//========================================================================
+//
+// Modified under the Poppler project - http://poppler.freedesktop.org
+//
+// All changes made under the Poppler project to this file are licensed
+// under GPL version 2 or later
+//
+// Copyright (C) 2018 Albert Astals Cid <aacid at kde.org>
+//
+// To see a description of the changes please see the Changelog file that
+// came with your tarball or type make ChangeLog if you are building from git
+//
+//========================================================================
+
 #ifndef NAMETOCHARCODE_H
 #define NAMETOCHARCODE_H
 
@@ -25,6 +39,9 @@ public:
   NameToCharCode();
   ~NameToCharCode();
 
+  NameToCharCode(const NameToCharCode &) = delete;
+  NameToCharCode& operator=(const NameToCharCode &) = delete;
+
   void add(const char *name, CharCode c);
   CharCode lookup(const char *name);
 
diff --git a/poppler/OptionalContent.h b/poppler/OptionalContent.h
index 2e416462..a8c05b30 100644
--- a/poppler/OptionalContent.h
+++ b/poppler/OptionalContent.h
@@ -4,7 +4,7 @@
 //
 // Copyright 2007 Brad Hards <bradh at kde.org>
 // Copyright 2008 Carlos Garcia Campos <carlosgc at gnome.org>
-// Copyright 2013 Albert Astals Cid <aacid at kde.org>
+// Copyright 2013, 2018 Albert Astals Cid <aacid at kde.org>
 //
 // Released under the GPL (version 2, or later, at your option)
 //
@@ -35,6 +35,9 @@ public:
   OCGs(Object *ocgObject, XRef *xref);
   ~OCGs();
 
+  OCGs(const OCGs &) = delete;
+  OCGs& operator=(const OCGs &) = delete;
+
   // Is OCGS valid?
   GBool isOk() { return ok; }
   
@@ -90,6 +93,9 @@ public:
 
   ~OptionalContentGroup();
 
+  OptionalContentGroup(const OptionalContentGroup &) = delete;
+  OptionalContentGroup& operator=(const OptionalContentGroup &) = delete;
+
   GooString* getName() const;
 
   Ref getRef() const;
@@ -118,6 +124,9 @@ public:
   OCDisplayNode();
   ~OCDisplayNode();
 
+  OCDisplayNode(const OCDisplayNode &) = delete;
+  OCDisplayNode& operator=(const OCDisplayNode &) = delete;
+
   GooString *getName() { return name; }
   OptionalContentGroup *getOCG() { return ocg; }
   int getNumChildren();
diff --git a/poppler/Outline.h b/poppler/Outline.h
index 1585d0e4..1584ddcb 100644
--- a/poppler/Outline.h
+++ b/poppler/Outline.h
@@ -14,7 +14,7 @@
 // under GPL version 2 or later
 //
 // Copyright (C) 2005 Marco Pesenti Gritti <mpg at redhat.com>
-// Copyright (C) 2016 Albert Astals Cid <aacid at kde.org>
+// Copyright (C) 2016, 2018 Albert Astals Cid <aacid at kde.org>
 //
 // To see a description of the changes please see the Changelog file that
 // came with your tarball or type make ChangeLog if you are building from git
@@ -44,6 +44,9 @@ public:
   Outline(Object *outlineObj, XRef *xref);
   ~Outline();
 
+  Outline(const Outline &) = delete;
+  Outline& operator=(const Outline &) = delete;
+
   GooList *getItems() { return items; }
 
 private:
@@ -60,6 +63,9 @@ public:
   OutlineItem(Dict *dict, int refNumA, OutlineItem *parentA, XRef *xrefA);
   ~OutlineItem();
 
+  OutlineItem(const OutlineItem &) = delete;
+  OutlineItem& operator=(const OutlineItem &) = delete;
+
   static GooList *readItemList(OutlineItem *parent, Object *firstItemRef, XRef *xrefA);
 
   void open();
diff --git a/poppler/PDFDoc.h b/poppler/PDFDoc.h
index 48d8dcf7..5af54777 100644
--- a/poppler/PDFDoc.h
+++ b/poppler/PDFDoc.h
@@ -14,7 +14,7 @@
 // under GPL version 2 or later
 //
 // Copyright (C) 2005, 2006, 2008 Brad Hards <bradh at frogmouth.net>
-// Copyright (C) 2005, 2009, 2014, 2015, 2017 Albert Astals Cid <aacid at kde.org>
+// Copyright (C) 2005, 2009, 2014, 2015, 2017, 2018 Albert Astals Cid <aacid at kde.org>
 // Copyright (C) 2008 Julien Rebetez <julienr at svn.gnome.org>
 // Copyright (C) 2008 Pino Toscano <pino at kde.org>
 // Copyright (C) 2008 Carlos Garcia Campos <carlosgc at gnome.org>
@@ -92,6 +92,9 @@ public:
 	 GooString *userPassword = NULL, void *guiDataA = NULL);
   ~PDFDoc();
 
+  PDFDoc(const PDFDoc &) = delete;
+  PDFDoc& operator=(const PDFDoc &) = delete;
+
   static PDFDoc *ErrorPDFDoc(int errorCode, GooString *fileNameA = NULL);
 
   // Was PDF document successfully opened?
diff --git a/poppler/PDFDocBuilder.h b/poppler/PDFDocBuilder.h
index d6eccf54..8239f682 100644
--- a/poppler/PDFDocBuilder.h
+++ b/poppler/PDFDocBuilder.h
@@ -5,7 +5,7 @@
 // This file is licensed under the GPLv2 or later
 //
 // Copyright 2010 Hib Eris <hib at hiberis.nl>
-// Copyright 2010 Albert Astals Cid <aacid at kde.org>
+// Copyright 2010, 2018 Albert Astals Cid <aacid at kde.org>
 //
 //========================================================================
 
@@ -26,7 +26,11 @@ class PDFDocBuilder {
 
 public:
 
-  virtual ~PDFDocBuilder() {};
+  PDFDocBuilder() = default;
+  virtual ~PDFDocBuilder() = default;
+
+  PDFDocBuilder(const PDFDocBuilder &) = delete;
+  PDFDocBuilder& operator=(const PDFDocBuilder &) = delete;
 
   // Builds a new PDFDoc. Returns a PDFDoc. You should check this PDFDoc
   // with PDFDoc::isOk() for failures.
diff --git a/poppler/PDFDocFactory.h b/poppler/PDFDocFactory.h
index dbceaa56..8e14fd6b 100644
--- a/poppler/PDFDocFactory.h
+++ b/poppler/PDFDocFactory.h
@@ -5,7 +5,7 @@
 // This file is licensed under the GPLv2 or later
 //
 // Copyright 2010 Hib Eris <hib at hiberis.nl>
-// Copyright 2010 Albert Astals Cid <aacid at kde.org>
+// Copyright 2010, 2018 Albert Astals Cid <aacid at kde.org>
 //
 //========================================================================
 
@@ -37,6 +37,9 @@ public:
   PDFDocFactory(GooList *pdfDocBuilders = NULL);
   ~PDFDocFactory();
 
+  PDFDocFactory(const PDFDocFactory &) = delete;
+  PDFDocFactory& operator=(const PDFDocFactory &) = delete;
+
   // Create a PDFDoc. Returns a PDFDoc. You should check this PDFDoc
   // with PDFDoc::isOk() for failures.
   // The caller is responsible for deleting ownerPassword, userPassWord and guiData.
diff --git a/poppler/PSOutputDev.cc b/poppler/PSOutputDev.cc
index ac4f028f..cf043443 100644
--- a/poppler/PSOutputDev.cc
+++ b/poppler/PSOutputDev.cc
@@ -15,7 +15,7 @@
 //
 // Copyright (C) 2005 Martin Kretzschmar <martink at gnome.org>
 // Copyright (C) 2005, 2006 Kristian Høgsberg <krh at redhat.com>
-// Copyright (C) 2006-2009, 2011-2013, 2015-2017 Albert Astals Cid <aacid at kde.org>
+// Copyright (C) 2006-2009, 2011-2013, 2015-2018 Albert Astals Cid <aacid at kde.org>
 // Copyright (C) 2006 Jeff Muizelaar <jeff at infidigm.net>
 // Copyright (C) 2007, 2008 Brad Hards <bradh at kde.org>
 // Copyright (C) 2008, 2009 Koji Otani <sho at bbr.jp>
@@ -946,6 +946,9 @@ public:
 		   double yA, double kA, GooString *nameA);
   ~PSOutCustomColor();
 
+  PSOutCustomColor(const PSOutCustomColor &) = delete;
+  PSOutCustomColor& operator=(const PSOutCustomColor &) = delete;
+
   double c, m, y, k;
   GooString *name;
   PSOutCustomColor *next;
@@ -976,6 +979,8 @@ struct PSOutImgClipRect {
 struct PSOutPaperSize {
   PSOutPaperSize(GooString *nameA, int wA, int hA) { name = nameA; w = wA; h = hA; }
   ~PSOutPaperSize() { delete name; }
+  PSOutPaperSize(const PSOutPaperSize &) = delete;
+  PSOutPaperSize& operator=(const PSOutPaperSize &) = delete;
   GooString *name;
   int w, h;
 };
diff --git a/poppler/Page.h b/poppler/Page.h
index 97b70a0c..61570791 100644
--- a/poppler/Page.h
+++ b/poppler/Page.h
@@ -20,7 +20,7 @@
 // Copyright (C) 2007 Julien Rebetez <julienr at svn.gnome.org>
 // Copyright (C) 2008 Iñigo Martínez <inigomartinez at gmail.com>
 // Copyright (C) 2012 Fabio D'Urso <fabiodurso at hotmail.it>
-// Copyright (C) 2012, 2017 Albert Astals Cid <aacid at kde.org>
+// Copyright (C) 2012, 2017, 2018 Albert Astals Cid <aacid at kde.org>
 // Copyright (C) 2013 Thomas Freitag <Thomas.Freitag at alfa.de>
 // Copyright (C) 2013, 2017 Adrian Johnson <ajohnson at redneon.com>
 //
@@ -148,6 +148,9 @@ public:
   // Destructor.
   ~Page();
 
+  Page(const Page &) = delete;
+  Page& operator=(const Page &) = delete;
+
   // Is page valid?
   GBool isOk() { return ok; }
 
diff --git a/poppler/PageLabelInfo.h b/poppler/PageLabelInfo.h
index 960e7100..60b2ea94 100644
--- a/poppler/PageLabelInfo.h
+++ b/poppler/PageLabelInfo.h
@@ -3,7 +3,7 @@
 // This file is under the GPLv2 or later license
 //
 // Copyright (C) 2005-2006 Kristian Høgsberg <krh at redhat.com>
-// Copyright (C) 2005 Albert Astals Cid <aacid at kde.org>
+// Copyright (C) 2005, 2018 Albert Astals Cid <aacid at kde.org>
 //
 // To see a description of the changes please see the Changelog file that
 // came with your tarball or type make ChangeLog if you are building from git
@@ -25,6 +25,8 @@ class PageLabelInfo {
 public:
   PageLabelInfo(Object *tree, int numPages);
   ~PageLabelInfo();
+  PageLabelInfo(const PageLabelInfo &) = delete;
+  PageLabelInfo& operator=(const PageLabelInfo &) = delete;
   GBool labelToIndex(GooString *label, int *index);
   GBool indexToLabel(int index, GooString *label);
 
@@ -35,6 +37,8 @@ private:
   struct Interval {
     Interval(Object *dict, int baseA);
     ~Interval();
+    Interval(const Interval &) = delete;
+    Interval& operator=(const Interval &) = delete;
     GooString *prefix;
     enum NumberStyle {
       None,
diff --git a/poppler/Parser.h b/poppler/Parser.h
index d2751108..c85effc4 100644
--- a/poppler/Parser.h
+++ b/poppler/Parser.h
@@ -13,7 +13,7 @@
 // All changes made under the Poppler project to this file are licensed
 // under GPL version 2 or later
 //
-// Copyright (C) 2006, 2010, 2013, 2017 Albert Astals Cid <aacid at kde.org>
+// Copyright (C) 2006, 2010, 2013, 2017, 2018 Albert Astals Cid <aacid at kde.org>
 // Copyright (C) 2012 Hib Eris <hib at hiberis.nl>
 // Copyright (C) 2013 Adrian Johnson <ajohnson at redneon.com>
 // Copyright (C) 2013 Thomas Freitag <Thomas.Freitag at alfa.de>
@@ -45,6 +45,9 @@ public:
   // Destructor.
   ~Parser();
 
+  Parser(const Parser &) = delete;
+  Parser& operator=(const Parser &) = delete;
+
   // Get the next object from the input stream.  If <simpleOnly> is
   // true, do not parse compound objects (arrays, dictionaries, or
   // streams).
diff --git a/poppler/PopplerCache.h b/poppler/PopplerCache.h
index f9d8a1dc..ecc983ac 100644
--- a/poppler/PopplerCache.h
+++ b/poppler/PopplerCache.h
@@ -5,7 +5,7 @@
 // This file is licensed under the GPLv2 or later
 //
 // Copyright (C) 2009 Koji Otani <sho at bbr.jp>
-// Copyright (C) 2009, 2010, 2017 Albert Astals Cid <aacid at kde.org>
+// Copyright (C) 2009, 2010, 2017, 2018 Albert Astals Cid <aacid at kde.org>
 // Copyright (C) 2010 Carlos Garcia Campos <carlosgc at gnome.org>
 //
 //========================================================================
@@ -18,14 +18,22 @@
 class PopplerCacheItem
 {
   public:
+   PopplerCacheItem() = default;
    virtual ~PopplerCacheItem();
+
+   PopplerCacheItem(const PopplerCacheItem &) = delete;
+   PopplerCacheItem& operator=(const PopplerCacheItem &other) = delete;
 };
 
 class PopplerCacheKey
 {
   public:
+    PopplerCacheKey() = default;
     virtual ~PopplerCacheKey();
     virtual bool operator==(const PopplerCacheKey &key) const = 0;
+
+    PopplerCacheKey(const PopplerCacheKey &) = delete;
+    PopplerCacheKey& operator=(const PopplerCacheKey &other) = delete;
 };
 
 class PopplerCache
@@ -34,6 +42,9 @@ class PopplerCache
     PopplerCache(int cacheSizeA);
     ~PopplerCache();
     
+    PopplerCache(const PopplerCache &) = delete;
+    PopplerCache& operator=(const PopplerCache &other) = delete;
+
     /* The item returned is owned by the cache */
     PopplerCacheItem *lookup(const PopplerCacheKey &key);
     
@@ -53,8 +64,6 @@ class PopplerCache
     PopplerCacheKey *key(int index);
   
   private:
-    PopplerCache(const PopplerCache &cache); // not allowed
-  
     PopplerCacheKey **keys;
     PopplerCacheItem **items;
     int lastValidCacheIndex;
@@ -67,6 +76,9 @@ class PopplerObjectCache
     PopplerObjectCache (int cacheSizeA, XRef *xrefA);
     ~PopplerObjectCache();
 
+    PopplerObjectCache(const PopplerObjectCache &) = delete;
+    PopplerObjectCache& operator=(const PopplerObjectCache &other) = delete;
+
     Object *put(const Ref &ref);
     Object lookup(const Ref &ref);
 
diff --git a/poppler/Rendition.h b/poppler/Rendition.h
index 5a937f2c..d84505ff 100644
--- a/poppler/Rendition.h
+++ b/poppler/Rendition.h
@@ -5,7 +5,7 @@
 //---------------------------------------------------------------------------------
 // Hugo Mercier <hmercier31[at]gmail.com> (c) 2008
 // Carlos Garcia Campos <carlosgc at gnome.org> (c) 2010
-// Albert Astals Cid <aacid at kde.org> (C) 2017
+// Albert Astals Cid <aacid at kde.org> (C) 2017, 2018
 //
 // This program is free software; you can redistribute it and/or modify
 // it under the terms of the GNU General Public License as published by
@@ -121,6 +121,7 @@ class MediaRendition {
   MediaRendition(Object *obj);
   MediaRendition(const MediaRendition &other);
   ~MediaRendition();
+  MediaRendition& operator=(const MediaRendition &) = delete;
 
   GBool isOk () { return ok; }
 
diff --git a/poppler/SecurityHandler.cc b/poppler/SecurityHandler.cc
index f774ce83..5f9e7282 100644
--- a/poppler/SecurityHandler.cc
+++ b/poppler/SecurityHandler.cc
@@ -13,7 +13,7 @@
 // All changes made under the Poppler project to this file are licensed
 // under GPL version 2 or later
 //
-// Copyright (C) 2010, 2012, 2015, 2017 Albert Astals Cid <aacid at kde.org>
+// Copyright (C) 2010, 2012, 2015, 2017, 2018 Albert Astals Cid <aacid at kde.org>
 // Copyright (C) 2013 Adrian Johnson <ajohnson at redneon.com>
 // Copyright (C) 2014 Fabio D'Urso <fabiodurso at hotmail.it>
 // Copyright (C) 2016 Alok Anand <alok4nand at gmail.com>
@@ -137,6 +137,9 @@ public:
     }
   }
 
+  StandardAuthData(const StandardAuthData &) = delete;
+  StandardAuthData& operator=(const StandardAuthData &) = delete;
+
   GooString *ownerPassword;
   GooString *userPassword;
 };
diff --git a/poppler/SecurityHandler.h b/poppler/SecurityHandler.h
index f363d3f7..cc21b2ca 100644
--- a/poppler/SecurityHandler.h
+++ b/poppler/SecurityHandler.h
@@ -13,7 +13,7 @@
 // All changes made under the Poppler project to this file are licensed
 // under GPL version 2 or later
 //
-// Copyright (C) 2012 Albert Astals Cid <aacid at kde.org>
+// Copyright (C) 2012, 2018 Albert Astals Cid <aacid at kde.org>
 //
 // To see a description of the changes please see the Changelog file that
 // came with your tarball or type make ChangeLog if you are building from git
@@ -48,6 +48,9 @@ public:
   SecurityHandler(PDFDoc *docA);
   virtual ~SecurityHandler();
 
+  SecurityHandler(const SecurityHandler &) = delete;
+  SecurityHandler& operator=(const SecurityHandler &) = delete;
+
   // Returns true if the file is actually unencrypted.
   virtual GBool isUnencrypted() { return gFalse; }
 
diff --git a/poppler/Sound.h b/poppler/Sound.h
index 5e33cb51..e88de4d6 100644
--- a/poppler/Sound.h
+++ b/poppler/Sound.h
@@ -1,6 +1,6 @@
 /* Sound.h - an object that holds the sound structure
  * Copyright (C) 2006-2007, Pino Toscano <pino at kde.org>
- * Copyright (C) 2017, Albert Astals Cid <aacid at kde.org>
+ * Copyright (C) 2017, 2018, Albert Astals Cid <aacid at kde.org>
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -47,6 +47,9 @@ public:
   // Destructor
   ~Sound();
 
+  Sound(const Sound &) = delete;
+  Sound& operator=(const Sound &) = delete;
+
   Object *getObject() { return &streamObj; }
   Stream *getStream();
 
diff --git a/poppler/SplashOutputDev.cc b/poppler/SplashOutputDev.cc
index 28174356..19d43d71 100644
--- a/poppler/SplashOutputDev.cc
+++ b/poppler/SplashOutputDev.cc
@@ -15,7 +15,7 @@
 //
 // Copyright (C) 2005 Takashi Iwai <tiwai at suse.de>
 // Copyright (C) 2006 Stefan Schweizer <genstef at gentoo.org>
-// Copyright (C) 2006-2017 Albert Astals Cid <aacid at kde.org>
+// Copyright (C) 2006-2018 Albert Astals Cid <aacid at kde.org>
 // Copyright (C) 2006 Krzysztof Kowalczyk <kkowalczyk at gmail.com>
 // Copyright (C) 2006 Scott Turner <scotty1024 at mac.com>
 // Copyright (C) 2007 Koji Otani <sho at bbr.jp>
@@ -1232,6 +1232,8 @@ public:
 	      int glyphXA, int glyphYA, int glyphWA, int glyphHA,
 	      GBool aa, GBool validBBoxA);
   ~T3FontCache();
+  T3FontCache(const T3FontCache &) = delete;
+  T3FontCache& operator=(const T3FontCache &) = delete;
   GBool matches(Ref *idA, double m11A, double m12A,
 		double m21A, double m22A)
     { return fontID.num == idA->num && fontID.gen == idA->gen &&
diff --git a/poppler/Stream.h b/poppler/Stream.h
index 36988ccc..b58da825 100644
--- a/poppler/Stream.h
+++ b/poppler/Stream.h
@@ -15,7 +15,7 @@
 //
 // Copyright (C) 2005 Jeff Muizelaar <jeff at infidigm.net>
 // Copyright (C) 2008 Julien Rebetez <julien at fhtagn.net>
-// Copyright (C) 2008, 2010, 2011, 2016, 2017 Albert Astals Cid <aacid at kde.org>
+// Copyright (C) 2008, 2010, 2011, 2016-2018 Albert Astals Cid <aacid at kde.org>
 // Copyright (C) 2009 Carlos Garcia Campos <carlosgc at gnome.org>
 // Copyright (C) 2009 Stefan Thomas <thomas at eload24.com>
 // Copyright (C) 2010 Hib Eris <hib at hiberis.nl>
@@ -105,6 +105,9 @@ public:
   // Destructor.
   virtual ~Stream();
 
+  Stream(const Stream &) = delete;
+  Stream& operator=(const Stream &other) = delete;
+
   // Get kind of stream.
   virtual StreamKind getKind() = 0;
 
@@ -257,6 +260,9 @@ public:
   // Desctructor.
   virtual ~OutStream ();
 
+  OutStream(const OutStream &) = delete;
+  OutStream& operator=(const OutStream &other) = delete;
+
   // Close the stream
   virtual void close() = 0;
 
@@ -368,6 +374,9 @@ public:
 
   ~ImageStream();
 
+  ImageStream(const ImageStream &) = delete;
+  ImageStream& operator=(const ImageStream &other) = delete;
+
   // Reset the stream.
   void reset();
 
@@ -412,6 +421,9 @@ public:
 
   ~StreamPredictor();
 
+  StreamPredictor(const StreamPredictor &) = delete;
+  StreamPredictor& operator=(const StreamPredictor &) = delete;
+
   GBool isOk() { return ok; }
 
   int lookChar();
diff --git a/poppler/StructElement.h b/poppler/StructElement.h
index cd89a970..2fa6bb13 100644
--- a/poppler/StructElement.h
+++ b/poppler/StructElement.h
@@ -6,7 +6,7 @@
 //
 // Copyright 2013, 2014 Igalia S.L.
 // Copyright 2014 Luigi Scarso <luigi.scarso at gmail.com>
-// Copyright 2014 Albert Astals Cid <aacid at kde.org>
+// Copyright 2014, 2018 Albert Astals Cid <aacid at kde.org>
 //
 //========================================================================
 
@@ -270,6 +270,9 @@ private:
 
     StructData();
     ~StructData();
+
+    StructData(const StructData &) = delete;
+    StructData& operator=(const StructData &) = delete;
   };
 
   // Data in content elements (MCID, MCR)
diff --git a/poppler/StructTreeRoot.h b/poppler/StructTreeRoot.h
index ca688499..25b47203 100644
--- a/poppler/StructTreeRoot.h
+++ b/poppler/StructTreeRoot.h
@@ -5,6 +5,7 @@
 // This file is licensed under the GPLv2 or later
 //
 // Copyright 2013, 2014 Igalia S.L.
+// Copyright 2018 Albert Astals Cid <aacid at kde.org>
 //
 //========================================================================
 
@@ -31,6 +32,9 @@ public:
   StructTreeRoot(PDFDoc *docA, Dict *rootDict);
   ~StructTreeRoot();
 
+  StructTreeRoot& operator=(const StructTreeRoot &) = delete;
+  StructTreeRoot(const StructTreeRoot &) = delete;
+
   PDFDoc *getDoc() { return doc; }
   Dict *getRoleMap() { return roleMap.isDict() ? roleMap.getDict() : NULL; }
   Dict *getClassMap() { return classMap.isDict() ? classMap.getDict() : NULL; }
diff --git a/poppler/TextOutputDev.cc b/poppler/TextOutputDev.cc
index b99797a0..d1221865 100644
--- a/poppler/TextOutputDev.cc
+++ b/poppler/TextOutputDev.cc
@@ -4303,6 +4303,8 @@ class TextSelectionVisitor {
 public:
   TextSelectionVisitor (TextPage *page);
   virtual ~TextSelectionVisitor () { }
+  TextSelectionVisitor(const TextSelectionVisitor &) = delete;
+  TextSelectionVisitor& operator=(const TextSelectionVisitor &) = delete;
   virtual void visitBlock (TextBlock *block,
 			   TextLine *begin,
 			   TextLine *end,
diff --git a/poppler/TextOutputDev.h b/poppler/TextOutputDev.h
index 380301fd..5e92dfb7 100644
--- a/poppler/TextOutputDev.h
+++ b/poppler/TextOutputDev.h
@@ -17,7 +17,7 @@
 // Copyright (C) 2006 Ed Catmur <ed at catmur.co.uk>
 // Copyright (C) 2007, 2008, 2011, 2013 Carlos Garcia Campos <carlosgc at gnome.org>
 // Copyright (C) 2007, 2017 Adrian Johnson <ajohnson at redneon.com>
-// Copyright (C) 2008, 2010, 2015, 2016 Albert Astals Cid <aacid at kde.org>
+// Copyright (C) 2008, 2010, 2015, 2016, 2018 Albert Astals Cid <aacid at kde.org>
 // Copyright (C) 2010 Brian Ewins <brian.ewins at gmail.com>
 // Copyright (C) 2012, 2013, 2015, 2016 Jason Crain <jason at aquaticape.us>
 // Copyright (C) 2013 Thomas Freitag <Thomas.Freitag at alfa.de>
@@ -79,6 +79,9 @@ public:
   TextFontInfo(GfxState *state);
   ~TextFontInfo();
 
+  TextFontInfo(const TextFontInfo &) = delete;
+  TextFontInfo& operator=(const TextFontInfo &) = delete;
+
   GBool matches(GfxState *state);
   GBool matches(TextFontInfo *fontInfo);
 
@@ -129,6 +132,9 @@ public:
   // Destructor.
   ~TextWord();
 
+  TextWord(const TextWord &) = delete;
+  TextWord& operator=(const TextWord &) = delete;
+
   // Add a character to the word.
   void addChar(GfxState *state, TextFontInfo *fontA, double x, double y,
 	       double dx, double dy, int charPosA, int charLen,
@@ -244,6 +250,9 @@ public:
   TextPool();
   ~TextPool();
 
+  TextPool(const TextPool &) = delete;
+  TextPool& operator=(const TextPool &) = delete;
+
   TextWord *getPool(int baseIdx) { return pool[baseIdx - minBaseIdx]; }
   void setPool(int baseIdx, TextWord *p) { pool[baseIdx - minBaseIdx] = p; }
 
@@ -276,6 +285,9 @@ public:
   TextLine(TextBlock *blkA, int rotA, double baseA);
   ~TextLine();
 
+  TextLine(const TextLine &) = delete;
+  TextLine& operator=(const TextLine &) = delete;
+
   void addWord(TextWord *word);
 
   // Return the distance along the primary axis between <this> and
@@ -353,6 +365,9 @@ public:
   TextBlock(TextPage *pageA, int rotA);
   ~TextBlock();
 
+  TextBlock(const TextBlock &) = delete;
+  TextBlock& operator=(const TextBlock &) = delete;
+
   void addWord(TextWord *word);
 
   void coalesce(UnicodeMap *uMap, double fixedPitch);
@@ -442,6 +457,9 @@ public:
   TextFlow(TextPage *pageA, TextBlock *blk);
   ~TextFlow();
 
+  TextFlow(const TextFlow &) = delete;
+  TextFlow& operator=(const TextFlow &) = delete;
+
   // Add a block to the end of this flow.
   void addBlock(TextBlock *blk);
 
@@ -488,6 +506,9 @@ public:
 
   ~TextWordList();
 
+  TextWordList(const TextWordList &) = delete;
+  TextWordList& operator=(const TextWordList &) = delete;
+
   // Return the number of words on the list.
   int getLength();
 
@@ -531,6 +552,9 @@ public:
   // Constructor.
   TextPage(GBool rawOrderA);
 
+  TextPage(const TextPage &) = delete;
+  TextPage& operator=(const TextPage &) = delete;
+
   void incRefCnt();
   void decRefCnt();
 
@@ -702,6 +726,9 @@ public:
   ActualText(TextPage *out);
   ~ActualText();
 
+  ActualText(const ActualText &) = delete;
+  ActualText& operator=(const ActualText &) = delete;
+
   void addChar(GfxState *state, double x, double y,
 	       double dx, double dy,
 	       CharCode c, int nBytes, Unicode *u, int uLen);
diff --git a/poppler/UnicodeMap.h b/poppler/UnicodeMap.h
index 46b4c0f9..f3444aa5 100644
--- a/poppler/UnicodeMap.h
+++ b/poppler/UnicodeMap.h
@@ -16,6 +16,7 @@
 // under GPL version 2 or later
 //
 // Copyright (C) 2017 Adrian Johnson <ajohnson at redneon.com>
+// Copyright (C) 2018 Albert Astals Cid <aacid at kde.org>
 //
 // To see a description of the changes please see the Changelog file that
 // came with your tarball or type make ChangeLog if you are building from git
@@ -76,6 +77,9 @@ public:
 
   ~UnicodeMap();
 
+  UnicodeMap(const UnicodeMap &) = delete;
+  UnicodeMap& operator=(const UnicodeMap &) = delete;
+
   void incRefCnt();
   void decRefCnt();
 
@@ -123,6 +127,9 @@ public:
   UnicodeMapCache();
   ~UnicodeMapCache();
 
+  UnicodeMapCache(const UnicodeMapCache &) = delete;
+  UnicodeMapCache& operator=(const UnicodeMapCache &) = delete;
+
   // Get the UnicodeMap for <encodingName>.  Increments its reference
   // count; there will be one reference for the cache plus one for the
   // caller of this function.  Returns NULL on failure.
diff --git a/poppler/XRef.cc b/poppler/XRef.cc
index f04a31fc..6d1a75af 100644
--- a/poppler/XRef.cc
+++ b/poppler/XRef.cc
@@ -15,7 +15,7 @@
 //
 // Copyright (C) 2005 Dan Sheridan <dan.sheridan at postman.org.uk>
 // Copyright (C) 2005 Brad Hards <bradh at frogmouth.net>
-// Copyright (C) 2006, 2008, 2010, 2012-2014, 2016, 2017 Albert Astals Cid <aacid at kde.org>
+// Copyright (C) 2006, 2008, 2010, 2012-2014, 2016-2018 Albert Astals Cid <aacid at kde.org>
 // Copyright (C) 2007-2008 Julien Rebetez <julienr at svn.gnome.org>
 // Copyright (C) 2007 Carlos Garcia Campos <carlosgc at gnome.org>
 // Copyright (C) 2009, 2010 Ilya Gorenbein <igorenbein at finjan.com>
@@ -95,6 +95,9 @@ public:
 
   ~ObjectStream();
 
+  ObjectStream(const ObjectStream &) = delete;
+  ObjectStream& operator=(const ObjectStream &) = delete;
+
   // Return the object number of this object stream.
   int getObjStrNum() { return objStrNum; }
 
diff --git a/poppler/XRef.h b/poppler/XRef.h
index 9306a99b..686b3eb7 100644
--- a/poppler/XRef.h
+++ b/poppler/XRef.h
@@ -14,7 +14,7 @@
 // under GPL version 2 or later
 //
 // Copyright (C) 2005 Brad Hards <bradh at frogmouth.net>
-// Copyright (C) 2006, 2008, 2010-2013, 2017 Albert Astals Cid <aacid at kde.org>
+// Copyright (C) 2006, 2008, 2010-2013, 2017, 2018 Albert Astals Cid <aacid at kde.org>
 // Copyright (C) 2007-2008 Julien Rebetez <julienr at svn.gnome.org>
 // Copyright (C) 2007 Carlos Garcia Campos <carlosgc at gnome.org>
 // Copyright (C) 2010 Ilya Gorenbein <igorenbein at finjan.com>
@@ -104,6 +104,9 @@ public:
   // Destructor.
   ~XRef();
 
+  XRef(const XRef &) = delete;
+  XRef& operator=(const XRef &) = delete;
+
   // Copy xref but with new base stream!
   XRef *copy();
 
@@ -253,9 +256,13 @@ private:
 
   class XRefWriter {
   public:
+    XRefWriter() = default;
     virtual void startSection(int first, int count) = 0;
     virtual void writeEntry(Goffset offset, int gen, XRefEntryType type) = 0;
     virtual ~XRefWriter() {};
+
+    XRefWriter(const XRefWriter &) = delete;
+    XRefWriter& operator=(const XRefWriter &other) = delete;
   };
 
   // XRefWriter subclass that writes a XRef table
diff --git a/qt5/demos/documentobserver.h b/qt5/demos/documentobserver.h
index 38fe2043..05ef8fea 100644
--- a/qt5/demos/documentobserver.h
+++ b/qt5/demos/documentobserver.h
@@ -1,5 +1,6 @@
 /*
  * Copyright (C) 2008, Pino Toscano <pino at kde.org>
+ * Copyright (C) 2018, Albert Astals Cid <aacid at kde.org>
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -30,6 +31,8 @@ friend class PdfViewer;
 
 public:
     virtual ~DocumentObserver();
+    DocumentObserver(const DocumentObserver &) = delete;
+    DocumentObserver& operator=(const DocumentObserver &) = delete;
 
     virtual void documentLoaded() = 0;
     virtual void documentClosed() = 0;
diff --git a/qt5/src/poppler-annotation-private.h b/qt5/src/poppler-annotation-private.h
index b530e2f2..b0072af9 100644
--- a/qt5/src/poppler-annotation-private.h
+++ b/qt5/src/poppler-annotation-private.h
@@ -2,7 +2,7 @@
  * Copyright (C) 2007, Pino Toscano <pino at kde.org>
  * Copyright (C) 2012, Tobias Koenig <tokoe at kdab.com>
  * Copyright (C) 2012, 2013 Fabio D'Urso <fabiodurso at hotmail.it>
- * Copyright (C) 2012, 2014, Albert Astals Cid <aacid at kde.org>
+ * Copyright (C) 2012, 2014, 2018, Albert Astals Cid <aacid at kde.org>
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -46,6 +46,9 @@ class AnnotationPrivate : public QSharedData
         AnnotationPrivate();
         virtual ~AnnotationPrivate();
 
+        AnnotationPrivate(const AnnotationPrivate &) = delete;
+        AnnotationPrivate& operator=(const AnnotationPrivate &) = delete;
+
         void addRevision(Annotation *ann, Annotation::RevScope scope, Annotation::RevType type);
 
         /* Returns an Annotation of the right subclass whose d_ptr points to
diff --git a/qt5/src/poppler-annotation.cc b/qt5/src/poppler-annotation.cc
index 4da4cf20..7e752ba0 100644
--- a/qt5/src/poppler-annotation.cc
+++ b/qt5/src/poppler-annotation.cc
@@ -1,5 +1,5 @@
 /* poppler-annotation.cc: qt interface to poppler
- * Copyright (C) 2006, 2009, 2012-2015 Albert Astals Cid <aacid at kde.org>
+ * Copyright (C) 2006, 2009, 2012-2015, 2018 Albert Astals Cid <aacid at kde.org>
  * Copyright (C) 2006, 2008, 2010 Pino Toscano <pino at kde.org>
  * Copyright (C) 2012, Guillermo A. Amaral B. <gamaral at kde.org>
  * Copyright (C) 2012-2014 Fabio D'Urso <fabiodurso at hotmail.it>
@@ -4632,6 +4632,9 @@ class RichMediaAnnotation::Instance::Private
             delete params;
         }
 
+        Private(const Private &) = delete;
+        Private& operator=(const Private &) = delete;
+
         RichMediaAnnotation::Instance::Type type;
         RichMediaAnnotation::Params *params;
 };
@@ -4677,6 +4680,9 @@ class RichMediaAnnotation::Configuration::Private
             instances.clear();
         }
 
+        Private(const Private &) = delete;
+        Private& operator=(const Private &) = delete;
+
         RichMediaAnnotation::Configuration::Type type;
         QString name;
         QList< RichMediaAnnotation::Instance* > instances;
@@ -4738,6 +4744,9 @@ class RichMediaAnnotation::Asset::Private
             delete embeddedFile;
         }
 
+        Private(const Private &) = delete;
+        Private& operator=(const Private &) = delete;
+
         QString name;
         EmbeddedFile *embeddedFile;
 };
@@ -4786,6 +4795,9 @@ class RichMediaAnnotation::Content::Private
             assets.clear();
         }
 
+        Private(const Private &) = delete;
+        Private& operator=(const Private &) = delete;
+
         QList< RichMediaAnnotation::Configuration* > configurations;
         QList< RichMediaAnnotation::Asset* > assets;
 };
diff --git a/qt5/src/poppler-converter-private.h b/qt5/src/poppler-converter-private.h
index 1340d354..8650321f 100644
--- a/qt5/src/poppler-converter-private.h
+++ b/qt5/src/poppler-converter-private.h
@@ -1,5 +1,5 @@
 /* poppler-converter-private.h: Qt interface to poppler
- * Copyright (C) 2007, 2009, Albert Astals Cid <aacid at kde.org>
+ * Copyright (C) 2007, 2009, 2018, Albert Astals Cid <aacid at kde.org>
  * Copyright (C) 2008, Pino Toscano <pino at kde.org>
  *
  * This program is free software; you can redistribute it and/or modify
@@ -34,6 +34,9 @@ class BaseConverterPrivate
 		BaseConverterPrivate();
 		virtual ~BaseConverterPrivate();
 
+		BaseConverterPrivate(const BaseConverterPrivate &) = delete;
+		BaseConverterPrivate& operator=(const BaseConverterPrivate &) = delete;
+
 		QIODevice* openDevice();
 		void closeDevice();
 
diff --git a/qt5/src/poppler-embeddedfile-private.h b/qt5/src/poppler-embeddedfile-private.h
index ff1388ec..36c2cb00 100644
--- a/qt5/src/poppler-embeddedfile-private.h
+++ b/qt5/src/poppler-embeddedfile-private.h
@@ -1,5 +1,5 @@
 /* poppler-embeddedfile-private.h: Qt interface to poppler
- * Copyright (C) 2005, 2008, 2009, 2012, Albert Astals Cid <aacid at kde.org>
+ * Copyright (C) 2005, 2008, 2009, 2012, 2018, Albert Astals Cid <aacid at kde.org>
  * Copyright (C) 2005, Brad Hards <bradh at frogmouth.net>
  * Copyright (C) 2008, 2011, Pino Toscano <pino at kde.org>
  *
@@ -31,6 +31,9 @@ class EmbeddedFileData
 public:
 	EmbeddedFileData(FileSpec *fs);
 	~EmbeddedFileData();
+
+	EmbeddedFileData(const EmbeddedFileData &) = delete;
+	EmbeddedFileData& operator=(const EmbeddedFileData &) = delete;
     
 	EmbFile *embFile() const;
 
diff --git a/qt5/src/poppler-link-private.h b/qt5/src/poppler-link-private.h
index 7b03c1c3..6bc5cb9f 100644
--- a/qt5/src/poppler-link-private.h
+++ b/qt5/src/poppler-link-private.h
@@ -1,5 +1,5 @@
 /* poppler-link-private.h: qt interface to poppler
- * Copyright (C) 2016, Albert Astals Cid <aacid at kde.org>
+ * Copyright (C) 2016, 2018, Albert Astals Cid <aacid at kde.org>
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -35,6 +35,9 @@ public:
     {
     }
 
+    LinkPrivate(const LinkPrivate &) = delete;
+    LinkPrivate& operator=(const LinkPrivate &) = delete;
+
     QRectF linkArea;
 };
 
diff --git a/qt5/src/poppler-media.cc b/qt5/src/poppler-media.cc
index f385f02e..10ee7e32 100644
--- a/qt5/src/poppler-media.cc
+++ b/qt5/src/poppler-media.cc
@@ -1,6 +1,6 @@
 /* poppler-media.cc: qt interface to poppler
  * Copyright (C) 2012 Guillermo A. Amaral B. <gamaral at kde.org>
- * Copyright (C) 2013 Albert Astals Cid <aacid at kde.org>
+ * Copyright (C) 2013, 2018 Albert Astals Cid <aacid at kde.org>
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -44,6 +44,9 @@ public:
     delete rendition;
   }
 
+  MediaRenditionPrivate(const MediaRenditionPrivate &) = delete;
+  MediaRenditionPrivate& operator=(const MediaRenditionPrivate &) = delete;
+
   ::MediaRendition *rendition;
 };
 
diff --git a/qt5/src/poppler-movie.cc b/qt5/src/poppler-movie.cc
index cdb674dc..418c16ba 100644
--- a/qt5/src/poppler-movie.cc
+++ b/qt5/src/poppler-movie.cc
@@ -1,6 +1,6 @@
 /* poppler-sound.cc: qt interface to poppler
  * Copyright (C) 2008, 2010, Pino Toscano <pino at kde.org>
- * Copyright (C) 2008, Albert Astals Cid <aacid at kde.org>
+ * Copyright (C) 2008, 2018, Albert Astals Cid <aacid at kde.org>
  * Copyright (C) 2010, Carlos Garcia Campos <carlosgc at gnome.org>
  * Copyright (C) 2012, Tobias Koenig <tobias.koenig at kdab.com>
  *
@@ -43,6 +43,9 @@ public:
 		delete m_movieObj;
 	}
 
+	MovieData(const MovieData &) = delete;
+	MovieData& operator=(const MovieData &) = delete;
+
 	Movie *m_movieObj;
 	QSize m_size;
 	int m_rotation;
diff --git a/qt5/src/poppler-optcontent-private.h b/qt5/src/poppler-optcontent-private.h
index b5e52999..a134cd53 100644
--- a/qt5/src/poppler-optcontent-private.h
+++ b/qt5/src/poppler-optcontent-private.h
@@ -2,7 +2,7 @@
  *
  * Copyright (C) 2007, Brad Hards <bradh at kde.org>
  * Copyright (C) 2008, Pino Toscano <pino at kde.org>
- * Copyright (C) 2016, Albert Astals Cid <aacid at kde.org>
+ * Copyright (C) 2016, 2018, Albert Astals Cid <aacid at kde.org>
  * Copyright (C) 2017, Hubert Figuière <hub at figuiere.net>
  *
  * This program is free software; you can redistribute it and/or modify
@@ -94,6 +94,9 @@ namespace Poppler
     OptContentModelPrivate( OptContentModel *qq, OCGs *optContent );
     ~OptContentModelPrivate();
 
+    OptContentModelPrivate(const OptContentModelPrivate &) = delete;
+    OptContentModelPrivate& operator=(const OptContentModelPrivate &) = delete;
+
     void parseRBGroupsArray( Array *rBGroupArray );
     OptContentItem *nodeFromIndex(const QModelIndex &index, bool canBeNull = false) const;
     QModelIndex indexFromItem(OptContentItem *node, int column) const;
diff --git a/qt5/src/poppler-page-transition.cc b/qt5/src/poppler-page-transition.cc
index 4fa39edd..759592e9 100644
--- a/qt5/src/poppler-page-transition.cc
+++ b/qt5/src/poppler-page-transition.cc
@@ -1,6 +1,7 @@
 /* PageTransition.cc
  * Copyright (C) 2005, Net Integration Technologies, Inc.
  * Copyright (C) 2015, Arseniy Lartsev <arseniy at alumni.chalmers.se>
+ * Copyright (C) 2018 Albert Astals Cid <aacid at kde.org>
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -41,6 +42,8 @@ class PageTransitionData
         delete pt;
     }
 
+    PageTransitionData& operator=(const PageTransitionData &) = delete;
+
     ::PageTransition *pt;
 };
 
diff --git a/qt5/src/poppler-page-transition.h b/qt5/src/poppler-page-transition.h
index 57a2388a..c53ddf28 100644
--- a/qt5/src/poppler-page-transition.h
+++ b/qt5/src/poppler-page-transition.h
@@ -2,6 +2,7 @@
  * Copyright (C) 2005, Net Integration Technologies, Inc.
  * Copyright (C) 2005, Brad Hards <bradh at frogmouth.net>
  * Copyright (C) 2015, Arseniy Lartsev <arseniy at alumni.chalmers.se>
+ * Copyright (C) 2018 Albert Astals Cid <aacid at kde.org>
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -105,7 +106,7 @@ class POPPLER_QT5_EXPORT PageTransition {
      Destructor
   */
   ~PageTransition();
-  
+
   /**
      \brief Get type of the transition.
   */
diff --git a/qt5/src/poppler-private.h b/qt5/src/poppler-private.h
index 6d0d1943..4313f3f4 100644
--- a/qt5/src/poppler-private.h
+++ b/qt5/src/poppler-private.h
@@ -1,7 +1,7 @@
 /* poppler-private.h: qt interface to poppler
  * Copyright (C) 2005, Net Integration Technologies, Inc.
  * Copyright (C) 2005, 2008, Brad Hards <bradh at frogmouth.net>
- * Copyright (C) 2006-2009, 2011, 2012, 2017 by Albert Astals Cid <aacid at kde.org>
+ * Copyright (C) 2006-2009, 2011, 2012, 2017, 2018 by Albert Astals Cid <aacid at kde.org>
  * Copyright (C) 2007-2009, 2011, 2014 by Pino Toscano <pino at kde.org>
  * Copyright (C) 2011 Andreas Hartmetz <ahartmetz at gmail.com>
  * Copyright (C) 2011 Hib Eris <hib at hiberis.nl>
@@ -114,6 +114,9 @@ namespace Poppler {
 	void init();
 	
 	~DocumentData();
+
+	DocumentData(const DocumentData &) = delete;
+	DocumentData& operator=(const DocumentData &) = delete;
 	
 	void addTocChildren( QDomDocument * docSyn, QDomNode * parent, GooList * items );
 	
@@ -158,16 +161,6 @@ namespace Poppler {
 			type = FontInfo::unknown;
 		}
 		
-		FontInfoData( const FontInfoData &fid )
-		{
-			fontName = fid.fontName;
-			fontFile = fid.fontFile;
-			isEmbedded = fid.isEmbedded;
-			isSubset = fid.isSubset;
-			type = fid.type;
-			embRef = fid.embRef;
-		}
-		
 		FontInfoData( ::FontInfo* fi )
 		{
 			if (fi->getName()) fontName = fi->getName()->getCString();
@@ -178,6 +171,9 @@ namespace Poppler {
 			embRef = fi->getEmbRef();
 		}
 
+		FontInfoData( const FontInfoData &fid ) = default;
+		FontInfoData& operator=(const FontInfoData &) = default;
+
 		QString fontName;
 		QString fontFile;
 		bool isEmbedded : 1;
diff --git a/qt5/src/poppler-sound.cc b/qt5/src/poppler-sound.cc
index 6e6cef7f..3d1aee3d 100644
--- a/qt5/src/poppler-sound.cc
+++ b/qt5/src/poppler-sound.cc
@@ -1,6 +1,6 @@
 /* poppler-sound.cc: qt interface to poppler
  * Copyright (C) 2006-2007, Pino Toscano <pino at kde.org>
- * Copyright (C) 2008, Albert Astals Cid <aacid at kde.org>
+ * Copyright (C) 2008, 2018, Albert Astals Cid <aacid at kde.org>
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -39,6 +39,9 @@ public:
 		delete m_soundObj;
 	}
 
+	SoundData(const SoundData &) = delete;
+	SoundData& operator=(const SoundData &) = delete;
+
 	SoundObject::SoundType m_type;
 	Sound *m_soundObj;
 };
diff --git a/splash/Splash.h b/splash/Splash.h
index 907e4c3b..8817dc0a 100644
--- a/splash/Splash.h
+++ b/splash/Splash.h
@@ -12,7 +12,7 @@
 // under GPL version 2 or later
 //
 // Copyright (C) 2005 Marco Pesenti Gritti <mpg at redhat.com>
-// Copyright (C) 2007, 2011 Albert Astals Cid <aacid at kde.org>
+// Copyright (C) 2007, 2011, 2018 Albert Astals Cid <aacid at kde.org>
 // Copyright (C) 2010-2013, 2015 Thomas Freitag <Thomas.Freitag at alfa.de>
 // Copyright (C) 2010 Christian Feuersänger <cfeuersaenger at googlemail.com>
 // Copyright (C) 2012, 2017 Adrian Johnson <ajohnson at redneon.com>
@@ -98,6 +98,9 @@ public:
 
   ~Splash();
 
+  Splash(const Splash &) = delete;
+  Splash& operator=(const Splash &) = delete;
+
   //----- state read
 
   SplashCoord *getMatrix();
diff --git a/splash/SplashBitmap.h b/splash/SplashBitmap.h
index ccd3e7d9..092bd4cf 100644
--- a/splash/SplashBitmap.h
+++ b/splash/SplashBitmap.h
@@ -13,7 +13,7 @@
 //
 // Copyright (C) 2007 Ilmari Heikkinen <ilmari.heikkinen at gmail.com>
 // Copyright (C) 2009 Shen Liang <shenzhuxi at gmail.com>
-// Copyright (C) 2009, 2012 Albert Astals Cid <aacid at kde.org>
+// Copyright (C) 2009, 2012, 2018 Albert Astals Cid <aacid at kde.org>
 // Copyright (C) 2009 Stefan Thomas <thomas at eload24.com>
 // Copyright (C) 2010, 2017 Adrian Johnson <ajohnson at redneon.com>
 // Copyright (C) 2010 Harry Roberts <harry.roberts at midnight-labs.org>
@@ -59,6 +59,9 @@ public:
 
   ~SplashBitmap();
 
+  SplashBitmap(const SplashBitmap &) = delete;
+  SplashBitmap& operator=(const SplashBitmap &) = delete;
+
   int getWidth() { return width; }
   int getHeight() { return height; }
   int getRowSize() { return rowSize; }
diff --git a/splash/SplashClip.h b/splash/SplashClip.h
index 5c0fdba9..5a730d8f 100644
--- a/splash/SplashClip.h
+++ b/splash/SplashClip.h
@@ -11,7 +11,7 @@
 // All changes made under the Poppler project to this file are licensed
 // under GPL version 2 or later
 //
-// Copyright (C) 2010 Albert Astals Cid <aacid at kde.org>
+// Copyright (C) 2010, 2018 Albert Astals Cid <aacid at kde.org>
 // Copyright (C) 2013 Thomas Freitag <Thomas.Freitag at alfa.de>
 //
 // To see a description of the changes please see the Changelog file that
@@ -59,6 +59,9 @@ public:
 
   ~SplashClip();
 
+  SplashClip(const SplashClip &) = delete;
+  SplashClip& operator=(const SplashClip &) = delete;
+
   // Reset the clip to a rectangle.
   void resetToRect(SplashCoord x0, SplashCoord y0,
 		   SplashCoord x1, SplashCoord y1);
diff --git a/splash/SplashFTFontEngine.h b/splash/SplashFTFontEngine.h
index 899458bc..a9522eea 100644
--- a/splash/SplashFTFontEngine.h
+++ b/splash/SplashFTFontEngine.h
@@ -13,7 +13,7 @@
 //
 // Copyright (C) 2006 Takashi Iwai <tiwai at suse.de>
 // Copyright (C) 2009 Petr Gajdos <pgajdos at novell.com>
-// Copyright (C) 2009 Albert Astals Cid <aacid at kde.org>
+// Copyright (C) 2009, 2018 Albert Astals Cid <aacid at kde.org>
 // Copyright (C) 2011 Andreas Hartmetz <ahartmetz at gmail.com>
 // Copyright (C) 2013 Thomas Freitag <Thomas.Freitag at alfa.de>
 // Copyright (C) 2017 Adrian Johnson <ajohnson at redneon.com>
@@ -49,6 +49,9 @@ public:
 
   ~SplashFTFontEngine();
 
+  SplashFTFontEngine(const SplashFTFontEngine&) = delete;
+  SplashFTFontEngine& operator=(const SplashFTFontEngine&) = delete;
+
   // Load fonts.
   SplashFontFile *loadType1Font(SplashFontFileID *idA, SplashFontSrc *src,  const char **enc);
   SplashFontFile *loadType1CFont(SplashFontFileID *idA, SplashFontSrc *src,  const char **enc);
diff --git a/splash/SplashFont.h b/splash/SplashFont.h
index 78b00d2d..f8e72626 100644
--- a/splash/SplashFont.h
+++ b/splash/SplashFont.h
@@ -11,7 +11,7 @@
 // All changes made under the Poppler project to this file are licensed
 // under GPL version 2 or later
 //
-// Copyright (C) 2007-2008 Albert Astals Cid <aacid at kde.org>
+// Copyright (C) 2007-2008, 2018 Albert Astals Cid <aacid at kde.org>
 //
 // To see a description of the changes please see the Changelog file that
 // came with your tarball or type make ChangeLog if you are building from git
@@ -59,6 +59,9 @@ public:
 
   virtual ~SplashFont();
 
+  SplashFont(const SplashFont &) = delete;
+  SplashFont& operator=(const SplashFont &) = delete;
+
   SplashFontFile *getFontFile() { return fontFile; }
 
   // Return true if <this> matches the specified font file and matrix.
diff --git a/splash/SplashFontEngine.h b/splash/SplashFontEngine.h
index e3ee1ce6..346d3697 100644
--- a/splash/SplashFontEngine.h
+++ b/splash/SplashFontEngine.h
@@ -13,7 +13,7 @@
 //
 // Copyright (C) 2006 Takashi Iwai <tiwai at suse.de>
 // Copyright (C) 2009 Petr Gajdos <pgajdos at novell.com>
-// Copyright (C) 2009, 2011 Albert Astals Cid <aacid at kde.org>
+// Copyright (C) 2009, 2011, 2018 Albert Astals Cid <aacid at kde.org>
 // Copyright (C) 2011 Andreas Hartmetz <ahartmetz at gmail.com>
 // Copyright (C) 2013 Thomas Freitag <Thomas.Freitag at alfa.de>
 // Copyright (C) 2017 Adrian Johnson <ajohnson at redneon.com>
@@ -62,6 +62,9 @@ public:
 
   ~SplashFontEngine();
 
+  SplashFontEngine(const SplashFontEngine &) = delete;
+  SplashFontEngine& operator=(const SplashFontEngine &) = delete;
+
   // Get a font file from the cache.  Returns NULL if there is no
   // matching entry in the cache.
   SplashFontFile *getFontFile(SplashFontFileID *id);
diff --git a/splash/SplashFontFile.h b/splash/SplashFontFile.h
index ec87504b..d5291519 100644
--- a/splash/SplashFontFile.h
+++ b/splash/SplashFontFile.h
@@ -12,7 +12,7 @@
 // under GPL version 2 or later
 //
 // Copyright (C) 2006 Takashi Iwai <tiwai at suse.de>
-// Copyright (C) 2008, 2010 Albert Astals Cid <aacid at kde.org>
+// Copyright (C) 2008, 2010, 2018 Albert Astals Cid <aacid at kde.org>
 //
 // To see a description of the changes please see the Changelog file that
 // came with your tarball or type make ChangeLog if you are building from git
@@ -42,6 +42,9 @@ class SplashFontSrc {
 public:
   SplashFontSrc();
 
+  SplashFontSrc(const SplashFontSrc &) = delete;
+  SplashFontSrc& operator=(const SplashFontSrc&) = delete;
+
   void setFile(GooString *file, GBool del);
   void setFile(const char *file, GBool del);
   void setBuf(char *bufA, int buflenA, GBool del);
@@ -65,6 +68,9 @@ public:
 
   virtual ~SplashFontFile();
 
+  SplashFontFile(const SplashFontFile &) = delete;
+  SplashFontFile& operator=(const SplashFontFile &) = delete;
+
   // Create a new SplashFont, i.e., a scaled instance of this font
   // file.
   virtual SplashFont *makeFont(SplashCoord *mat, SplashCoord *textMat) = 0;
diff --git a/splash/SplashFontFileID.h b/splash/SplashFontFileID.h
index cfd89ebb..7ed28d6b 100644
--- a/splash/SplashFontFileID.h
+++ b/splash/SplashFontFileID.h
@@ -4,6 +4,20 @@
 //
 //========================================================================
 
+//========================================================================
+//
+// Modified under the Poppler project - http://poppler.freedesktop.org
+//
+// All changes made under the Poppler project to this file are licensed
+// under GPL version 2 or later
+//
+// Copyright (C) 2018 Albert Astals Cid <aacid at kde.org>
+//
+// To see a description of the changes please see the Changelog file that
+// came with your tarball or type make ChangeLog if you are building from git
+//
+//========================================================================
+
 #ifndef SPLASHFONTFILEID_H
 #define SPLASHFONTFILEID_H
 
@@ -22,6 +36,8 @@ public:
 
   SplashFontFileID();
   virtual ~SplashFontFileID();
+  SplashFontFileID(const SplashFontFileID &) = delete;
+  SplashFontFileID& operator=(const SplashFontFileID &) = delete;
   virtual GBool matches(SplashFontFileID *id) = 0;
 };
 
diff --git a/splash/SplashPath.h b/splash/SplashPath.h
index 73dbb637..c8164a8b 100644
--- a/splash/SplashPath.h
+++ b/splash/SplashPath.h
@@ -4,6 +4,20 @@
 //
 //========================================================================
 
+//========================================================================
+//
+// Modified under the Poppler project - http://poppler.freedesktop.org
+//
+// All changes made under the Poppler project to this file are licensed
+// under GPL version 2 or later
+//
+// Copyright (C) 2018 Albert Astals Cid <aacid at kde.org>
+//
+// To see a description of the changes please see the Changelog file that
+// came with your tarball or type make ChangeLog if you are building from git
+//
+//========================================================================
+
 #ifndef SPLASHPATH_H
 #define SPLASHPATH_H
 
@@ -62,6 +76,9 @@ public:
 
   ~SplashPath();
 
+  SplashPath(const SplashPath&) = delete;
+  SplashPath& operator=(const SplashPath&) = delete;
+
   // Append <path> to <this>.
   void append(SplashPath *path);
 
diff --git a/splash/SplashPattern.h b/splash/SplashPattern.h
index 1e2881c8..8464d529 100644
--- a/splash/SplashPattern.h
+++ b/splash/SplashPattern.h
@@ -12,6 +12,7 @@
 // under GPL version 2 or later
 //
 // Copyright (C) 2010, 2011, 2014 Thomas Freitag <Thomas.Freitag at alfa.de>
+// Copyright (C) 2018 Albert Astals Cid <aacid at kde.org>
 //
 // To see a description of the changes please see the Changelog file that
 // came with your tarball or type make ChangeLog if you are building from git
@@ -42,6 +43,9 @@ public:
 
   virtual ~SplashPattern();
 
+  SplashPattern(const SplashPattern &) = delete;
+  SplashPattern& operator=(const SplashPattern &) = delete;
+
   // Return the color value for a specific pixel.
   virtual GBool getColor(int x, int y, SplashColorPtr c) = 0;
 
diff --git a/splash/SplashScreen.h b/splash/SplashScreen.h
index a7fc4559..da17ab02 100644
--- a/splash/SplashScreen.h
+++ b/splash/SplashScreen.h
@@ -11,7 +11,7 @@
 // All changes made under the Poppler project to this file are licensed
 // under GPL version 2 or later
 //
-// Copyright (C) 2009 Albert Astals Cid <aacid at kde.org>
+// Copyright (C) 2009, 2018 Albert Astals Cid <aacid at kde.org>
 //
 // To see a description of the changes please see the Changelog file that
 // came with your tarball or type make ChangeLog if you are building from git
@@ -40,6 +40,9 @@ public:
   SplashScreen(SplashScreen *screen);
   ~SplashScreen();
 
+  SplashScreen(const SplashScreen&) = delete;
+  SplashScreen& operator=(const SplashScreen&) = delete;
+
   SplashScreen *copy() { return new SplashScreen(this); }
 
   // Return the computed pixel value (0=black, 1=white) for the gray
diff --git a/splash/SplashState.h b/splash/SplashState.h
index 32270382..5ba96a91 100644
--- a/splash/SplashState.h
+++ b/splash/SplashState.h
@@ -13,6 +13,7 @@
 //
 // Copyright (C) 2011, 2012, 2015 Thomas Freitag <Thomas.Freitag at alfa.de>
 // Copyright (C) 2017 Adrian Johnson <ajohnson at redneon.com>
+// Copyright (C) 2018 Albert Astals Cid <aacid at kde.org>
 //
 // To see a description of the changes please see the Changelog file that
 // came with your tarball or type make ChangeLog if you are building from git
@@ -67,6 +68,9 @@ public:
 
   ~SplashState();
 
+  SplashState(const SplashState&) = delete;
+  SplashState& operator=(const SplashState&) = delete;
+
   // Set the stroke pattern.  This does not copy <strokePatternA>.
   void setStrokePattern(SplashPattern *strokePatternA);
 
diff --git a/splash/SplashXPath.h b/splash/SplashXPath.h
index 1c7040da..7abb18b6 100644
--- a/splash/SplashXPath.h
+++ b/splash/SplashXPath.h
@@ -12,6 +12,7 @@
 // under GPL version 2 or later
 //
 // Copyright (C) 2013 Thomas Freitag <Thomas.Freitag at alfa.de>
+// Copyright (C) 2018 Albert Astals Cid <aacid at kde.org>
 //
 // To see a description of the changes please see the Changelog file that
 // came with your tarball or type make ChangeLog if you are building from git
@@ -72,6 +73,9 @@ public:
 
   ~SplashXPath();
 
+  SplashXPath(const SplashXPath&) = delete;
+  SplashXPath& operator=(const SplashXPath&) = delete;
+
   // Multiply all coordinates by splashAASize, in preparation for
   // anti-aliased rendering.
   void aaScale();
diff --git a/splash/SplashXPathScanner.h b/splash/SplashXPathScanner.h
index cc295cb6..b6c358d9 100644
--- a/splash/SplashXPathScanner.h
+++ b/splash/SplashXPathScanner.h
@@ -12,6 +12,7 @@
 // under GPL version 2 or later
 //
 // Copyright (C) 2013, 2014 Thomas Freitag <Thomas.Freitag at alfa.de>
+// Copyright (C) 2018 Albert Astals Cid <aacid at kde.org>
 //
 // To see a description of the changes please see the Changelog file that
 // came with your tarball or type make ChangeLog if you are building from git
@@ -44,6 +45,9 @@ public:
 
   ~SplashXPathScanner();
 
+  SplashXPathScanner(const SplashXPathScanner&) = delete;
+  SplashXPathScanner& operator=(const SplashXPathScanner&) = delete;
+
   // Return the path's bounding box.
   void getBBox(int *xMinA, int *yMinA, int *xMaxA, int *yMaxA)
     { *xMinA = xMin; *yMinA = yMin; *xMaxA = xMax; *yMaxA = yMax; }
diff --git a/test/perf-test.cc b/test/perf-test.cc
index 78083275..7710655e 100644
--- a/test/perf-test.cc
+++ b/test/perf-test.cc
@@ -1,5 +1,6 @@
 /* Copyright Krzysztof Kowalczyk 2006-2007
    Copyright Hib Eris <hib at hiberis.nl> 2008, 2013
+   Copyright 2018 Albert Astals Cid <aacid at kde.org> 2018
    License: GPLv2 */
 /*
   A tool to stress-test poppler rendering and measure rendering times for
@@ -82,6 +83,9 @@ public:
     PdfEnginePoppler();
     ~PdfEnginePoppler();
 
+    PdfEnginePoppler(const PdfEnginePoppler &) = delete;
+    PdfEnginePoppler& operator=(const PdfEnginePoppler &) = delete;
+
     const char *fileName(void) const { return _fileName; };
 
     void setFileName(const char *fileName) {
diff --git a/utils/HtmlFonts.h b/utils/HtmlFonts.h
index 252d5f90..83fea95a 100644
--- a/utils/HtmlFonts.h
+++ b/utils/HtmlFonts.h
@@ -18,7 +18,7 @@
 // under GPL version 2 or later
 //
 // Copyright (C) 2010 OSSD CDAC Mumbai by Leena Chourey (leenac at cdacmumbai.in) and Onkar Potdar (onkar at cdacmumbai.in)
-// Copyright (C) 2010, 2012, 2017 Albert Astals Cid <aacid at kde.org>
+// Copyright (C) 2010, 2012, 2017, 2018 Albert Astals Cid <aacid at kde.org>
 // Copyright (C) 2011 Steven Murdoch <Steven.Murdoch at cl.cam.ac.uk>
 // Copyright (C) 2011 Joshua Richardson <jric at chegg.com>
 // Copyright (C) 2012 Igor Slepchin <igor.slepchin at gmail.com>
@@ -105,6 +105,8 @@ private:
 public:
   HtmlFontAccu();
   ~HtmlFontAccu();
+  HtmlFontAccu(const HtmlFontAccu &) = delete;
+  HtmlFontAccu& operator=(const HtmlFontAccu &) = delete;
   int AddFont(const HtmlFont& font);
   HtmlFont *Get(int i){
     return &(*accu)[i];
diff --git a/utils/HtmlLinks.h b/utils/HtmlLinks.h
index 4a48dfa9..1eaa4990 100644
--- a/utils/HtmlLinks.h
+++ b/utils/HtmlLinks.h
@@ -17,7 +17,7 @@
 // All changes made under the Poppler project to this file are licensed
 // under GPL version 2 or later
 //
-// Copyright (C) 2010 Albert Astals Cid <aacid at kde.org>
+// Copyright (C) 2010, 2018 Albert Astals Cid <aacid at kde.org>
 //
 // To see a description of the changes please see the Changelog file that
 // came with your tarball or type make ChangeLog if you are building from git
@@ -45,6 +45,7 @@ public:
   HtmlLink(const HtmlLink& x);
   HtmlLink(double xmin,double ymin,double xmax,double ymax,GooString *_dest);
   ~HtmlLink();
+  HtmlLink& operator=(const HtmlLink &) = delete;
   GBool isEqualDest(const HtmlLink& x) const;
   GooString *getDest(){return new GooString(dest);}
   double getX1() const {return Xmin;}
@@ -63,6 +64,8 @@ private:
 public:
  HtmlLinks();
  ~HtmlLinks();
+ HtmlLinks(const HtmlLinks &) = delete;
+ HtmlLinks& operator=(const HtmlLinks &) = delete;
  void AddLink(const HtmlLink& x) {accu->push_back(x);}
  GBool inLink(double xmin,double ymin,double xmax,double ymax,int& p) const;
  HtmlLink* getLink(int i) const;
diff --git a/utils/HtmlOutputDev.cc b/utils/HtmlOutputDev.cc
index 7f933f0c..b73fc133 100644
--- a/utils/HtmlOutputDev.cc
+++ b/utils/HtmlOutputDev.cc
@@ -17,7 +17,7 @@
 // All changes made under the Poppler project to this file are licensed
 // under GPL version 2 or later
 //
-// Copyright (C) 2005-2013, 2016, 2017 Albert Astals Cid <aacid at kde.org>
+// Copyright (C) 2005-2013, 2016-2018 Albert Astals Cid <aacid at kde.org>
 // Copyright (C) 2008 Kjartan Maraas <kmaraas at gnome.org>
 // Copyright (C) 2008 Boris Toloknov <tlknv at yandex.ru>
 // Copyright (C) 2008 Haruyuki Kawabe <Haruyuki.Kawabe at unisys.co.jp>
@@ -89,6 +89,8 @@ public:
     state->transform(1, 1, &xMax, &yMin);
   }
  ~HtmlImage() { delete fName; }
+  HtmlImage(const HtmlImage &) = delete;
+  HtmlImage& operator=(const HtmlImage &) = delete;
 
   double xMin, xMax;		// image x coordinates
   double yMin, yMax;		// image y coordinates
diff --git a/utils/HtmlOutputDev.h b/utils/HtmlOutputDev.h
index 704c16bb..c3212998 100644
--- a/utils/HtmlOutputDev.h
+++ b/utils/HtmlOutputDev.h
@@ -14,7 +14,7 @@
 // All changes made under the Poppler project to this file are licensed
 // under GPL version 2 or later
 //
-// Copyright (C) 2006, 2007, 2009, 2012 Albert Astals Cid <aacid at kde.org>
+// Copyright (C) 2006, 2007, 2009, 2012, 2018 Albert Astals Cid <aacid at kde.org>
 // Copyright (C) 2008, 2009 Warren Toomey <wkt at tuhs.org>
 // Copyright (C) 2009, 2011 Carlos Garcia Campos <carlosgc at gnome.org>
 // Copyright (C) 2009 Kovid Goyal <kovid at kovidgoyal.net>
@@ -84,6 +84,9 @@ public:
   // Destructor.
   ~HtmlString();
 
+  HtmlString(const HtmlString &) = delete;
+  HtmlString& operator=(const HtmlString &) = delete;
+
   // Add a character to the string.
   void addChar(GfxState *state, double x, double y,
 	       double dx, double dy,
@@ -129,6 +132,9 @@ public:
   // Destructor.
   ~HtmlPage();
 
+  HtmlPage(const HtmlPage &) = delete;
+  HtmlPage& operator=(const HtmlPage &) = delete;
+
   // Begin a new string.
   void beginString(GfxState *state, GooString *s);
 
@@ -210,7 +216,10 @@ public:
     HtmlMetaVar(const char *_name, const char *_content);
     ~HtmlMetaVar();    
     
-    GooString* toString();	
+    HtmlMetaVar(const HtmlMetaVar &) = delete;
+    HtmlMetaVar& operator=(const HtmlMetaVar &) = delete;
+
+    GooString* toString();
 
 private:
 


More information about the poppler mailing list