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 5ca9e14..2121f1e 100644
--- a/cpp/poppler-document-private.h
+++ b/cpp/poppler-document-private.h
@@ -1,5 +1,6 @@
 /*
  * Copyright (C) 2009-2011, Pino Toscano <pino@kde.org>
+ * Copyright (C) 2018, Albert Astals Cid <aacid@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 @@
     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 1b9b633..b3dca2e 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@kde.org>
+ * Copyright (C) 2018, Albert Astals Cid <aacid@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 @@
     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 2a16a57..cc51e3d 100644
--- a/cpp/poppler-global.cpp
+++ b/cpp/poppler-global.cpp
@@ -4,6 +4,7 @@
  * Copyright (C) 2014, 2015 Hans-Peter Deifel <hpdeifel@gmx.de>
  * Copyright (C) 2015, Tamas Szekeres <szekerest@gmail.com>
  * Copyright (C) 2016 Jakub Alba <jakubalba@gmail.com>
+ * Copyright (C) 2018, Albert Astals Cid <aacid@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 @@
     {}
     ~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 33b5874..cb3c6d9 100644
--- a/cpp/poppler-image-private.h
+++ b/cpp/poppler-image-private.h
@@ -1,5 +1,6 @@
 /*
  * Copyright (C) 2010, Pino Toscano <pino@kde.org>
+ * Copyright (C) 2018, Albert Astals Cid <aacid@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 @@
     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 de699e8..aab2bb4 100644
--- a/cpp/poppler-image.cpp
+++ b/cpp/poppler-image.cpp
@@ -1,7 +1,7 @@
 /*
  * Copyright (C) 2010-2011, Pino Toscano <pino@kde.org>
  * Copyright (C) 2013 Adrian Johnson <ajohnson@redneon.com>
- * Copyright (C) 2017, Albert Astals Cid <aacid@kde.org>
+ * Copyright (C) 2017, 2018, Albert Astals Cid <aacid@kde.org>
  * Copyright (C) 2017, Jeroen Ooms <jeroenooms@gmail.com>
  *
  * This program is free software; you can redistribute it and/or modify
@@ -49,6 +49,8 @@
         : 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 b208cb8..e0c3446 100644
--- a/cpp/poppler-page-private.h
+++ b/cpp/poppler-page-private.h
@@ -1,5 +1,6 @@
 /*
  * Copyright (C) 2009, Pino Toscano <pino@kde.org>
+ * Copyright (C) 2018, Albert Astals Cid <aacid@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 @@
     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 e8841ff..29d439e 100644
--- a/cpp/poppler-toc-private.h
+++ b/cpp/poppler-toc-private.h
@@ -1,5 +1,6 @@
 /*
  * Copyright (C) 2009, Pino Toscano <pino@kde.org>
+ * Copyright (C) 2018, Albert Astals Cid <aacid@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 @@
     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 d613acd..be4e702 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@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 @@
 
 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 00b240f..1e657ef 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@melosgmbh.de>
+// Copyright (C) 2018 Albert Astals Cid <aacid@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 @@
 
 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 68dabc4..ed0758f 100644
--- a/goo/GooMutex.h
+++ b/goo/GooMutex.h
@@ -17,7 +17,7 @@
 //
 // Copyright (C) 2009 Kovid Goyal <kovid@kovidgoyal.net>
 // Copyright (C) 2013 Thomas Freitag <Thomas.Freitag@alfa.de>
-// Copyright (C) 2013 Albert Astals Cid <aacid@kde.org>
+// Copyright (C) 2013, 2018 Albert Astals Cid <aacid@kde.org>
 // Copyright (C) 2013 Adam Reichold <adamreichold@myopera.com>
 // Copyright (C) 2014 Bogdan Cristea <cristeab@gmail.com>
 // Copyright (C) 2014 Peter Breitenlohner <peb@mppmu.mpg.de>
@@ -81,6 +81,9 @@
   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 8feb351..2ab97cd 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@eload24.com>
-// Copyright (C) 2009, 2011 Albert Astals Cid <aacid@kde.org>
+// Copyright (C) 2009, 2011, 2018 Albert Astals Cid <aacid@kde.org>
 // Copyright (C) 2010 Adrian Johnson <ajohnson@redneon.com>
 // Copyright (C) 2010 Brian Cameron <brian.cameron@oracle.com>
 // Copyright (C) 2011 Thomas Freitag <Thomas.Freitag@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 13dfa3a..0741a92 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@redhat.com>
-// Copyright (C) 2009, 2011, 2012, 2017 Albert Astals Cid <aacid@kde.org>
+// Copyright (C) 2009, 2011, 2012, 2017, 2018 Albert Astals Cid <aacid@kde.org>
 // Copyright (C) 2009 Kovid Goyal <kovid@kovidgoyal.net>
 // Copyright (C) 2013 Adam Reichold <adamreichold@myopera.com>
 // Copyright (C) 2013, 2017 Adrian Johnson <ajohnson@redneon.com>
@@ -137,6 +137,9 @@
 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 82279bd..860d95e 100644
--- a/poppler/Annot.h
+++ b/poppler/Annot.h
@@ -21,7 +21,7 @@
 // Copyright (C) 2008 Hugo Mercier <hmercier31@gmail.com>
 // Copyright (C) 2008 Pino Toscano <pino@kde.org>
 // Copyright (C) 2008 Tomas Are Haavet <tomasare@gmail.com>
-// Copyright (C) 2009-2011, 2013, 2016, 2017 Albert Astals Cid <aacid@kde.org>
+// Copyright (C) 2009-2011, 2013, 2016-2018 Albert Astals Cid <aacid@kde.org>
 // Copyright (C) 2012, 2013 Fabio D'Urso <fabiodurso@hotmail.it>
 // Copyright (C) 2012, 2015 Tobias Koenig <tokoe@kdab.com>
 // Copyright (C) 2013 Thomas Freitag <Thomas.Freitag@alfa.de>
@@ -105,6 +105,9 @@
   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 @@
   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 @@
   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 @@
 
   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 @@
   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 @@
     Params(Dict *dict);
     ~Params();
 
+    Params(const Params &) = delete;
+    Params& operator=(const Params &) = delete;
+
     GooString* getFlashVars() const;
 
   private:
@@ -1439,6 +1457,9 @@
     Instance(Dict *dict);
     ~Instance();
 
+    Instance(const Instance &) = delete;
+    Instance& operator=(const Instance &) = delete;
+
     Type getType() const;
     Params* getParams() const;
 
@@ -1460,6 +1481,9 @@
     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 @@
     Asset();
     ~Asset();
 
+    Asset(const Asset &) = delete;
+    Asset& operator=(const Asset &) = delete;
+
     GooString* getName() const;
     Object* getFileSpec() const;
 
@@ -1495,6 +1522,9 @@
     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 @@
     Settings(Dict *dict);
     ~Settings();
 
+    Settings(const Settings &) = delete;
+    Settings& operator=(const Settings &) = delete;
+
     Activation* getActivation() const;
     Deactivation* getDeactivation() const;
 
@@ -1589,6 +1622,9 @@
 
   ~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 2babc8b..cd71c82 100644
--- a/poppler/Array.h
+++ b/poppler/Array.h
@@ -16,7 +16,7 @@
 // Copyright (C) 2005 Kristian Høgsberg <krh@redhat.com>
 // Copyright (C) 2012 Fabio D'Urso <fabiodurso@hotmail.it>
 // Copyright (C) 2013 Thomas Freitag <Thomas.Freitag@alfa.de>
-// Copyright (C) 2017 Albert Astals Cid <aacid@kde.org>
+// Copyright (C) 2017, 2018 Albert Astals Cid <aacid@kde.org>
 // Copyright (C) 2017 Adrian Johnson <ajohnson@redneon.com>
 //
 // To see a description of the changes please see the Changelog file that
@@ -50,6 +50,9 @@
   // 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 bbdd055..754e736 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@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 @@
 
   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 e85c086..d1a47e0 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@bbr.jp>
-// Copyright (C) 2009 Albert Astals Cid <aacid@kde.org>
+// Copyright (C) 2009, 2018 Albert Astals Cid <aacid@kde.org>
 // Copyright (C) 2012, 2017 Adrian Johnson <ajohnson@redneon.com>
 //
 // To see a description of the changes please see the Changelog file that
@@ -71,6 +71,9 @@
 
   ~CMap();
 
+  CMap(const CMap &) = delete;
+  CMap& operator=(const CMap &) = delete;
+
   void incRefCnt();
   void decRefCnt();
 
@@ -129,6 +132,9 @@
   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 b99ea1e..51edec8 100644
--- a/poppler/CachedFile.h
+++ b/poppler/CachedFile.h
@@ -8,7 +8,7 @@
 //
 // Copyright 2009 Stefan Thomas <thomas@eload24.com>
 // Copyright 2010 Hib Eris <hib@hiberis.nl>
-// Copyright 2010 Albert Astals Cid <aacid@kde.org>
+// Copyright 2010, 2018 Albert Astals Cid <aacid@kde.org>
 //
 //========================================================================
 
@@ -47,6 +47,9 @@
 
   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 @@
 
 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 12fa598..601fbae 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@redhat.com>
-// Copyright (C) 2005 Albert Astals Cid <aacid@kde.org>
+// Copyright (C) 2005, 2018 Albert Astals Cid <aacid@kde.org>
 // Copyright (C) 2006, 2007 Jeff Muizelaar <jeff@infidigm.net>
 // Copyright (C) 2006, 2010 Carlos Garcia Campos <carlosgc@gnome.org>
 // Copyright (C) 2008, 2017 Adrian Johnson <ajohnson@redneon.com>
@@ -51,6 +51,8 @@
 	    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 @@
   // 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 83ed1ab..451fa78 100644
--- a/poppler/CairoOutputDev.h
+++ b/poppler/CairoOutputDev.h
@@ -23,6 +23,7 @@
 // Copyright (C) 2010-2013 Thomas Freitag <Thomas.Freitag@alfa.de>
 // Copyright (C) 2015 Suzuki Toshiya <mpsuzuki@hiroshima-u.ac.jp>
 // Copyright (C) 2016 Jason Crain <jason@aquaticape.us>
+// Copyright (C) 2018 Albert Astals Cid <aacid@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 @@
   // 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 072e8a9..ca307cb 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@redneon.com>
+// Copyright (C) 2018 Albert Astals Cid <aacid@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 @@
   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 a2dd7fd..4acb67f 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@redhat.com>
-// Copyright (C) 2005, 2007, 2009-2011, 2013, 2017 Albert Astals Cid <aacid@kde.org>
+// Copyright (C) 2005, 2007, 2009-2011, 2013, 2017, 2018 Albert Astals Cid <aacid@kde.org>
 // Copyright (C) 2005 Jonathan Blandford <jrb@redhat.com>
 // Copyright (C) 2005, 2006, 2008 Brad Hards <bradh@frogmouth.net>
 // Copyright (C) 2007 Julien Rebetez <julienr@svn.gnome.org>
@@ -68,6 +68,10 @@
 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 @@
   // 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 e2b12ae..1357221 100644
--- a/poppler/CharCodeToUnicode.h
+++ b/poppler/CharCodeToUnicode.h
@@ -17,7 +17,7 @@
 //
 // Copyright (C) 2007 Julien Rebetez <julienr@svn.gnome.org>
 // Copyright (C) 2007 Koji Otani <sho@bbr.jp>
-// Copyright (C) 2008, 2011, 2012 Albert Astals Cid <aacid@kde.org>
+// Copyright (C) 2008, 2011, 2012, 2018 Albert Astals Cid <aacid@kde.org>
 // Copyright (C) 2017 Adrian Johnson <ajohnson@redneon.com>
 //
 // To see a description of the changes please see the Changelog file that
@@ -78,6 +78,9 @@
 
   ~CharCodeToUnicode();
 
+  CharCodeToUnicode(const CharCodeToUnicode &) = delete;
+  CharCodeToUnicode& operator=(const CharCodeToUnicode &) = delete;
+
   void incRefCnt();
   void decRefCnt();
 
@@ -130,6 +133,9 @@
   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 328f422..9fd732a 100644
--- a/poppler/Dict.h
+++ b/poppler/Dict.h
@@ -16,7 +16,7 @@
 // Copyright (C) 2005 Kristian Høgsberg <krh@redhat.com>
 // Copyright (C) 2006 Krzysztof Kowalczyk <kkowalczyk@gmail.com>
 // Copyright (C) 2007-2008 Julien Rebetez <julienr@svn.gnome.org>
-// Copyright (C) 2010, 2017 Albert Astals Cid <aacid@kde.org>
+// Copyright (C) 2010, 2017, 2018 Albert Astals Cid <aacid@kde.org>
 // Copyright (C) 2010 Paweł Wiejacha <pawel.wiejacha@gmail.com>
 // Copyright (C) 2013 Thomas Freitag <Thomas.Freitag@alfa.de>
 // Copyright (C) 2017 Adrian Johnson <ajohnson@redneon.com>
@@ -57,6 +57,9 @@
   // 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 6133117..2839465 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@gnome.org>
-// Copyright (C) 2017 Albert Astals Cid <aacid@kde.org>
+// Copyright (C) 2017, 2018 Albert Astals Cid <aacid@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 @@
   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 @@
   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 615b679..f650146 100644
--- a/poppler/FontInfo.h
+++ b/poppler/FontInfo.h
@@ -3,7 +3,7 @@
 // FontInfo.h
 //
 // Copyright (C) 2005 Kristian Høgsberg <krh@redhat.com>
-// Copyright (C) 2005-2008, 2010, 2011 Albert Astals Cid <aacid@kde.org>
+// Copyright (C) 2005-2008, 2010, 2011, 2018 Albert Astals Cid <aacid@kde.org>
 // Copyright (C) 2005 Brad Hards <bradh@frogmouth.net>
 // Copyright (C) 2009 Pino Toscano <pino@kde.org>
 // Copyright (C) 2012 Adrian Johnson <ajohnson@redneon.com>
@@ -56,6 +56,8 @@
   // 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 8e72334..5eaeb42 100644
--- a/poppler/Form.h
+++ b/poppler/Form.h
@@ -6,7 +6,7 @@
 //
 // Copyright 2006 Julien Rebetez <julienr@svn.gnome.org>
 // Copyright 2007, 2008, 2011 Carlos Garcia Campos <carlosgc@gnome.org>
-// Copyright 2007-2010, 2012, 2015-2017 Albert Astals Cid <aacid@kde.org>
+// Copyright 2007-2010, 2012, 2015-2018 Albert Astals Cid <aacid@kde.org>
 // Copyright 2010 Mark Riedesel <mark@klowner.com>
 // Copyright 2011 Pino Toscano <pino@kde.org>
 // Copyright 2012 Fabio D'Urso <fabiodurso@hotmail.it>
@@ -563,6 +563,9 @@
 
   ~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 @@
   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 56e5495..65b5325 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@kde.org>
+// Copyright (C) 2009, 2010, 2018 Albert Astals Cid <aacid@kde.org>
 // Copyright (C) 2010 Christian Feuersänger <cfeuersaenger@googlemail.com>
 // Copyright (C) 2011 Andrea Canciani <ranma42@gmail.com>
 // Copyright (C) 2012 Thomas Freitag <Thomas.Freitag@alfa.de>
@@ -56,6 +56,9 @@
 
   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 fd40dd9..62b109a 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@redhat.com>
-// Copyright (C) 2005-2013, 2015-2017 Albert Astals Cid <aacid@kde.org>
+// Copyright (C) 2005-2013, 2015-2018 Albert Astals Cid <aacid@kde.org>
 // Copyright (C) 2006 Thorkild Stray <thorkild@ifi.uio.no>
 // Copyright (C) 2006 Kristian Høgsberg <krh@redhat.com>
 // Copyright (C) 2006-2011 Carlos Garcia Campos <carlosgc@gnome.org>
@@ -5115,6 +5115,9 @@
     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 293f455..8e2f66c 100644
--- a/poppler/Gfx.h
+++ b/poppler/Gfx.h
@@ -17,7 +17,7 @@
 // Copyright (C) 2007 Iñigo Martínez <inigomartinez@gmail.com>
 // Copyright (C) 2008 Brad Hards <bradh@kde.org>
 // Copyright (C) 2008, 2010 Carlos Garcia Campos <carlosgc@gnome.org>
-// Copyright (C) 2009-2013, 2017 Albert Astals Cid <aacid@kde.org>
+// Copyright (C) 2009-2013, 2017, 2018 Albert Astals Cid <aacid@kde.org>
 // Copyright (C) 2009, 2010, 2012, 2013 Thomas Freitag <Thomas.Freitag@alfa.de>
 // Copyright (C) 2010 David Benjamin <davidben@mit.edu>
 // Copyright (C) 2010 Christian Feuersänger <cfeuersaenger@googlemail.com>
@@ -112,6 +112,9 @@
   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 @@
 #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 5985912..00df389 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@kde.org>
+// Copyright (C) 2005, 2008, 2015, 2017, 2018 Albert Astals Cid <aacid@kde.org>
 // Copyright (C) 2006 Takashi Iwai <tiwai@suse.de>
 // Copyright (C) 2006 Kristian Høgsberg <krh@redhat.com>
 // Copyright (C) 2007 Julien Rebetez <julienr@svn.gnome.org>
@@ -114,6 +114,9 @@
   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 @@
   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 @@
   // 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 93463d4..68224f8 100644
--- a/poppler/GfxState.cc
+++ b/poppler/GfxState.cc
@@ -4620,6 +4620,8 @@
 
   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 bfbf53c..6f4ae9a 100644
--- a/poppler/GfxState.h
+++ b/poppler/GfxState.h
@@ -17,7 +17,7 @@
 // Copyright (C) 2006, 2007 Jeff Muizelaar <jeff@infidigm.net>
 // Copyright (C) 2006 Carlos Garcia Campos <carlosgc@gnome.org>
 // Copyright (C) 2009 Koji Otani <sho@bbr.jp>
-// Copyright (C) 2009-2011, 2013, 2016, 2017 Albert Astals Cid <aacid@kde.org>
+// Copyright (C) 2009-2011, 2013, 2016-2018 Albert Astals Cid <aacid@kde.org>
 // Copyright (C) 2010 Christian Feuersänger <cfeuersaenger@googlemail.com>
 // Copyright (C) 2011 Andrea Canciani <ranma42@gmail.com>
 // Copyright (C) 2011-2014, 2016 Thomas Freitag <Thomas.Freitag@alfa.de>
@@ -196,6 +196,8 @@
   // 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 @@
 
   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 @@
   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 @@
   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 @@
   // 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 @@
   // Destructor.
   ~GfxSubpath();
 
+  GfxSubpath(const GfxSubpath &) = delete;
+  GfxSubpath& operator=(const GfxSubpath &) = delete;
+
   // Copy.
   GfxSubpath *copy() { return new GfxSubpath(this); }
 
@@ -1299,6 +1317,9 @@
   // 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 @@
   // 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 1f2b4ec..fafd893 100644
--- a/poppler/GlobalParams.cc
+++ b/poppler/GlobalParams.cc
@@ -15,7 +15,7 @@
 //
 // Copyright (C) 2005 Martin Kretzschmar <martink@gnome.org>
 // Copyright (C) 2005, 2006 Kristian Høgsberg <krh@redhat.com>
-// Copyright (C) 2005, 2007-2010, 2012, 2015, 2017 Albert Astals Cid <aacid@kde.org>
+// Copyright (C) 2005, 2007-2010, 2012, 2015, 2017, 2018 Albert Astals Cid <aacid@kde.org>
 // Copyright (C) 2005 Jonathan Blandford <jrb@redhat.com>
 // Copyright (C) 2006, 2007 Jeff Muizelaar <jeff@infidigm.net>
 // Copyright (C) 2006 Takashi Iwai <tiwai@suse.de>
@@ -210,6 +210,8 @@
   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 @@
 
   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 7c61ae4..e3d660c 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@kde.org>
+// Copyright (C) 2005, 2007-2010, 2012, 2015, 2017, 2018 Albert Astals Cid <aacid@kde.org>
 // Copyright (C) 2005 Jonathan Blandford <jrb@redhat.com>
 // Copyright (C) 2006 Takashi Iwai <tiwai@suse.de>
 // Copyright (C) 2006 Kristian Høgsberg <krh@redhat.com>
@@ -108,6 +108,9 @@
 
   ~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 f9d05da..a906226 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@hiberis.nl>
-// Copyright 2010, 2013, 2016 Albert Astals Cid <aacid@kde.org>
+// Copyright 2010, 2013, 2016, 2018 Albert Astals Cid <aacid@kde.org>
 // Copyright 2013 Adrian Johnson <ajohnson@redneon.com>
 //
 //========================================================================
@@ -33,6 +33,9 @@
   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 3c3e6fe..cb8f481 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@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 @@
 
   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 @@
 
   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 bda7f42..90078ec 100644
--- a/poppler/JBIG2Stream.cc
+++ b/poppler/JBIG2Stream.cc
@@ -15,7 +15,7 @@
 //
 // Copyright (C) 2006 Raj Kumar <rkumar@archive.org>
 // Copyright (C) 2006 Paul Walmsley <paul@booyaka.com>
-// Copyright (C) 2006-2010, 2012, 2014-2017 Albert Astals Cid <aacid@kde.org>
+// Copyright (C) 2006-2010, 2012, 2014-2018 Albert Astals Cid <aacid@kde.org>
 // Copyright (C) 2009 David Benjamin <davidben@mit.edu>
 // Copyright (C) 2011 Edward Jiang <ejiang@google.com>
 // Copyright (C) 2012 William Bader <williambader@hotmail.com>
@@ -651,6 +651,8 @@
 
   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 ac3334c..eb692a5 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@kde.org>
+// Copyright (C) 2006, 2007, 2010, 2013, 2017, 2018 Albert Astals Cid <aacid@kde.org>
 // Copyright (C) 2006 Krzysztof Kowalczyk <kkowalczyk@gmail.com>
 // Copyright (C) 2013 Adrian Johnson <ajohnson@redneon.com>
 // Copyright (C) 2013 Thomas Freitag <Thomas.Freitag@alfa.de>
@@ -55,6 +55,9 @@
   // 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 df44a49..f97ec02 100644
--- a/poppler/Link.h
+++ b/poppler/Link.h
@@ -17,6 +17,7 @@
 // Copyright (C) 2008 Hugo Mercier <hmercier31@gmail.com>
 // Copyright (C) 2010, 2011 Carlos Garcia Campos <carlosgc@gnome.org>
 // Copyright (C) 2012 Tobias Koening <tobias.koenig@kdab.com>
+// Copyright (C) 2018 Albert Astals Cid <aacid@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 @@
 class LinkAction {
 public:
 
+  LinkAction() = default;
+  LinkAction(const LinkAction &) = delete;
+  LinkAction& operator=(const LinkAction &other) = delete;
+
   // Destructor.
   virtual ~LinkAction() {}
 
@@ -431,6 +436,8 @@
   struct StateList {
     StateList() { list = NULL; }
     ~StateList();
+    StateList(const StateList &) = delete;
+    StateList& operator=(const StateList &) = delete;
     State st;
     GooList *list;
   };
@@ -481,6 +488,9 @@
   // 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 5b9de05..e2b69ae 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@kde.org>
 //
 //========================================================================
 
@@ -72,6 +73,9 @@
         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 c0fcd8f..6537916 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@gnome.org> (c) 2010
-// Albert Astals Cid <aacid@kde.org> (c) 2017
+// Albert Astals Cid <aacid@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 @@
   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 5b1092b..da4c9c6 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@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 @@
   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 2e41646..a8c05b3 100644
--- a/poppler/OptionalContent.h
+++ b/poppler/OptionalContent.h
@@ -4,7 +4,7 @@
 //
 // Copyright 2007 Brad Hards <bradh@kde.org>
 // Copyright 2008 Carlos Garcia Campos <carlosgc@gnome.org>
-// Copyright 2013 Albert Astals Cid <aacid@kde.org>
+// Copyright 2013, 2018 Albert Astals Cid <aacid@kde.org>
 //
 // Released under the GPL (version 2, or later, at your option)
 //
@@ -35,6 +35,9 @@
   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 @@
 
   ~OptionalContentGroup();
 
+  OptionalContentGroup(const OptionalContentGroup &) = delete;
+  OptionalContentGroup& operator=(const OptionalContentGroup &) = delete;
+
   GooString* getName() const;
 
   Ref getRef() const;
@@ -118,6 +124,9 @@
   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 1585d0e..1584ddc 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@redhat.com>
-// Copyright (C) 2016 Albert Astals Cid <aacid@kde.org>
+// Copyright (C) 2016, 2018 Albert Astals Cid <aacid@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 @@
   Outline(Object *outlineObj, XRef *xref);
   ~Outline();
 
+  Outline(const Outline &) = delete;
+  Outline& operator=(const Outline &) = delete;
+
   GooList *getItems() { return items; }
 
 private:
@@ -60,6 +63,9 @@
   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 48d8dcf..5af5477 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@frogmouth.net>
-// Copyright (C) 2005, 2009, 2014, 2015, 2017 Albert Astals Cid <aacid@kde.org>
+// Copyright (C) 2005, 2009, 2014, 2015, 2017, 2018 Albert Astals Cid <aacid@kde.org>
 // Copyright (C) 2008 Julien Rebetez <julienr@svn.gnome.org>
 // Copyright (C) 2008 Pino Toscano <pino@kde.org>
 // Copyright (C) 2008 Carlos Garcia Campos <carlosgc@gnome.org>
@@ -92,6 +92,9 @@
 	 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 d6eccf5..8239f68 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@hiberis.nl>
-// Copyright 2010 Albert Astals Cid <aacid@kde.org>
+// Copyright 2010, 2018 Albert Astals Cid <aacid@kde.org>
 //
 //========================================================================
 
@@ -26,7 +26,11 @@
 
 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 dbceaa5..8e14fd6 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@hiberis.nl>
-// Copyright 2010 Albert Astals Cid <aacid@kde.org>
+// Copyright 2010, 2018 Albert Astals Cid <aacid@kde.org>
 //
 //========================================================================
 
@@ -37,6 +37,9 @@
   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 ac4f028..cf04344 100644
--- a/poppler/PSOutputDev.cc
+++ b/poppler/PSOutputDev.cc
@@ -15,7 +15,7 @@
 //
 // Copyright (C) 2005 Martin Kretzschmar <martink@gnome.org>
 // Copyright (C) 2005, 2006 Kristian Høgsberg <krh@redhat.com>
-// Copyright (C) 2006-2009, 2011-2013, 2015-2017 Albert Astals Cid <aacid@kde.org>
+// Copyright (C) 2006-2009, 2011-2013, 2015-2018 Albert Astals Cid <aacid@kde.org>
 // Copyright (C) 2006 Jeff Muizelaar <jeff@infidigm.net>
 // Copyright (C) 2007, 2008 Brad Hards <bradh@kde.org>
 // Copyright (C) 2008, 2009 Koji Otani <sho@bbr.jp>
@@ -946,6 +946,9 @@
 		   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 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 97b70a0..6157079 100644
--- a/poppler/Page.h
+++ b/poppler/Page.h
@@ -20,7 +20,7 @@
 // Copyright (C) 2007 Julien Rebetez <julienr@svn.gnome.org>
 // Copyright (C) 2008 Iñigo Martínez <inigomartinez@gmail.com>
 // Copyright (C) 2012 Fabio D'Urso <fabiodurso@hotmail.it>
-// Copyright (C) 2012, 2017 Albert Astals Cid <aacid@kde.org>
+// Copyright (C) 2012, 2017, 2018 Albert Astals Cid <aacid@kde.org>
 // Copyright (C) 2013 Thomas Freitag <Thomas.Freitag@alfa.de>
 // Copyright (C) 2013, 2017 Adrian Johnson <ajohnson@redneon.com>
 //
@@ -148,6 +148,9 @@
   // 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 960e710..60b2ea9 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@redhat.com>
-// Copyright (C) 2005 Albert Astals Cid <aacid@kde.org>
+// Copyright (C) 2005, 2018 Albert Astals Cid <aacid@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 @@
 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 @@
   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 d275110..c85effc 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@kde.org>
+// Copyright (C) 2006, 2010, 2013, 2017, 2018 Albert Astals Cid <aacid@kde.org>
 // Copyright (C) 2012 Hib Eris <hib@hiberis.nl>
 // Copyright (C) 2013 Adrian Johnson <ajohnson@redneon.com>
 // Copyright (C) 2013 Thomas Freitag <Thomas.Freitag@alfa.de>
@@ -45,6 +45,9 @@
   // 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 f9d8a1d..ecc983a 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@bbr.jp>
-// Copyright (C) 2009, 2010, 2017 Albert Astals Cid <aacid@kde.org>
+// Copyright (C) 2009, 2010, 2017, 2018 Albert Astals Cid <aacid@kde.org>
 // Copyright (C) 2010 Carlos Garcia Campos <carlosgc@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 @@
     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 @@
     PopplerCacheKey *key(int index);
   
   private:
-    PopplerCache(const PopplerCache &cache); // not allowed
-  
     PopplerCacheKey **keys;
     PopplerCacheItem **items;
     int lastValidCacheIndex;
@@ -67,6 +76,9 @@
     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 5a937f2..d84505f 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@gnome.org> (c) 2010
-// Albert Astals Cid <aacid@kde.org> (C) 2017
+// Albert Astals Cid <aacid@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 @@
   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 f774ce8..5f9e728 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@kde.org>
+// Copyright (C) 2010, 2012, 2015, 2017, 2018 Albert Astals Cid <aacid@kde.org>
 // Copyright (C) 2013 Adrian Johnson <ajohnson@redneon.com>
 // Copyright (C) 2014 Fabio D'Urso <fabiodurso@hotmail.it>
 // Copyright (C) 2016 Alok Anand <alok4nand@gmail.com>
@@ -137,6 +137,9 @@
     }
   }
 
+  StandardAuthData(const StandardAuthData &) = delete;
+  StandardAuthData& operator=(const StandardAuthData &) = delete;
+
   GooString *ownerPassword;
   GooString *userPassword;
 };
diff --git a/poppler/SecurityHandler.h b/poppler/SecurityHandler.h
index f363d3f..cc21b2c 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@kde.org>
+// Copyright (C) 2012, 2018 Albert Astals Cid <aacid@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 @@
   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 5e33cb5..e88de4d 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@kde.org>
- * Copyright (C) 2017, Albert Astals Cid <aacid@kde.org>
+ * Copyright (C) 2017, 2018, Albert Astals Cid <aacid@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 @@
   // 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 2817435..19d43d7 100644
--- a/poppler/SplashOutputDev.cc
+++ b/poppler/SplashOutputDev.cc
@@ -15,7 +15,7 @@
 //
 // Copyright (C) 2005 Takashi Iwai <tiwai@suse.de>
 // Copyright (C) 2006 Stefan Schweizer <genstef@gentoo.org>
-// Copyright (C) 2006-2017 Albert Astals Cid <aacid@kde.org>
+// Copyright (C) 2006-2018 Albert Astals Cid <aacid@kde.org>
 // Copyright (C) 2006 Krzysztof Kowalczyk <kkowalczyk@gmail.com>
 // Copyright (C) 2006 Scott Turner <scotty1024@mac.com>
 // Copyright (C) 2007 Koji Otani <sho@bbr.jp>
@@ -1232,6 +1232,8 @@
 	      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 36988cc..b58da82 100644
--- a/poppler/Stream.h
+++ b/poppler/Stream.h
@@ -15,7 +15,7 @@
 //
 // Copyright (C) 2005 Jeff Muizelaar <jeff@infidigm.net>
 // Copyright (C) 2008 Julien Rebetez <julien@fhtagn.net>
-// Copyright (C) 2008, 2010, 2011, 2016, 2017 Albert Astals Cid <aacid@kde.org>
+// Copyright (C) 2008, 2010, 2011, 2016-2018 Albert Astals Cid <aacid@kde.org>
 // Copyright (C) 2009 Carlos Garcia Campos <carlosgc@gnome.org>
 // Copyright (C) 2009 Stefan Thomas <thomas@eload24.com>
 // Copyright (C) 2010 Hib Eris <hib@hiberis.nl>
@@ -105,6 +105,9 @@
   // 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 @@
   // Desctructor.
   virtual ~OutStream ();
 
+  OutStream(const OutStream &) = delete;
+  OutStream& operator=(const OutStream &other) = delete;
+
   // Close the stream
   virtual void close() = 0;
 
@@ -368,6 +374,9 @@
 
   ~ImageStream();
 
+  ImageStream(const ImageStream &) = delete;
+  ImageStream& operator=(const ImageStream &other) = delete;
+
   // Reset the stream.
   void reset();
 
@@ -412,6 +421,9 @@
 
   ~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 cd89a97..2fa6bb1 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@gmail.com>
-// Copyright 2014 Albert Astals Cid <aacid@kde.org>
+// Copyright 2014, 2018 Albert Astals Cid <aacid@kde.org>
 //
 //========================================================================
 
@@ -270,6 +270,9 @@
 
     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 ca68849..25b4720 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@kde.org>
 //
 //========================================================================
 
@@ -31,6 +32,9 @@
   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 b99797a..d122186 100644
--- a/poppler/TextOutputDev.cc
+++ b/poppler/TextOutputDev.cc
@@ -4303,6 +4303,8 @@
 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 380301f..5e92dfb 100644
--- a/poppler/TextOutputDev.h
+++ b/poppler/TextOutputDev.h
@@ -17,7 +17,7 @@
 // Copyright (C) 2006 Ed Catmur <ed@catmur.co.uk>
 // Copyright (C) 2007, 2008, 2011, 2013 Carlos Garcia Campos <carlosgc@gnome.org>
 // Copyright (C) 2007, 2017 Adrian Johnson <ajohnson@redneon.com>
-// Copyright (C) 2008, 2010, 2015, 2016 Albert Astals Cid <aacid@kde.org>
+// Copyright (C) 2008, 2010, 2015, 2016, 2018 Albert Astals Cid <aacid@kde.org>
 // Copyright (C) 2010 Brian Ewins <brian.ewins@gmail.com>
 // Copyright (C) 2012, 2013, 2015, 2016 Jason Crain <jason@aquaticape.us>
 // Copyright (C) 2013 Thomas Freitag <Thomas.Freitag@alfa.de>
@@ -79,6 +79,9 @@
   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 @@
   // 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 @@
   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 @@
   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 @@
   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 @@
   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 @@
 
   ~TextWordList();
 
+  TextWordList(const TextWordList &) = delete;
+  TextWordList& operator=(const TextWordList &) = delete;
+
   // Return the number of words on the list.
   int getLength();
 
@@ -531,6 +552,9 @@
   // Constructor.
   TextPage(GBool rawOrderA);
 
+  TextPage(const TextPage &) = delete;
+  TextPage& operator=(const TextPage &) = delete;
+
   void incRefCnt();
   void decRefCnt();
 
@@ -702,6 +726,9 @@
   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 46b4c0f..f3444aa 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@redneon.com>
+// Copyright (C) 2018 Albert Astals Cid <aacid@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 @@
 
   ~UnicodeMap();
 
+  UnicodeMap(const UnicodeMap &) = delete;
+  UnicodeMap& operator=(const UnicodeMap &) = delete;
+
   void incRefCnt();
   void decRefCnt();
 
@@ -123,6 +127,9 @@
   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 f04a31f..6d1a75a 100644
--- a/poppler/XRef.cc
+++ b/poppler/XRef.cc
@@ -15,7 +15,7 @@
 //
 // Copyright (C) 2005 Dan Sheridan <dan.sheridan@postman.org.uk>
 // Copyright (C) 2005 Brad Hards <bradh@frogmouth.net>
-// Copyright (C) 2006, 2008, 2010, 2012-2014, 2016, 2017 Albert Astals Cid <aacid@kde.org>
+// Copyright (C) 2006, 2008, 2010, 2012-2014, 2016-2018 Albert Astals Cid <aacid@kde.org>
 // Copyright (C) 2007-2008 Julien Rebetez <julienr@svn.gnome.org>
 // Copyright (C) 2007 Carlos Garcia Campos <carlosgc@gnome.org>
 // Copyright (C) 2009, 2010 Ilya Gorenbein <igorenbein@finjan.com>
@@ -95,6 +95,9 @@
 
   ~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 9306a99..686b3eb 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@frogmouth.net>
-// Copyright (C) 2006, 2008, 2010-2013, 2017 Albert Astals Cid <aacid@kde.org>
+// Copyright (C) 2006, 2008, 2010-2013, 2017, 2018 Albert Astals Cid <aacid@kde.org>
 // Copyright (C) 2007-2008 Julien Rebetez <julienr@svn.gnome.org>
 // Copyright (C) 2007 Carlos Garcia Campos <carlosgc@gnome.org>
 // Copyright (C) 2010 Ilya Gorenbein <igorenbein@finjan.com>
@@ -104,6 +104,9 @@
   // Destructor.
   ~XRef();
 
+  XRef(const XRef &) = delete;
+  XRef& operator=(const XRef &) = delete;
+
   // Copy xref but with new base stream!
   XRef *copy();
 
@@ -253,9 +256,13 @@
 
   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 38fe204..05ef8fe 100644
--- a/qt5/demos/documentobserver.h
+++ b/qt5/demos/documentobserver.h
@@ -1,5 +1,6 @@
 /*
  * Copyright (C) 2008, Pino Toscano <pino@kde.org>
+ * Copyright (C) 2018, Albert Astals Cid <aacid@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 @@
 
 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 b530e2f..b0072af 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@kde.org>
  * Copyright (C) 2012, Tobias Koenig <tokoe@kdab.com>
  * Copyright (C) 2012, 2013 Fabio D'Urso <fabiodurso@hotmail.it>
- * Copyright (C) 2012, 2014, Albert Astals Cid <aacid@kde.org>
+ * Copyright (C) 2012, 2014, 2018, Albert Astals Cid <aacid@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 @@
         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 4da4cf2..7e752ba 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@kde.org>
+ * Copyright (C) 2006, 2009, 2012-2015, 2018 Albert Astals Cid <aacid@kde.org>
  * Copyright (C) 2006, 2008, 2010 Pino Toscano <pino@kde.org>
  * Copyright (C) 2012, Guillermo A. Amaral B. <gamaral@kde.org>
  * Copyright (C) 2012-2014 Fabio D'Urso <fabiodurso@hotmail.it>
@@ -4632,6 +4632,9 @@
             delete params;
         }
 
+        Private(const Private &) = delete;
+        Private& operator=(const Private &) = delete;
+
         RichMediaAnnotation::Instance::Type type;
         RichMediaAnnotation::Params *params;
 };
@@ -4677,6 +4680,9 @@
             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 @@
             delete embeddedFile;
         }
 
+        Private(const Private &) = delete;
+        Private& operator=(const Private &) = delete;
+
         QString name;
         EmbeddedFile *embeddedFile;
 };
@@ -4786,6 +4795,9 @@
             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 1340d35..8650321 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@kde.org>
+ * Copyright (C) 2007, 2009, 2018, Albert Astals Cid <aacid@kde.org>
  * Copyright (C) 2008, Pino Toscano <pino@kde.org>
  *
  * This program is free software; you can redistribute it and/or modify
@@ -34,6 +34,9 @@
 		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 ff1388e..36c2cb0 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@kde.org>
+ * Copyright (C) 2005, 2008, 2009, 2012, 2018, Albert Astals Cid <aacid@kde.org>
  * Copyright (C) 2005, Brad Hards <bradh@frogmouth.net>
  * Copyright (C) 2008, 2011, Pino Toscano <pino@kde.org>
  *
@@ -31,6 +31,9 @@
 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 7b03c1c..6bc5cb9 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@kde.org>
+ * Copyright (C) 2016, 2018, Albert Astals Cid <aacid@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 @@
     {
     }
 
+    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 f385f02..10ee7e3 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@kde.org>
- * Copyright (C) 2013 Albert Astals Cid <aacid@kde.org>
+ * Copyright (C) 2013, 2018 Albert Astals Cid <aacid@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 @@
     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 cdb674d..418c16b 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@kde.org>
- * Copyright (C) 2008, Albert Astals Cid <aacid@kde.org>
+ * Copyright (C) 2008, 2018, Albert Astals Cid <aacid@kde.org>
  * Copyright (C) 2010, Carlos Garcia Campos <carlosgc@gnome.org>
  * Copyright (C) 2012, Tobias Koenig <tobias.koenig@kdab.com>
  *
@@ -43,6 +43,9 @@
 		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 b5e5299..a134cd5 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@kde.org>
  * Copyright (C) 2008, Pino Toscano <pino@kde.org>
- * Copyright (C) 2016, Albert Astals Cid <aacid@kde.org>
+ * Copyright (C) 2016, 2018, Albert Astals Cid <aacid@kde.org>
  * Copyright (C) 2017, Hubert Figuière <hub@figuiere.net>
  *
  * This program is free software; you can redistribute it and/or modify
@@ -94,6 +94,9 @@
     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 4fa39ed..759592e 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@alumni.chalmers.se>
+ * Copyright (C) 2018 Albert Astals Cid <aacid@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 @@
         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 57a2388..c53ddf2 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@frogmouth.net>
  * Copyright (C) 2015, Arseniy Lartsev <arseniy@alumni.chalmers.se>
+ * Copyright (C) 2018 Albert Astals Cid <aacid@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 @@
      Destructor
   */
   ~PageTransition();
-  
+
   /**
      \brief Get type of the transition.
   */
diff --git a/qt5/src/poppler-private.h b/qt5/src/poppler-private.h
index 6d0d194..4313f3f 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@frogmouth.net>
- * Copyright (C) 2006-2009, 2011, 2012, 2017 by Albert Astals Cid <aacid@kde.org>
+ * Copyright (C) 2006-2009, 2011, 2012, 2017, 2018 by Albert Astals Cid <aacid@kde.org>
  * Copyright (C) 2007-2009, 2011, 2014 by Pino Toscano <pino@kde.org>
  * Copyright (C) 2011 Andreas Hartmetz <ahartmetz@gmail.com>
  * Copyright (C) 2011 Hib Eris <hib@hiberis.nl>
@@ -114,6 +114,9 @@
 	void init();
 	
 	~DocumentData();
+
+	DocumentData(const DocumentData &) = delete;
+	DocumentData& operator=(const DocumentData &) = delete;
 	
 	void addTocChildren( QDomDocument * docSyn, QDomNode * parent, GooList * items );
 	
@@ -158,16 +161,6 @@
 			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 @@
 			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 6e6cef7..3d1aee3 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@kde.org>
- * Copyright (C) 2008, Albert Astals Cid <aacid@kde.org>
+ * Copyright (C) 2008, 2018, Albert Astals Cid <aacid@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 @@
 		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 907e4c3..8817dc0 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@redhat.com>
-// Copyright (C) 2007, 2011 Albert Astals Cid <aacid@kde.org>
+// Copyright (C) 2007, 2011, 2018 Albert Astals Cid <aacid@kde.org>
 // Copyright (C) 2010-2013, 2015 Thomas Freitag <Thomas.Freitag@alfa.de>
 // Copyright (C) 2010 Christian Feuersänger <cfeuersaenger@googlemail.com>
 // Copyright (C) 2012, 2017 Adrian Johnson <ajohnson@redneon.com>
@@ -98,6 +98,9 @@
 
   ~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 ccd3e7d..092bd4c 100644
--- a/splash/SplashBitmap.h
+++ b/splash/SplashBitmap.h
@@ -13,7 +13,7 @@
 //
 // Copyright (C) 2007 Ilmari Heikkinen <ilmari.heikkinen@gmail.com>
 // Copyright (C) 2009 Shen Liang <shenzhuxi@gmail.com>
-// Copyright (C) 2009, 2012 Albert Astals Cid <aacid@kde.org>
+// Copyright (C) 2009, 2012, 2018 Albert Astals Cid <aacid@kde.org>
 // Copyright (C) 2009 Stefan Thomas <thomas@eload24.com>
 // Copyright (C) 2010, 2017 Adrian Johnson <ajohnson@redneon.com>
 // Copyright (C) 2010 Harry Roberts <harry.roberts@midnight-labs.org>
@@ -59,6 +59,9 @@
 
   ~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 5c0fdba..5a730d8 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@kde.org>
+// Copyright (C) 2010, 2018 Albert Astals Cid <aacid@kde.org>
 // Copyright (C) 2013 Thomas Freitag <Thomas.Freitag@alfa.de>
 //
 // To see a description of the changes please see the Changelog file that
@@ -59,6 +59,9 @@
 
   ~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 899458b..a9522ee 100644
--- a/splash/SplashFTFontEngine.h
+++ b/splash/SplashFTFontEngine.h
@@ -13,7 +13,7 @@
 //
 // Copyright (C) 2006 Takashi Iwai <tiwai@suse.de>
 // Copyright (C) 2009 Petr Gajdos <pgajdos@novell.com>
-// Copyright (C) 2009 Albert Astals Cid <aacid@kde.org>
+// Copyright (C) 2009, 2018 Albert Astals Cid <aacid@kde.org>
 // Copyright (C) 2011 Andreas Hartmetz <ahartmetz@gmail.com>
 // Copyright (C) 2013 Thomas Freitag <Thomas.Freitag@alfa.de>
 // Copyright (C) 2017 Adrian Johnson <ajohnson@redneon.com>
@@ -49,6 +49,9 @@
 
   ~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 78b00d2..f8e7262 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@kde.org>
+// Copyright (C) 2007-2008, 2018 Albert Astals Cid <aacid@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 @@
 
   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 e3ee1ce..346d369 100644
--- a/splash/SplashFontEngine.h
+++ b/splash/SplashFontEngine.h
@@ -13,7 +13,7 @@
 //
 // Copyright (C) 2006 Takashi Iwai <tiwai@suse.de>
 // Copyright (C) 2009 Petr Gajdos <pgajdos@novell.com>
-// Copyright (C) 2009, 2011 Albert Astals Cid <aacid@kde.org>
+// Copyright (C) 2009, 2011, 2018 Albert Astals Cid <aacid@kde.org>
 // Copyright (C) 2011 Andreas Hartmetz <ahartmetz@gmail.com>
 // Copyright (C) 2013 Thomas Freitag <Thomas.Freitag@alfa.de>
 // Copyright (C) 2017 Adrian Johnson <ajohnson@redneon.com>
@@ -62,6 +62,9 @@
 
   ~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 ec87504..d529151 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@suse.de>
-// Copyright (C) 2008, 2010 Albert Astals Cid <aacid@kde.org>
+// Copyright (C) 2008, 2010, 2018 Albert Astals Cid <aacid@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 @@
 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 @@
 
   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 cfd89eb..7ed28d6 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@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 @@
 
   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 73dbb63..c8164a8 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@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 @@
 
   ~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 1e2881c..8464d52 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@alfa.de>
+// Copyright (C) 2018 Albert Astals Cid <aacid@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 @@
 
   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 a7fc455..da17ab0 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@kde.org>
+// Copyright (C) 2009, 2018 Albert Astals Cid <aacid@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 @@
   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 3227038..5ba96a9 100644
--- a/splash/SplashState.h
+++ b/splash/SplashState.h
@@ -13,6 +13,7 @@
 //
 // Copyright (C) 2011, 2012, 2015 Thomas Freitag <Thomas.Freitag@alfa.de>
 // Copyright (C) 2017 Adrian Johnson <ajohnson@redneon.com>
+// Copyright (C) 2018 Albert Astals Cid <aacid@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 @@
 
   ~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 1c7040d..7abb18b 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@alfa.de>
+// Copyright (C) 2018 Albert Astals Cid <aacid@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 @@
 
   ~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 cc295cb..b6c358d 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@alfa.de>
+// Copyright (C) 2018 Albert Astals Cid <aacid@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 @@
 
   ~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 7808327..7710655 100644
--- a/test/perf-test.cc
+++ b/test/perf-test.cc
@@ -1,5 +1,6 @@
 /* Copyright Krzysztof Kowalczyk 2006-2007
    Copyright Hib Eris <hib@hiberis.nl> 2008, 2013
+   Copyright 2018 Albert Astals Cid <aacid@kde.org> 2018
    License: GPLv2 */
 /*
   A tool to stress-test poppler rendering and measure rendering times for
@@ -82,6 +83,9 @@
     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 252d5f9..83fea95 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@cdacmumbai.in) and Onkar Potdar (onkar@cdacmumbai.in)
-// Copyright (C) 2010, 2012, 2017 Albert Astals Cid <aacid@kde.org>
+// Copyright (C) 2010, 2012, 2017, 2018 Albert Astals Cid <aacid@kde.org>
 // Copyright (C) 2011 Steven Murdoch <Steven.Murdoch@cl.cam.ac.uk>
 // Copyright (C) 2011 Joshua Richardson <jric@chegg.com>
 // Copyright (C) 2012 Igor Slepchin <igor.slepchin@gmail.com>
@@ -105,6 +105,8 @@
 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 4a48dfa..1eaa499 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@kde.org>
+// Copyright (C) 2010, 2018 Albert Astals Cid <aacid@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 @@
   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 @@
 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 7f933f0..b73fc13 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@kde.org>
+// Copyright (C) 2005-2013, 2016-2018 Albert Astals Cid <aacid@kde.org>
 // Copyright (C) 2008 Kjartan Maraas <kmaraas@gnome.org>
 // Copyright (C) 2008 Boris Toloknov <tlknv@yandex.ru>
 // Copyright (C) 2008 Haruyuki Kawabe <Haruyuki.Kawabe@unisys.co.jp>
@@ -89,6 +89,8 @@
     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 704c16b..c321299 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@kde.org>
+// Copyright (C) 2006, 2007, 2009, 2012, 2018 Albert Astals Cid <aacid@kde.org>
 // Copyright (C) 2008, 2009 Warren Toomey <wkt@tuhs.org>
 // Copyright (C) 2009, 2011 Carlos Garcia Campos <carlosgc@gnome.org>
 // Copyright (C) 2009 Kovid Goyal <kovid@kovidgoyal.net>
@@ -84,6 +84,9 @@
   // 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 @@
   // 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 @@
     HtmlMetaVar(const char *_name, const char *_content);
     ~HtmlMetaVar();    
     
-    GooString* toString();	
+    HtmlMetaVar(const HtmlMetaVar &) = delete;
+    HtmlMetaVar& operator=(const HtmlMetaVar &) = delete;
+
+    GooString* toString();
 
 private: