From 131d0ce004a8f18df3684838191f251fe3d3040a Mon Sep 17 00:00:00 2001
From: Sebastião Guerra <sebastiao.luiz.guerra@gmail.com>
Date: Sat, 3 Oct 2026 17:38:10 -0300
Subject: Replace NULL pointer constants with nullptr
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Signed-off-by: Sebastião Guerra <sebastiao.luiz.guerra@gmail.com>
---
 kalzium/src/eqchemview.cpp                         |   2 +-
 kalzium/src/moleculeparser.cpp                     |   2 +-
 kbruch/src/kbruch.cpp                              |   2 +-
 kbruch/src/task.cpp                                |   2 +-
 keduca/libkeduca/fileread.cpp                      |   2 +-
 klatin/klatin/klatingrammar.cpp                    |   6 +-
 klatin/klatin/klatinverbs.cpp                      |   4 +-
 klatin/klatin/klatinvocab.cpp                      |   4 +-
 kmplot/kmplot/View.h                               |   2 +-
 kmplot/kmplot/editfunction.h                       |   2 +-
 kmplot/kmplot/keditparametric.h                    |   2 +-
 kmplot/kmplot/keditpolar.h                         |   2 +-
 kmplot/kmplot/kmplot.cpp                           |   2 +-
 kstars/kstars/ccdpreviewwg.cpp                     |  22 +--
 kstars/kstars/detaildialog.cpp                     |  16 +--
 kstars/kstars/devicemanager.cpp                    |  32 ++---
 kstars/kstars/fitshistogram.cpp                    |   6 +-
 kstars/kstars/fitsimage.cpp                        |  28 ++--
 kstars/kstars/fitsprocess.cpp                      |  16 +--
 kstars/kstars/fitsviewer.cpp                       |  40 +++---
 kstars/kstars/geolocation.cpp                      |   2 +-
 kstars/kstars/geolocation.h                        |   6 +-
 kstars/kstars/imagereductiondlg.cpp                |   6 +-
 kstars/kstars/imagesequence.cpp                    |  48 +++----
 kstars/kstars/indi/apmount.cpp                     | 128 ++++++++---------
 kstars/kstars/indi/apogee/ApnCamData.cpp           |  24 ++--
 kstars/kstars/indi/apogee/ApnCamData_CCD3011HS.cpp |  12 +-
 kstars/kstars/indi/apogee/ApnCamData_CCD3011LS.cpp |  12 +-
 kstars/kstars/indi/apogee/ApnCamData_CCD4240HS.cpp |  12 +-
 kstars/kstars/indi/apogee/ApnCamData_CCD4240LS.cpp |  12 +-
 kstars/kstars/indi/apogee/ApnCamData_CCD4710HS.cpp |  12 +-
 kstars/kstars/indi/apogee/ApnCamData_CCD4710LS.cpp |  12 +-
 .../kstars/indi/apogee/ApnCamData_CCD4710LS2.cpp   |  12 +-
 .../kstars/indi/apogee/ApnCamData_CCD4710LS3.cpp   |  12 +-
 .../kstars/indi/apogee/ApnCamData_CCD4710LS4.cpp   |  12 +-
 .../kstars/indi/apogee/ApnCamData_CCD4710LS5.cpp   |  12 +-
 kstars/kstars/indi/apogee/ApnCamData_CCD4720HS.cpp |  12 +-
 kstars/kstars/indi/apogee/ApnCamData_CCD4720LS.cpp |  12 +-
 kstars/kstars/indi/apogee/ApnCamData_CCD5520HS.cpp |  12 +-
 kstars/kstars/indi/apogee/ApnCamData_CCD5520LS.cpp |  12 +-
 kstars/kstars/indi/apogee/ApnCamData_CCD5710HS.cpp |  12 +-
 kstars/kstars/indi/apogee/ApnCamData_CCD5710LS.cpp |  12 +-
 kstars/kstars/indi/apogee/ApnCamData_CCD7700HS.cpp |  12 +-
 kstars/kstars/indi/apogee/ApnCamData_CCD7700LS.cpp |  12 +-
 kstars/kstars/indi/apogee/ApnCamData_KAF0261E.cpp  |  12 +-
 kstars/kstars/indi/apogee/ApnCamData_KAF0401E.cpp  |  12 +-
 kstars/kstars/indi/apogee/ApnCamData_KAF1001E.cpp  |  12 +-
 kstars/kstars/indi/apogee/ApnCamData_KAF1301E.cpp  |  12 +-
 kstars/kstars/indi/apogee/ApnCamData_KAF1401E.cpp  |  12 +-
 kstars/kstars/indi/apogee/ApnCamData_KAF1602E.cpp  |  12 +-
 kstars/kstars/indi/apogee/ApnCamData_KAF16801E.cpp |  12 +-
 kstars/kstars/indi/apogee/ApnCamData_KAF3200E.cpp  |  12 +-
 kstars/kstars/indi/apogee/ApnCamData_KAF4202.cpp   |  12 +-
 kstars/kstars/indi/apogee/ApnCamData_KAF6303E.cpp  |  12 +-
 kstars/kstars/indi/apogee/ApnCamData_TH7899.cpp    |  12 +-
 kstars/kstars/indi/apogee/ApnCamera.cpp            |   6 +-
 kstars/kstars/indi/apogee/ApnCamera_Linux.cpp      |   2 +-
 kstars/kstars/indi/apogee/ApogeeUsbLinux.cpp       |   2 +-
 kstars/kstars/indi/apogee/CameraIO_Linux.cpp       |   4 +-
 kstars/kstars/indi/apogee/CameraIO_LinuxISA.cpp    |   2 +-
 kstars/kstars/indi/apogee/CameraIO_LinuxPCI.cpp    |   2 +-
 kstars/kstars/indi/apogee/CameraIO_LinuxPPI.cpp    |   2 +-
 kstars/kstars/indi/apogee/CameraIO_PCI.cpp         |  38 ++---
 kstars/kstars/indi/apogee/Camera_Example.cpp       |  26 ++--
 kstars/kstars/indi/apogee/reb1100.cpp              |   6 +-
 kstars/kstars/indi/apogee_ppi.cpp                  | 106 +++++++-------
 kstars/kstars/indi/celestrongps.cpp                |  60 ++++----
 kstars/kstars/indi/indi_lpi.cpp                    |   6 +-
 kstars/kstars/indi/indi_philips.cpp                |   4 +-
 kstars/kstars/indi/indi_v4l.cpp                    |   4 +-
 kstars/kstars/indi/lx200_16.cpp                    |  14 +-
 kstars/kstars/indi/lx200autostar.cpp               |   8 +-
 kstars/kstars/indi/lx200basic.cpp                  |  60 ++++----
 kstars/kstars/indi/lx200classic.cpp                |  32 ++---
 kstars/kstars/indi/lx200generic.cpp                | 160 ++++++++++-----------
 kstars/kstars/indi/lx200gps.cpp                    |  28 ++--
 kstars/kstars/indi/sbigccd.cpp                     |  52 +++----
 kstars/kstars/indi/v4ldriver.cpp                   |  80 +++++------
 kstars/kstars/indi/v4lphilips.cpp                  |  72 +++++-----
 kstars/kstars/indi/webcam/PPort.cpp                |  10 +-
 kstars/kstars/indi/webcam/port.cpp                 |   4 +-
 kstars/kstars/indi/webcam/v4l1_base.cpp            |  20 +--
 kstars/kstars/indi/webcam/v4l1_pwc.cpp             |  12 +-
 kstars/kstars/indi/webcam/v4l2_base.cpp            |  40 +++---
 kstars/kstars/indidevice.cpp                       |  62 ++++----
 kstars/kstars/indidriver.cpp                       |  34 ++---
 kstars/kstars/indielement.cpp                      |  24 ++--
 kstars/kstars/indimenu.cpp                         |   6 +-
 kstars/kstars/indiproperty.cpp                     |  42 +++---
 kstars/kstars/indistd.cpp                          |  28 ++--
 kstars/kstars/ksasteroid.h                         |   2 +-
 kstars/kstars/kscomet.h                            |   2 +-
 kstars/kstars/ksplanet.cpp                         |   2 +-
 kstars/kstars/ksplanet.h                           |   2 +-
 kstars/kstars/ksplanetbase.h                       |   2 +-
 kstars/kstars/kspluto.h                            |   2 +-
 kstars/kstars/kspopupmenu.cpp                      |  12 +-
 kstars/kstars/kssun.h                              |   2 +-
 kstars/kstars/kstarsactions.cpp                    |  24 ++--
 kstars/kstars/kstarsdata.cpp                       |   6 +-
 kstars/kstars/kstarsdcop.cpp                       |  12 +-
 kstars/kstars/kstarsinit.cpp                       |   4 +-
 kstars/kstars/skymap.cpp                           |  28 ++--
 kstars/kstars/skymapdraw.cpp                       |  10 +-
 kstars/kstars/skymapevents.cpp                     |   2 +-
 kstars/kstars/streamwg.cpp                         |   4 +-
 kstars/kstars/telescopeprop.cpp                    |  10 +-
 kstars/kstars/telescopewizardprocess.cpp           |  10 +-
 kstars/kstars/timebox.cpp                          |  10 +-
 kstars/kstars/tools/observinglist.cpp              |  16 +--
 kstars/kstars/tools/observinglist.h                |   4 +-
 kstars/kstars/tools/scriptbuilder.cpp              |  18 +--
 ktouch/src/ktouch.cpp                              |  12 +-
 ktouch/src/ktouchcoloreditor.cpp                   |  10 +-
 ktouch/src/ktouchkeyboardwidget.cpp                |  12 +-
 ktouch/src/ktouchkeyboardwidget.h                  |   2 +-
 ktouch/src/ktouchslideline.cpp                     |  14 +-
 kturtle/src/executer.cpp                           |   4 +-
 kturtle/src/kturtle.h                              |   2 +-
 kturtle/src/parser.cpp                             |  14 +-
 kturtle/src/treenode.cpp                           |  32 ++---
 kverbos/kverbos/kverbosdoc.cpp                     |   2 +-
 kvoctrain/kvoctrain/common-dialogs/ProgressDlg.h   |   4 +-
 kvoctrain/kvoctrain/docprop-dialogs/DocPropDlg.h   |   4 +-
 .../kvoctrain/docprop-dialogs/DocPropLangDlg.h     |   2 +-
 kvoctrain/kvoctrain/docprop-dialogs/LangPropPage.h |   4 +-
 kvoctrain/kvoctrain/docprop-dialogs/LessOptPage.h  |   4 +-
 kvoctrain/kvoctrain/docprop-dialogs/TenseOptPage.h |   4 +-
 kvoctrain/kvoctrain/docprop-dialogs/TitlePage.h    |   4 +-
 kvoctrain/kvoctrain/docprop-dialogs/TypeOptPage.h  |   4 +-
 kvoctrain/kvoctrain/docprop-dialogs/UsageOptPage.h |   4 +-
 kvoctrain/kvoctrain/entry-dialogs/AdjEntryPage.h   |   2 +-
 .../kvoctrain/entry-dialogs/CommonEntryPage.h      |   4 +-
 .../kvoctrain/entry-dialogs/FromToEntryPage.h      |   4 +-
 kvoctrain/kvoctrain/entry-dialogs/MCEntryPage.h    |   2 +-
 kvoctrain/kvoctrain/entry-dialogs/TenseEntryPage.h |   4 +-
 kvoctrain/kvoctrain/kvoctrain.h                    |   2 +-
 kvoctrain/kvoctrain/kvoctraintable.h               |   2 +-
 kvoctrain/kvoctrain/query-dialogs/MCQueryDlg.cpp   |   2 +-
 .../kvoctrain/statistik-dialogs/GenStatPage.h      |   2 +-
 .../kvoctrain/statistik-dialogs/StatistikDlg.h     |   2 +-
 .../kvoctrain/statistik-dialogs/StatistikPage.h    |   2 +-
 libtdeedu/extdate/testwidget.h                     |   2 +-
 143 files changed, 1083 insertions(+), 1083 deletions(-)

diff --git a/kalzium/src/eqchemview.cpp b/kalzium/src/eqchemview.cpp
index c2d8a95b..a1cf808c 100644
--- a/kalzium/src/eqchemview.cpp
+++ b/kalzium/src/eqchemview.cpp
@@ -43,7 +43,7 @@ extern "C" {
 #endif
 
 #ifndef HAVE_FACILE
-char* solve_equation(const char *) { return NULL; }
+char* solve_equation(const char *) { return nullptr; }
 #endif
 
 eqchemView::eqchemView(TQWidget *parent) : TQWidget(parent)
diff --git a/kalzium/src/moleculeparser.cpp b/kalzium/src/moleculeparser.cpp
index 6780e65e..bb4a24c0 100644
--- a/kalzium/src/moleculeparser.cpp
+++ b/kalzium/src/moleculeparser.cpp
@@ -300,5 +300,5 @@ MoleculeParser::lookupElement( const TQString& _name )
 	m_error = true;
 
     kdDebug() << k_funcinfo << "no such element, parsing error!: " << _name << endl;
-    return NULL;
+    return nullptr;
 }
diff --git a/kbruch/src/kbruch.cpp b/kbruch/src/kbruch.cpp
index 44159093..a2d7c916 100644
--- a/kbruch/src/kbruch.cpp
+++ b/kbruch/src/kbruch.cpp
@@ -32,7 +32,7 @@
 int main(int argc, char * argv[])
 {
 	// init random generator
-	srand(time(NULL));
+	srand(time(nullptr));
 
 	/* fill the about data; the common KDE about dialog will show it to the
 	 * user */
diff --git a/kbruch/src/task.cpp b/kbruch/src/task.cpp
index 1ebd13e9..592035bd 100644
--- a/kbruch/src/task.cpp
+++ b/kbruch/src/task.cpp
@@ -27,7 +27,7 @@
 /** constructor of class task */
 task::task()
 {
-	srand(time(NULL));
+	srand(time(nullptr));
 #ifdef DEBUG
 	kdDebug() << "constructor task" << endl;
 #endif
diff --git a/keduca/libkeduca/fileread.cpp b/keduca/libkeduca/fileread.cpp
index 0a174790..30fa1701 100644
--- a/keduca/libkeduca/fileread.cpp
+++ b/keduca/libkeduca/fileread.cpp
@@ -593,7 +593,7 @@ TQPixmap FileRead::getPicturePixmap()
   else
   {
     kdDebug()<<"FileRead::openFile(): download NOT successful: "<< _tmpfileImage <<endl;
-    pict = NULL;
+    pict = nullptr;
   }
 
   return pict;
diff --git a/klatin/klatin/klatingrammar.cpp b/klatin/klatin/klatingrammar.cpp
index 4dfb2efa..a20579c8 100644
--- a/klatin/klatin/klatingrammar.cpp
+++ b/klatin/klatin/klatingrammar.cpp
@@ -77,7 +77,7 @@ void KLatinGrammar::loadDatabase()
 	else 
 	{
 		// Seed the random number generator
-		srandom(time(NULL));
+		srandom(time(nullptr));
 
 		curitem = (random() % 8);
 	}
@@ -144,7 +144,7 @@ void KLatinGrammar::nextQuestion()
 	emit statusMsg(i18n("Grammar"));
 
 	// Seed the random number generator
-	srandom(time(NULL));
+	srandom(time(nullptr));
 
 	m_grammarNumber = (random() % 12) + 1;
 
@@ -225,7 +225,7 @@ void KLatinGrammar::checkAnswer()
 	}
 	m_total++;
 	
-	AnswerBox->setText(NULL);
+	AnswerBox->setText(nullptr);
 	
 	updateScores();
 }
diff --git a/klatin/klatin/klatinverbs.cpp b/klatin/klatin/klatinverbs.cpp
index cece4577..b12bad74 100644
--- a/klatin/klatin/klatinverbs.cpp
+++ b/klatin/klatin/klatinverbs.cpp
@@ -127,7 +127,7 @@ void KLatinVerbs::nextQuestion()
 	emit statusMsg(i18n("Verbs"));
 
 	// Seed the random number generator
-	srandom(time(NULL));
+	srandom(time(nullptr));
 
 	if (ChooseMood->currentText() == i18n("Indicative"))
 		m_verbNumber = (random() % 35) + 1;
@@ -239,7 +239,7 @@ void KLatinVerbs::checkAnswer()
 	}
  
 	m_total++;
-	AnswerBox->setText(NULL);
+	AnswerBox->setText(nullptr);
 	
 	updateScores();
 }
diff --git a/klatin/klatin/klatinvocab.cpp b/klatin/klatin/klatinvocab.cpp
index 6d6b6c01..c71e3651 100644
--- a/klatin/klatin/klatinvocab.cpp
+++ b/klatin/klatin/klatinvocab.cpp
@@ -143,7 +143,7 @@ void KLatinVocab::parseVocab(TQString customFile)
 void KLatinVocab::createRandomSequence()
 {
 	// Seed the random number generator
-	srandom(time(NULL));
+	srandom(time(nullptr));
 
 	// This works by assigning an array with 1, 2, 3, 4, 5 etc
 	// and then shuffling them into m_sequence.
@@ -201,7 +201,7 @@ void KLatinVocab::newQuestion()
 	}
 
 	// Seed the random number generator
-	srandom(time(NULL));
+	srandom(time(nullptr));
 
 	// Grab number from random sequence
 	randNum = m_sequence[m_questionNumber];
diff --git a/kmplot/kmplot/View.h b/kmplot/kmplot/View.h
index d219f0f5..41c9ba4e 100644
--- a/kmplot/kmplot/View.h
+++ b/kmplot/kmplot/View.h
@@ -70,7 +70,7 @@ class View : public TQWidget, virtual public ViewIface
   
 public:
 	/// Contructor sets up the parser, too.
-  View(bool, bool &, TDEPopupMenu *, TQWidget* parent=NULL, const char* name=NULL );
+  View(bool, bool &, TDEPopupMenu *, TQWidget* parent=nullptr, const char* name=nullptr );
 	void setMinMaxDlg(KMinMax *);
 	virtual ~View();
 
diff --git a/kmplot/kmplot/editfunction.h b/kmplot/kmplot/editfunction.h
index 204a4bc2..a5129538 100644
--- a/kmplot/kmplot/editfunction.h
+++ b/kmplot/kmplot/editfunction.h
@@ -44,7 +44,7 @@ class EditFunction : public KDialogBase
 		/// @param parser points to the parser instance.
 		/// @param parent points to the parent widget.
 		/// @param name of this instance.
-		EditFunction( XParser* parser, TQWidget* parent = NULL, const char* name = NULL );
+		EditFunction( XParser* parser, TQWidget* parent = nullptr, const char* name = nullptr );
 		/// Nothing special to do.
 		virtual ~EditFunction() {}
 		/// Fill the dialog's widgets with the properties of the parser function number index.
diff --git a/kmplot/kmplot/keditparametric.h b/kmplot/kmplot/keditparametric.h
index 0fb3d3ba..24b1bc13 100644
--- a/kmplot/kmplot/keditparametric.h
+++ b/kmplot/kmplot/keditparametric.h
@@ -41,7 +41,7 @@ class KEditParametric : public QEditParametric
 		/// @param parser points to the parser instance.
 		/// @param parent points to the parent widget.
 		/// @param name of this instance.
-		KEditParametric( XParser* parser, TQWidget* parent = NULL, const char* name = NULL );
+		KEditParametric( XParser* parser, TQWidget* parent = nullptr, const char* name = nullptr );
 		/// Nothing special to do.
 		virtual ~KEditParametric() {}
 		
diff --git a/kmplot/kmplot/keditpolar.h b/kmplot/kmplot/keditpolar.h
index 8a23c857..e3c7e41a 100644
--- a/kmplot/kmplot/keditpolar.h
+++ b/kmplot/kmplot/keditpolar.h
@@ -41,7 +41,7 @@ class KEditPolar : public QEditPolar
 		/// @param parser points to the parser instance.
 		/// @param parent points to the parent widget.
 		/// @param name of this instance.
-		KEditPolar( XParser* parser, TQWidget* parent = NULL, const char* name = NULL );
+		KEditPolar( XParser* parser, TQWidget* parent = nullptr, const char* name = nullptr );
 		/// Nothing special to do.
 		virtual ~KEditPolar() {}
 		
diff --git a/kmplot/kmplot/kmplot.cpp b/kmplot/kmplot/kmplot.cpp
index 7c3208d9..c85c944e 100644
--- a/kmplot/kmplot/kmplot.cpp
+++ b/kmplot/kmplot/kmplot.cpp
@@ -145,7 +145,7 @@ void KmPlot::setupActions()
 	KStdAction::keyBindings(this, TQ_SLOT(optionsConfigureKeys()), actionCollection());
 	KStdAction::configureToolbars(this, TQ_SLOT(optionsConfigureToolbars()), actionCollection());
 
-	m_fullScreen = KStdAction::fullScreen( NULL, NULL, actionCollection(), this, "fullscreen");
+	m_fullScreen = KStdAction::fullScreen( nullptr, nullptr, actionCollection(), this, "fullscreen");
 	connect( m_fullScreen, TQ_SIGNAL( toggled( bool )), this, TQ_SLOT( slotUpdateFullScreen( bool )));
 }
 
diff --git a/kstars/kstars/ccdpreviewwg.cpp b/kstars/kstars/ccdpreviewwg.cpp
index fc953a61..aee2a6d5 100644
--- a/kstars/kstars/ccdpreviewwg.cpp
+++ b/kstars/kstars/ccdpreviewwg.cpp
@@ -159,7 +159,7 @@ void CCDPreviewWG::setCtrl(int wd, int ht,int po, int bpp,unsigned long mgd)
   streamFrame->bytesPerPixel=bpp;
   streamFrame->PixelOrder=po;
   streamFrame->maxGoodData=mgd;	
-  if (streamFrame->streamBuffer!=NULL) {
+  if (streamFrame->streamBuffer) {
     free(streamFrame->streamBuffer);	  
   }
   streamFrame->streamBufferPos=0;
@@ -279,9 +279,9 @@ void CCDPreviewWG::captureImage()
 
 CCDVideoWG::CCDVideoWG(TQWidget * parent, const char * name) : TQFrame(parent, name, TQt::WNoAutoErase)
 {
-  streamImage    = NULL;
-  streamBuffer	  = NULL;
-  displayBuffer    = NULL;
+  streamImage    = nullptr;
+  streamBuffer	  = nullptr;
+  displayBuffer    = nullptr;
   grayTable=new TQRgb[256];
   for (int i=0;i<256;i++) {
         grayTable[i]=tqRgb(i,i,i);
@@ -292,10 +292,10 @@ CCDVideoWG::CCDVideoWG(TQWidget * parent, const char * name) : TQFrame(parent, n
 CCDVideoWG::~CCDVideoWG() 
 {
   delete (streamImage);
-  if (displayBuffer!=NULL) {
+  if (displayBuffer) {
     free(displayBuffer);	  
   }
-  if (streamBuffer!=NULL) {
+  if (streamBuffer) {
     free(streamBuffer);	  
   }
 
@@ -309,7 +309,7 @@ void CCDVideoWG::newFrame(unsigned char *buffer, int buffSize, int w, int h)
   Width=w;
   Height=h;
   d=2*bytesPerPixel;
-  if (streamBuffer==NULL) {
+  if (!streamBuffer) {
     return;
   }
   if (streamBufferPos>=totalBaseCount) {
@@ -346,7 +346,7 @@ void CCDVideoWG::redrawVideoWG(void)
   int x,y,b;
   double val;
   unsigned long dat;
-  if (displayBuffer!=NULL) {
+  if (displayBuffer) {
     displayBuffer=(unsigned char*) 
       realloc(displayBuffer, sizeof(unsigned char)*Width*Height);
   }
@@ -354,10 +354,10 @@ void CCDVideoWG::redrawVideoWG(void)
   displayBuffer=(unsigned char*) 
       malloc(sizeof(unsigned char)*Width*Height);
   } 
-  if (displayBuffer==NULL) {
+  if (!displayBuffer) {
      return;
   }
-  if (streamBuffer==NULL) {
+  if (!streamBuffer) {
     return;
   }
   for (x=0;x<Width;x++) {
@@ -397,7 +397,7 @@ void CCDVideoWG::paintEvent(TQPaintEvent */*ev*/)
   	//qPix = kPixIO.convertToPixmap(*streamImage);/*streamImage->smoothScale(width(), height()));*/
 	qPix = kPixIO.convertToPixmap(streamImage->scale(width(), height()));
 	delete (streamImage);
-	streamImage = NULL;
+	streamImage = nullptr;
    }
    
    bitBlt(this, 0, 0, &qPix);
diff --git a/kstars/kstars/detaildialog.cpp b/kstars/kstars/detaildialog.cpp
index 5a6af06a..3496ead4 100644
--- a/kstars/kstars/detaildialog.cpp
+++ b/kstars/kstars/detaildialog.cpp
@@ -463,7 +463,7 @@ void DetailDialog::createAdvancedTab()
 	treeIt = new TQPtrListIterator<ADVTreeData> (ksw->data()->ADVtreeList);
 	connect( Adv->ADVTree, TQ_SIGNAL(doubleClicked(TQListViewItem*)), this, TQ_SLOT(viewADVData()));
 
-	populateADVTree(NULL);
+	populateADVTree(nullptr);
 }
 
 void DetailDialog::createLogTab()
@@ -898,9 +898,9 @@ void DetailDialog::centerMap() {
 void DetailDialog::centerTelescope()
 {
 
-  INDI_D *indidev(NULL);
-  INDI_P *prop(NULL), *onset(NULL);
-  INDI_E *RAEle(NULL), *DecEle(NULL), *AzEle(NULL), *AltEle(NULL), *ConnectEle(NULL), *nameEle(NULL);
+  INDI_D *indidev(nullptr);
+  INDI_P *prop(nullptr), *onset(nullptr);
+  INDI_E *RAEle(nullptr), *DecEle(nullptr), *AzEle(nullptr), *AltEle(nullptr), *ConnectEle(nullptr), *nameEle(nullptr);
   bool useJ2000( false);
   int selectedCoord(0);
   SkyPoint sp;
@@ -916,15 +916,15 @@ void DetailDialog::centerTelescope()
     for (unsigned int j=0; j < imenu->mgr.at(i)->indi_dev.count(); j++)
     {
        indidev = imenu->mgr.at(i)->indi_dev.at(j);
-       indidev->stdDev->currentObject = NULL;
+       indidev->stdDev->currentObject = nullptr;
        prop = indidev->findProp("EQUATORIAL_EOD_COORD");
-       	if (prop == NULL)
+       	if (!prop)
 	{
 		  prop = indidev->findProp("EQUATORIAL_COORD");
-		  if (prop == NULL)
+		  if (!prop)
                   {
                     prop = indidev->findProp("HORIZONTAL_COORD");
-                    if (prop == NULL)
+                    if (!prop)
         		continue;
                     else
                         selectedCoord = 1;		/* Select horizontal */
diff --git a/kstars/kstars/devicemanager.cpp b/kstars/kstars/devicemanager.cpp
index df3380d5..df91c220 100644
--- a/kstars/kstars/devicemanager.cpp
+++ b/kstars/kstars/devicemanager.cpp
@@ -55,9 +55,9 @@ DeviceManager::DeviceManager(INDIMenu *INDIparent, int inID)
  indi_dev.setAutoDelete(true);
  
  serverFD  = -1;
- serverFP  = NULL;
- XMLParser = NULL;
- sNotifier = NULL;
+ serverFP  = nullptr;
+ XMLParser = nullptr;
+ sNotifier = nullptr;
 
 }
 
@@ -73,7 +73,7 @@ DeviceManager::~DeviceManager()
   if (XMLParser)
   {
    delLilXML(XMLParser);
-   XMLParser = NULL;
+   XMLParser = nullptr;
   }
   
   indi_dev.clear();
@@ -118,14 +118,14 @@ bool DeviceManager::indiConnect(TQString inHost, TQString inPort)
 	// ready for fprintf
 	serverFP = fdopen(serverFD, "w");
 
-	if (serverFP == NULL)
+	if (!serverFP)
 	{
 	 KMessageBox::error(0, i18n("Cannot read server file descriptor"));
 	 serverFD = -1;
 	 return false;
 	}
 
-	setbuf (serverFP, NULL);
+	setbuf (serverFP, nullptr);
 
 	fprintf(serverFP, "<enableBLOB>Also</enableBLOB>\n");
 	fprintf(serverFP, "<getProperties version='%g'/>\n", INDIVERSION);
@@ -197,7 +197,7 @@ int DeviceManager::dispatchCommand(XMLEle *root, char errmsg[])
 
   /* Get the device, if not available, create it */
   INDI_D *dp = findDev (root, 1, errmsg);
-      if (dp == NULL)
+      if (!dp)
 	    return -1;
 
    if (!strcmp (tagXMLEle(root), "defTextVector"))
@@ -261,7 +261,7 @@ int DeviceManager::removeDevice(TQString devName, char errmsg[])
 {
 
     // remove all devices if devName == NULL
-    if (devName == NULL)
+    if (!devName)
     {
         indi_dev.clear();
 	return (0);
@@ -293,7 +293,7 @@ INDI_D * DeviceManager::findDev (TQString devName, char errmsg[])
 	snprintf (errmsg, ERRMSG_SIZE, "INDI: no such device %.32s", devName.ascii());
 	kdDebug() << errmsg;
 
-	return NULL;
+	return nullptr;
 }
 
 /* add new device to mainrc_w using info in dep.
@@ -307,7 +307,7 @@ INDI_D * DeviceManager::addDevice (XMLEle *dep, char errmsg[])
 	/* allocate new INDI_D on indi_dev */
 	ap = findAtt (dep, "device", errmsg);
 	if (!ap)
-	    return NULL;
+	    return nullptr;
 
 	if (parent->currentLabel.isEmpty())
 	 parent->setCustomLabel(valuXMLAtt(ap));
@@ -333,7 +333,7 @@ INDI_D * DeviceManager::findDev (XMLEle *root, int create, char errmsg[])
 	/* get device name */
 	ap = findAtt (root, "device", errmsg);
 	if (!ap)
-	    return (NULL);
+	    return (nullptr);
 	dn = valuXMLAtt(ap);
 
 	/* search for existing */
@@ -349,7 +349,7 @@ INDI_D * DeviceManager::findDev (XMLEle *root, int create, char errmsg[])
 
 
 	snprintf (errmsg, ERRMSG_SIZE, "INDI: <%.32s> no such device %.32s", tagXMLEle(root), dn);
-	return NULL;
+	return nullptr;
 }
 
 /* a general message command received from the device.
@@ -383,7 +383,7 @@ void DeviceManager::doMsg (XMLEle *msg, INDI_D *dp)
 	XMLAtt *message;
 	XMLAtt *timestamp;
 
-        if (dp == NULL)
+        if (!dp)
 	{
 	  kdDebug() << "Warning: dp is null." << endl;
 	  return;
@@ -417,7 +417,7 @@ void DeviceManager::sendNewText (INDI_P *pp)
 	fprintf(serverFP, "  device='%s'\n", pp->pg->dp->name.ascii());
 	fprintf(serverFP, "  name='%s'\n>", pp->name.ascii());
 	
-	for (lp = pp->el.first(); lp != NULL; lp = pp->el.next())
+	for (lp = pp->el.first(); lp; lp = pp->el.next())
 	{
 	    fprintf(serverFP, "  <oneText\n");
 	    fprintf(serverFP, "    name='%s'>\n", lp->name.ascii());
@@ -435,7 +435,7 @@ void DeviceManager::sendNewNumber (INDI_P *pp)
 	fprintf(serverFP, "  device='%s'\n", pp->pg->dp->name.ascii());
 	fprintf(serverFP, "  name='%s'\n>", pp->name.ascii());
 	
-	for (lp = pp->el.first(); lp != NULL; lp = pp->el.next())
+	for (lp = pp->el.first(); lp; lp = pp->el.next())
 	{
 	    fprintf(serverFP, "  <oneNumber\n");
 	    fprintf(serverFP, "    name='%s'>\n", lp->name.ascii());
@@ -455,7 +455,7 @@ void DeviceManager::sendNewSwitch (INDI_P *pp, int index)
 	fprintf (serverFP,"  device='%s'\n", pp->pg->dp->name.ascii());
 	fprintf (serverFP,"  name='%s'>\n", pp->name.ascii());
 	
-	for (lp = pp->el.first(); lp != NULL; lp = pp->el.next(), i++)
+	for (lp = pp->el.first(); lp; lp = pp->el.next(), i++)
 	  if (i == index)
           {
 	    fprintf (serverFP,"  <oneSwitch\n");
diff --git a/kstars/kstars/fitshistogram.cpp b/kstars/kstars/fitshistogram.cpp
index aea3730e..3c6ed37b 100644
--- a/kstars/kstars/fitshistogram.cpp
+++ b/kstars/kstars/fitshistogram.cpp
@@ -140,7 +140,7 @@ void FITSHistogram::constructHistogram(float * buffer)
     binSize = ( (double) range / (double) BARS); 
     
     //kdDebug() << "#2" << endl; 
-    if (binSize == 0 || buffer == NULL)
+    if (binSize == 0 || !buffer)
      return;
     
      for (int i=0; i < viewer->stats.width * viewer->stats.height; i++)
@@ -360,7 +360,7 @@ void FITSHistogramCommand::execute()
   viewer->calculateStats();
   
   //viewer->updateImgBuffer();
-  if (histo != NULL)
+  if (histo)
   {
   	histo->constructHistogram(viewer->imgBuffer);
   	histo->update();
@@ -379,7 +379,7 @@ void FITSHistogramCommand::unexecute()
   *viewer->image->displayImage = oldImage->copy();
   viewer->image->zoomToCurrent();
   
-  if (histo != NULL)
+  if (histo)
   {
   	histo->constructHistogram(viewer->imgBuffer);
   	histo->update();
diff --git a/kstars/kstars/fitsimage.cpp b/kstars/kstars/fitsimage.cpp
index ee2d0eb1..0caea3e2 100644
--- a/kstars/kstars/fitsimage.cpp
+++ b/kstars/kstars/fitsimage.cpp
@@ -67,8 +67,8 @@ static FITSLoadVals plvals =
 FITSImage::FITSImage(TQWidget * parent, const char * name) : TQScrollView(parent, name), zoomFactor(1.2)
 {
   viewer = (FITSViewer *) parent;
-  reducedImgBuffer = NULL;
-  displayImage     = NULL;
+  reducedImgBuffer = nullptr;
+  displayImage     = nullptr;
   
   imgFrame = new FITSFrame(this, viewport());
   addChild(imgFrame);
@@ -156,7 +156,7 @@ void FITSImage::contentsMouseMoveEvent ( TQMouseEvent * e )
   
   //kdDebug() << " -- X= " << x << " -- Y= " << y << endl;
   
-  if (viewer->imgBuffer == NULL)
+  if (!viewer->imgBuffer)
    kdDebug() << "viewer buffer is NULL " << endl;
   
   if (validPoint)
@@ -217,8 +217,8 @@ void FITSImage::clearMem()
 
   free(reducedImgBuffer);
   delete (displayImage);
-  reducedImgBuffer = NULL;
-  displayImage     = NULL;
+  reducedImgBuffer = nullptr;
+  displayImage     = nullptr;
 
 }
 
@@ -246,7 +246,7 @@ int FITSImage::loadFits (const char *filename)
  fclose (fp);
 
  ifp = fits_open (filename, "r");
- if (ifp == NULL)
+ if (!ifp)
  {
    KMessageBox::error(0, i18n("Error during open of FITS file"));
    return (-1);
@@ -262,7 +262,7 @@ int FITSImage::loadFits (const char *filename)
  KProgressDialog fitsProgress(this, 0, i18n("FITS Viewer"), i18n("Loading FITS..."));
  
  hdl = fits_seek_image (ifp, 1);
- if (hdl == NULL) return (-1);
+ if (!hdl) return (-1);
 
  width  = hdl->naxisn[0]; 
  height = hdl->naxisn[1]; 
@@ -275,7 +275,7 @@ int FITSImage::loadFits (const char *filename)
  
  data = (unsigned char  *) malloc (height * width * sizeof(unsigned char));
  //tempBuffer = (unsigned char  *) malloc (height * width * sizeof(unsigned char));
- if (data == NULL)
+ if (!data)
  {
   KMessageBox::error(0, i18n("Not enough memory to load FITS."));
   return (-1);
@@ -348,13 +348,13 @@ int FITSImage::loadFits (const char *filename)
  
  reducedImgBuffer = data;
  convertImageToPixmap();
- viewportResizeEvent(NULL);
+ viewportResizeEvent(nullptr);
  
  if (err)
    KMessageBox::error(0, i18n("EOF encountered on reading."));
 
  fits_record_list * FRList = hdl->header_record_list;
- while (FRList != NULL)
+ while (FRList)
  {
    viewer->record << TQString((char *) FRList->data); 
    FRList = FRList->next_record;
@@ -390,7 +390,7 @@ void FITSImage::zoomToCurrent()
  {
  	qpix = kpix.convertToPixmap (displayImage->smoothScale( (int) cwidth, (int) cheight));
         //imgFrame->resize( (int) width, (int) height);
-        viewportResizeEvent (NULL);
+        viewportResizeEvent (nullptr);
 	imgFrame->update();
  }
  else
@@ -418,7 +418,7 @@ void FITSImage::fitsZoomIn()
    imgFrame->resize( (int) currentWidth, (int) currentHeight);
 
    update();
-   viewportResizeEvent (NULL);  
+   viewportResizeEvent (nullptr);  
    //updateScrollBars();
 }
 
@@ -436,7 +436,7 @@ void FITSImage::fitsZoomOut()
   imgFrame->resize( (int) currentWidth, (int) currentHeight);
    
   update();
-  viewportResizeEvent (NULL);
+  viewportResizeEvent (nullptr);
   //updateScrollBars();
 }
 
@@ -454,7 +454,7 @@ void FITSImage::fitsZoomDefault()
   imgFrame->resize( (int) currentWidth, (int) currentHeight);
   
   update();
-  viewportResizeEvent (NULL);
+  viewportResizeEvent (nullptr);
   //updateScrollBars();
 
 }
diff --git a/kstars/kstars/fitsprocess.cpp b/kstars/kstars/fitsprocess.cpp
index aa2bf2c4..79c3824c 100644
--- a/kstars/kstars/fitsprocess.cpp
+++ b/kstars/kstars/fitsprocess.cpp
@@ -33,14 +33,14 @@
  
  FITSProcess::FITSProcess(FITSViewer *parent, TQStringList darkFiles, TQStringList flatFiles, TQStringList darkflatFiles, int darkMode, int flatMode, int darkflatMode)
  {
-   float * buffer      = NULL;
+   float * buffer      = nullptr;
    darkCombineMode     = darkMode;
    flatCombineMode     = flatMode;
    darkflatCombineMode = darkflatMode;
    viewer              = parent;
-   finalDark           = NULL;
-   finalFlat           = NULL;
-   finalDarkFlat       = NULL;
+   finalDark           = nullptr;
+   finalFlat           = nullptr;
+   finalDarkFlat       = nullptr;
    npix                = viewer->image->width * viewer->image->height;
    
    darkFrames.setAutoDelete(true);
@@ -57,7 +57,7 @@
    /* #1 Load dark frames */
    for (unsigned int i=0; i < darkFiles.size(); i++)
    {
-     if ( (buffer = viewer->loadData(darkFiles[i].ascii(), buffer)) == NULL)
+     if (!(buffer = viewer->loadData(darkFiles[i].ascii(), buffer)))
      {
         kdDebug() << "Error loading dark file " << darkFiles[i] << endl;
 	break;
@@ -71,7 +71,7 @@
    /* Load flat frames */
    for (unsigned int i=0; i < flatFiles.size(); i++)
    {
-     if ( (buffer = viewer->loadData(flatFiles[i].ascii(), buffer)) == NULL)
+     if (!(buffer = viewer->loadData(flatFiles[i].ascii(), buffer)))
      {
         kdDebug() << "Error loading flat file " << flatFiles[i] << endl;
 	break;
@@ -85,7 +85,7 @@
    /* Load dark frames for the flat field */
    for (unsigned int i=0; i < darkflatFiles.size(); i++)
    {
-     if ( (buffer = viewer->loadData(darkflatFiles[i].ascii(), buffer)) == NULL)
+     if (!(buffer = viewer->loadData(darkflatFiles[i].ascii(), buffer)))
      {
         kdDebug() << "Error loading dark flat file " << darkflatFiles[i] << endl;
 	break;
@@ -109,7 +109,7 @@ float * FITSProcess::combine(TQPtrList<float> & frames, int mode)
     
     if (nframes == 0)
     {
-      dest = NULL;
+      dest = nullptr;
       return dest;
     }
     else if (nframes == 1)
diff --git a/kstars/kstars/fitsviewer.cpp b/kstars/kstars/fitsviewer.cpp
index f10dfe95..484cb98a 100644
--- a/kstars/kstars/fitsviewer.cpp
+++ b/kstars/kstars/fitsviewer.cpp
@@ -94,10 +94,10 @@ extern int fits_ieee64_motorola;
 FITSViewer::FITSViewer (const KURL *url, TQWidget *parent, const char *name)
 	: TDEMainWindow (parent, name)
 {
-    image      = NULL;
+    image      = nullptr;
     currentURL = *url;
-    imgBuffer  = NULL;
-    histo      = NULL;
+    imgBuffer  = nullptr;
+    histo      = nullptr;
     Dirty      = 0;
     
     /* Initiliaze menu actions */
@@ -181,11 +181,11 @@ bool  FITSViewer::initFITS()
 {
 
     free(imgBuffer);
-    imgBuffer = NULL;
+    imgBuffer = nullptr;
     image->clearMem();
     
   /* Load image into buffer */
-    if ( (imgBuffer = loadData (currentURL.path().ascii(), imgBuffer)) == NULL)  { close(); return false; }
+    if (!(imgBuffer = loadData (currentURL.path().ascii(), imgBuffer)))  { close(); return false; }
     /* Display image in the central widget */
     if (image->loadFits(currentURL.path().ascii()) == -1) { close(); return false; }
 
@@ -199,7 +199,7 @@ bool  FITSViewer::initFITS()
     calculateStats();
     
     image->viewport()->resize(image->viewport()->width() + 5, image->viewport()->height());
-    image->viewportResizeEvent(NULL);
+    image->viewportResizeEvent(nullptr);
     
     return true;
 
@@ -250,7 +250,7 @@ void FITSViewer::show_fits_errors()
 {
   char *msg;
   /* Write out error messages of FITS-Library */
-  while ((msg = fits_get_error ()) != NULL)
+  while ((msg = fits_get_error ()))
      KMessageBox::error(0, msg);
 }
 
@@ -271,26 +271,26 @@ float * FITSViewer::loadData(const char *filename, float *buffer)
  if (!fp)
  {
    KMessageBox::error(0, i18n("Cannot open file for reading"));
-   return (NULL);
+   return (nullptr);
  }
  fclose (fp);
 
  ifp = fits_open (filename, "r");
- if (ifp == NULL)
+ if (!ifp)
  {
    KMessageBox::error(0, i18n("Error during open of FITS file"));
-   return (NULL);
+   return (nullptr);
  }
  if (ifp->n_pic <= 0)
  {
    KMessageBox::error(0, i18n("FITS file keeps no displayable images"));
    fits_close (ifp);
-   return (NULL);
+   return (nullptr);
  }
   
   // We only deal with 1 image in a FITS for now.
   hdulist = fits_seek_image (ifp, 1);
-  if (hdulist == NULL) return (NULL);
+  if (!hdulist) return (nullptr);
   
   width  = hdulist->naxisn[0]; 
   height = hdulist->naxisn[1];
@@ -302,17 +302,17 @@ float * FITSViewer::loadData(const char *filename, float *buffer)
   
   buffer           = (float          *) malloc (height * width * sizeof(float)); 
   tempData         = (unsigned char  *) malloc (height * width * bpp * sizeof(unsigned char));
-  if (buffer == NULL || tempData == NULL)
+  if (!buffer || !tempData)
   {
     KMessageBox::error(0, i18n("Not enough memory to load FITS."));
-    return (NULL);
+    return (nullptr);
   }
   tempDataPtr      = tempData;
   
   if (fread(tempData, 1, width * height * bpp, ifp->fp) != (unsigned int) (width * height * bpp))
   {
     KMessageBox::error(0, i18n("Unable to read FITS data from file. %1.\n").arg(strerror(errno)));
-    return (NULL);
+    return (nullptr);
   }
   
   switch (bitpix)
@@ -570,20 +570,20 @@ void FITSViewer::fileSave()
   if ( currentURL.isValid() )
   {
         transData = (unsigned char *) malloc (sizeof(unsigned char) * totalCount * image->bpp);
-	if (transData == NULL)
+	if (!transData)
 	{
   		KMessageBox::error(0, i18n("Error: Low memory. Saving is aborted."));
 		return;
   	}
   
   	ifp = fits_open (currentURL.path().ascii(), "w");
-        if (ifp == NULL)
+        if (!ifp)
         {
           KMessageBox::error(0, i18n("Error during open of FITS file."));
           return;
         }
     	
-	setbuf(ifp->fp, NULL);
+	setbuf(ifp->fp, nullptr);
 	
 	bitpixRec.sprintf("BITPIX  =                    %d /Modified by KStars                               ", image->bitpix);
 	bitpixRec.truncate(80);
@@ -778,7 +778,7 @@ void FITSViewer::imageReduction()
       reduc.reduce();
       history->addCommand(cbc, false);
       calculateStats();
-      hbc = new FITSHistogramCommand(this, NULL, FITSImage::FITSLinear, (int) stats.min, (int) stats.max);
+      hbc = new FITSHistogramCommand(this, nullptr, FITSImage::FITSLinear, (int) stats.min, (int) stats.max);
       history->addCommand(hbc);
       fitsChange();
   }
@@ -827,7 +827,7 @@ void FITSViewer::imageHistogram()
    
   //image->saveTemplateImage();
   
-  if (histo == NULL)
+  if (!histo)
   {
     histo = new FITSHistogram(this);
     histo->show();
diff --git a/kstars/kstars/geolocation.cpp b/kstars/kstars/geolocation.cpp
index 213a7501..707e44b4 100644
--- a/kstars/kstars/geolocation.cpp
+++ b/kstars/kstars/geolocation.cpp
@@ -24,7 +24,7 @@
 
 GeoLocation::GeoLocation(){
 	GeoLocation( 0.0, 0.0 );
-	TZrule = NULL;
+	TZrule = nullptr;
 }
 
 GeoLocation::GeoLocation( const GeoLocation &g ) {
diff --git a/kstars/kstars/geolocation.h b/kstars/kstars/geolocation.h
index 931d12d8..f480bd88 100644
--- a/kstars/kstars/geolocation.h
+++ b/kstars/kstars/geolocation.h
@@ -64,7 +64,7 @@ public:
 	*@param iEllips type of geodetic ellipsoid model
 	*@param hght the elevation above sea level (in meters?)
 	*/
-	GeoLocation( dms lng, dms lat, TQString name="Nowhere", TQString province="Nowhere", TQString country="Nowhere", double TZ=0, TimeZoneRule *TZrule=NULL, int iEllips=4, double hght=-10 );
+	GeoLocation( dms lng, dms lat, TQString name="Nowhere", TQString province="Nowhere", TQString country="Nowhere", double TZ=0, TimeZoneRule *TZrule=nullptr, int iEllips=4, double hght=-10 );
 
 /**Constructor using doubles to specify longitude and latitude.
 	*@param lng the longitude
@@ -77,7 +77,7 @@ public:
 	*@param iEllips type of geodetic ellipsoid model
 	*@param hght the elevation above sea level (in meters?)
 	*/
-	GeoLocation( double lng, double lat, TQString name="Nowhere", TQString province="Nowhere", TQString country="Nowhere", double TZ=0, TimeZoneRule *TZrule=NULL, int iEllips=4, double hght=-10 );
+	GeoLocation( double lng, double lat, TQString name="Nowhere", TQString province="Nowhere", TQString country="Nowhere", double TZ=0, TimeZoneRule *TZrule=nullptr, int iEllips=4, double hght=-10 );
 
 /**Constructor using doubles to specify X, Y and Z referred to the center of the Earth.
 	*@param x the x-position, in m
@@ -90,7 +90,7 @@ public:
 	*@param TZrule pointer to the daylight savings time rule
 	*@param iEllips type of geodetic ellipsoid model
 	*/
-	GeoLocation( double x, double y, double z, TQString name="Nowhere", TQString province="Nowhere", TQString country="Nowhere", double TZ=0, TimeZoneRule *TZrule=NULL, int iEllips=4 );
+	GeoLocation( double x, double y, double z, TQString name="Nowhere", TQString province="Nowhere", TQString country="Nowhere", double TZ=0, TimeZoneRule *TZrule=nullptr, int iEllips=4 );
 
 
 /**Destructor (empty)
diff --git a/kstars/kstars/imagereductiondlg.cpp b/kstars/kstars/imagereductiondlg.cpp
index 08e28f39..122bba6b 100644
--- a/kstars/kstars/imagereductiondlg.cpp
+++ b/kstars/kstars/imagereductiondlg.cpp
@@ -94,7 +94,7 @@ void ImageReductionDlg::addDarkFlatFile()
 void ImageReductionDlg::removeDarkFile()
 {
 
-  if (darkListView->currentItem() == NULL)
+  if (!darkListView->currentItem())
     return;
   
   darkListView->takeItem(darkListView->currentItem());
@@ -104,7 +104,7 @@ void ImageReductionDlg::removeDarkFile()
 void ImageReductionDlg::removeDarkFlatFile()
 {
 
-  if (darkflatListView->currentItem() == NULL)
+  if (!darkflatListView->currentItem())
     return;
   
   darkflatListView->takeItem(darkflatListView->currentItem());
@@ -114,7 +114,7 @@ void ImageReductionDlg::removeDarkFlatFile()
 void ImageReductionDlg::removeFlatFile()
 {
 
- if (flatListView->currentItem() == NULL)
+ if (!flatListView->currentItem())
     return;
   
   flatListView->takeItem(flatListView->currentItem());
diff --git a/kstars/kstars/imagesequence.cpp b/kstars/kstars/imagesequence.cpp
index 6e98b10f..00099c2f 100644
--- a/kstars/kstars/imagesequence.cpp
+++ b/kstars/kstars/imagesequence.cpp
@@ -70,8 +70,8 @@ imagesequence::imagesequence(TQWidget* parent, const char* name, bool modal, WFl
   seqDelay		= 0;
   lastCCD              = 0;
   lastFilter            = 0;
-  stdDevCCD             = NULL;
-  stdDevFilter		= NULL;
+  stdDevCCD             = nullptr;
+  stdDevFilter		= nullptr;
   
 }
 
@@ -110,7 +110,7 @@ bool imagesequence::setupCCDs()
   bool imgDeviceFound (false);
   INDI_P *imgProp;
   INDIMenu *devMenu = ksw->getINDIMenu();
-  if (devMenu == NULL)
+  if (!devMenu)
      return false;
   
   CCDCombo->clear();
@@ -177,7 +177,7 @@ bool imagesequence::setupFilters()
   bool filterDeviceFound(false);
   INDI_P *filterProp;
   INDIMenu *devMenu = ksw->getINDIMenu();
-  if (devMenu == NULL)
+  if (!devMenu)
      return false;
 
   filterCombo->clear();
@@ -301,7 +301,7 @@ void imagesequence::stopSequence()
 
 void imagesequence::checkCCD(int ccdNum)
 {
-  INDI_D *idevice = NULL;
+  INDI_D *idevice = nullptr;
   TQString targetCCD = CCDCombo->text(ccdNum);
 
   INDIMenu *imenu = ksw->getINDIMenu();
@@ -372,10 +372,10 @@ bool imagesequence::verifyCCDIntegrity()
 {
   
   TQString targetCCD;
-  INDI_D *idevice = NULL;
+  INDI_D *idevice = nullptr;
   INDI_P *exposeProp;
   INDI_E *exposeElem;
-  stdDevCCD = NULL;
+  stdDevCCD = nullptr;
   
   INDIMenu *imenu = ksw->getINDIMenu();
   if (!imenu)
@@ -432,9 +432,9 @@ bool imagesequence::verifyFilterIntegrity()
 
   TQString targetFilter;
   INDIMenu *devMenu = ksw->getINDIMenu();
-  INDI_D *filterDevice (NULL);
-  INDI_E *filterElem(NULL);
-  if (devMenu == NULL)
+  INDI_D *filterDevice (nullptr);
+  INDI_E *filterElem(nullptr);
+  if (!devMenu)
      return false;
 
   targetFilter  = filterCombo->currentText();
@@ -447,14 +447,14 @@ bool imagesequence::verifyFilterIntegrity()
 
   // #1 Check the device exists
   filterDevice = devMenu->findDeviceByLabel(targetFilter);
-  if (filterDevice == NULL)
+  if (!filterDevice)
   {
     KMessageBox::error(this, i18n("INDI device %1 no longer exists.").arg(targetFilter));
     filterCombo->removeItem(filterCombo->currentItem());
     filterCombo->setCurrentItem(0);
     currentFilter = filterCombo->currentText();
     filterPosCombo->clear();
-    stdDevFilter = NULL;
+    stdDevFilter = nullptr;
     return false;
   }
 
@@ -465,19 +465,19 @@ bool imagesequence::verifyFilterIntegrity()
        filterCombo->setCurrentItem(0);
        currentFilter = filterCombo->currentText();
        filterPosCombo->clear();
-       stdDevFilter = NULL;
+       stdDevFilter = nullptr;
        return false;
   }
 
   // #3 Make sure it has FILTER_SLOT std property by searching for its SLOT element
   filterElem = filterDevice->findElem("SLOT");
-  if (filterElem == NULL)
+  if (!filterElem)
   {
  	KMessageBox::error(this, i18n("Device does not support FILTER_SLOT property."));
         filterCombo->setCurrentItem(0);
         currentFilter = filterCombo->currentText();
         filterPosCombo->clear();
-	stdDevFilter = NULL;
+	stdDevFilter = nullptr;
         return false;
   }
 
@@ -492,7 +492,7 @@ bool imagesequence::verifyFilterIntegrity()
 
 void imagesequence::prepareCapture()
 {
-  INDI_P * tempProp(NULL);
+  INDI_P * tempProp(nullptr);
 
   // Do we need to select filter First??
   if (currentFilter.isEmpty() || currentFilter == i18n("None"))
@@ -505,7 +505,7 @@ void imagesequence::prepareCapture()
 	return;
      }
 
-     if ( stdDevFilter && ((tempProp = stdDevFilter->dp->findProp("FILTER_SLOT")) != NULL))
+     if ( stdDevFilter && ((tempProp = stdDevFilter->dp->findProp("FILTER_SLOT")) != nullptr))
      {
      connect (tempProp, TQ_SIGNAL(okState()), this, TQ_SLOT(captureImage()));
      selectFilter();
@@ -519,9 +519,9 @@ void imagesequence::prepareCapture()
 void imagesequence::captureImage()
 {
 
-  INDI_P * exposeProp(NULL);
-  INDI_E * exposeElem(NULL);
-  INDI_P * tempProp(NULL);
+  INDI_P * exposeProp(nullptr);
+  INDI_E * exposeElem(nullptr);
+  INDI_P * tempProp(nullptr);
   
   // Let's capture a new frame in acoord with the settings
   // We need to take into consideration the following conditions:
@@ -530,7 +530,7 @@ void imagesequence::captureImage()
   // C. The property is still busy.
   // D. The property has been lost.
   
-  if ( stdDevFilter && ((tempProp = stdDevFilter->dp->findProp("FILTER_SLOT")) != NULL))
+  if ( stdDevFilter && ((tempProp = stdDevFilter->dp->findProp("FILTER_SLOT")) != nullptr))
     	tempProp->disconnect( TQ_SIGNAL (okState()));
 
   if (!verifyCCDIntegrity())
@@ -632,9 +632,9 @@ void imagesequence::updateFilterCombo(int filterNum)
 void imagesequence::selectFilter()
 {
 
-  INDI_P * filterProp(NULL);
-  INDI_E * filterElem(NULL);
-  INDI_D * filterDev(NULL);
+  INDI_P * filterProp(nullptr);
+  INDI_E * filterElem(nullptr);
+  INDI_D * filterDev(nullptr);
   INDIMenu *devMenu = ksw->getINDIMenu();
 
   // Let's select a new filter in acoord with the settings
diff --git a/kstars/kstars/indi/apmount.cpp b/kstars/kstars/indi/apmount.cpp
index 273a7b16..dd57d516 100644
--- a/kstars/kstars/indi/apmount.cpp
+++ b/kstars/kstars/indi/apmount.cpp
@@ -56,14 +56,14 @@ static inline double timezoneOffset()
 #else
   time_t now;
   struct tm *tm;
-  now = time(NULL);
+  now = time(nullptr);
   tm = localtime(&now);
   daylight = tm->tm_isdst;
   return -(tm->tm_gmtoff) / (60 * 60);
 #endif
 }
 
-APMount *telescope = NULL;
+APMount *telescope = nullptr;
 int MaxReticleFlashRate = 3;
 extern char* me;
 
@@ -108,7 +108,7 @@ void ISInit()
  isInit = 1;
   
   telescope = new APMount();
-  IEAddTimer (POLLMS, ISPoll, NULL);
+  IEAddTimer (POLLMS, ISPoll, nullptr);
 }
 
 void ISGetProperties (const char *dev)
@@ -138,7 +138,7 @@ void ISNewNumber (const char *dev, const char *name, double values[], char *name
 void ISPoll (void */*p*/)
 {
  telescope->ISPoll(); 
- IEAddTimer (POLLMS, ISPoll, NULL);
+ IEAddTimer (POLLMS, ISPoll, nullptr);
 }
 
 void ISNewBLOB (const char */*dev*/, const char */*name*/, int */*sizes[]*/, char **/*blobs[]*/, char **/*formats[]*/, char **/*names[]*/, int /*n*/)
@@ -260,29 +260,29 @@ void APMount::ISGetProperties(const char *dev)
     return;
 
   // COMM_GROUP
-  IDDefSwitch(&PowerSP, NULL);
-  IDDefText(&PortTP, NULL);
-  IDDefSwitch(&AlignmentSP, NULL);
-  IDDefText(&TimeTP, NULL);
-  IDDefNumber(&SDTimeNP, NULL);
-  IDDefNumber(&GeoNP, NULL);
+  IDDefSwitch(&PowerSP, nullptr);
+  IDDefText(&PortTP, nullptr);
+  IDDefSwitch(&AlignmentSP, nullptr);
+  IDDefText(&TimeTP, nullptr);
+  IDDefNumber(&SDTimeNP, nullptr);
+  IDDefNumber(&GeoNP, nullptr);
   
   // MAIN CONTROL
-  IDDefText(&ObjectTP, NULL);
-  IDDefNumber(&EqNP, NULL);
+  IDDefText(&ObjectTP, nullptr);
+  IDDefNumber(&EqNP, nullptr);
   //IDDefNumber(&HorNP, NULL);
-  IDDefSwitch(&OnCoordSetSP, NULL);
-  IDDefSwitch(&AbortSlewSP, NULL);
-  IDDefSwitch(&ParkSP, NULL);
+  IDDefSwitch(&OnCoordSetSP, nullptr);
+  IDDefSwitch(&AbortSlewSP, nullptr);
+  IDDefSwitch(&ParkSP, nullptr);
   
   // MOVEMENT CONTROL
-  IDDefSwitch(&TrackModeSP, NULL);
-  IDDefSwitch(&MovementSP, NULL);
+  IDDefSwitch(&TrackModeSP, nullptr);
+  IDDefSwitch(&MovementSP, nullptr);
   
   // FOCUS CONTROL
-  IDDefNumber(&FocusSpeedNP, NULL);
-  IDDefSwitch(&FocusMotionSP, NULL);
-  IDDefNumber(&FocusTimerNP, NULL);
+  IDDefNumber(&FocusSpeedNP, nullptr);
+  IDDefSwitch(&FocusMotionSP, nullptr);
+  IDDefNumber(&FocusTimerNP, nullptr);
 
   /* Send the basic data to the new client if the previous client(s) are already connected. */		
    if (PowerSP.s == IPS_OK)
@@ -313,7 +313,7 @@ void APMount::ISNewText (const char *dev, const char *name, char *texts[], char
 	   return;
 
 	   IUSaveText(tp, texts[0]);
- 	   IDSetText (&PortTP, NULL);
+ 	   IDSetText (&PortTP, nullptr);
 	  return;
 	}
 
@@ -339,7 +339,7 @@ void APMount::ISNewText (const char *dev, const char *name, char *texts[], char
 		IDLog("local time is %02d:%02d:%02d\nUTCOffset: %g\n", ltp->tm_hour, ltp->tm_min, ltp->tm_sec, UTCOffset);
 		
 		getSDTime(&SDTimeN[0].value);
-		IDSetNumber(&SDTimeNP, NULL);
+		IDSetNumber(&SDTimeNP, nullptr);
 		
 		if ( ( err = setUTCOffset(UTCOffset) < 0) )
 	  	{
@@ -391,7 +391,7 @@ void APMount::ISNewText (const char *dev, const char *name, char *texts[], char
 
           IUSaveText(&ObjectT[0], texts[0]);
           ObjectTP.s = IPS_OK;
-          IDSetText(&ObjectTP, NULL);
+          IDSetText(&ObjectTP, nullptr);
           return;
        }
           
@@ -456,13 +456,13 @@ void APMount::ISNewNumber (const char *dev, const char *name, double values[], c
 	   	}
 		
 		MovementSP.s = IPS_IDLE;
-		IDSetSwitch(&MovementSP, NULL);
+		IDSetSwitch(&MovementSP, nullptr);
 	   }
 	   
 	   if (handleCoordSet())
 	   {
 	     EqNP.s = IPS_IDLE;
-	     IDSetNumber(&EqNP, NULL);
+	     IDSetNumber(&EqNP, nullptr);
 	     
 	   }
 	} // end nset
@@ -571,7 +571,7 @@ void APMount::ISNewNumber (const char *dev, const char *name, double values[], c
 	  
 	  FocusTimerNP.s = IPS_OK;
 	  
-	  IDSetNumber(&FocusTimerNP, NULL);
+	  IDSetNumber(&FocusTimerNP, nullptr);
 	  IDLog("Setting focus timer to %g\n", FocusTimerN[0].value);
 	  
 	  return;
@@ -592,13 +592,13 @@ void APMount::ISNewNumber (const char *dev, const char *name, double values[], c
 	  {
 	    FocusMotionSP.s = IPS_IDLE;
 	    FocusTimerNP.s  = IPS_IDLE;
-	    IDSetSwitch(&FocusMotionSP, NULL);
-	    IDSetNumber(&FocusTimerNP, NULL);
+	    IDSetSwitch(&FocusMotionSP, nullptr);
+	    IDSetNumber(&FocusTimerNP, nullptr);
 	  }
 	    
 	  setFocuserSpeedMode( ( (int) FocusSpeedN[0].value));
 	  FocusSpeedNP.s = IPS_OK;
-	  IDSetNumber(&FocusSpeedNP, NULL);
+	  IDSetNumber(&FocusSpeedNP, nullptr);
 	  return;
 	}
 
@@ -634,7 +634,7 @@ void APMount::ISNewSwitch (const char *dev, const char *name, ISState *states, c
 	  IUUpdateSwitches(&OnCoordSetSP, states, names, n);
 	  currentSet = getOnSwitch(&OnCoordSetSP);
 	  OnCoordSetSP.s = IPS_OK;
-	  IDSetSwitch(&OnCoordSetSP, NULL);
+	  IDSetSwitch(&OnCoordSetSP, nullptr);
 	}
 	
 	// Parking
@@ -680,7 +680,7 @@ void APMount::ISNewSwitch (const char *dev, const char *name, ISState *states, c
 	  if (checkPower(&AbortSlewSP))
 	  {
 	    AbortSlewSP.s = IPS_IDLE;
-	    IDSetSwitch(&AbortSlewSP, NULL);
+	    IDSetSwitch(&AbortSlewSP, nullptr);
 	    return;
 	  }
 	  
@@ -692,7 +692,7 @@ void APMount::ISNewSwitch (const char *dev, const char *name, ISState *states, c
 		AbortSlewSP.s = IPS_OK;
 		EqNP.s       = IPS_IDLE;
 		IDSetSwitch(&AbortSlewSP, "Slew aborted.");
-		IDSetNumber(&EqNP, NULL);
+		IDSetNumber(&EqNP, nullptr);
             }
 	    else if (MovementSP.s == IPS_BUSY)
 	    {
@@ -706,14 +706,14 @@ void APMount::ISNewSwitch (const char *dev, const char *name, ISState *states, c
 		IUResetSwitches(&MovementSP);
 		IUResetSwitches(&AbortSlewSP);
 		IDSetSwitch(&AbortSlewSP, "Slew aborted.");
-		IDSetSwitch(&MovementSP, NULL);
-		IDSetNumber(&EqNP, NULL);
+		IDSetSwitch(&MovementSP, nullptr);
+		IDSetNumber(&EqNP, nullptr);
 	    }
 	    else
 	    {
 	        IUResetSwitches(&MovementSP);
 	        AbortSlewSP.s = IPS_OK;
-	        IDSetSwitch(&AbortSlewSP, NULL);
+	        IDSetSwitch(&AbortSlewSP, nullptr);
 	    }
 
 	    return;
@@ -736,7 +736,7 @@ void APMount::ISNewSwitch (const char *dev, const char *name, ISState *states, c
 	  }
 	  
 	  AlignmentSP.s = IPS_OK;
-          IDSetSwitch (&AlignmentSP, NULL);
+          IDSetSwitch (&AlignmentSP, nullptr);
 	  return;
 
 	}
@@ -753,7 +753,7 @@ void APMount::ISNewSwitch (const char *dev, const char *name, ISState *states, c
 	  if (FocusSpeedN[0].value == 0)
 	  {
 	    FocusMotionSP.s = IPS_IDLE;
-	    IDSetSwitch(&FocusMotionSP, NULL);
+	    IDSetSwitch(&FocusMotionSP, nullptr);
 	    return;
 	  }
 	  
@@ -772,7 +772,7 @@ void APMount::ISNewSwitch (const char *dev, const char *name, ISState *states, c
 	  if (FocusTimerN[0].value > 0)  
 	     FocusTimerNP.s  = IPS_BUSY;
 	  
-	  IDSetSwitch(&FocusMotionSP, NULL);
+	  IDSetSwitch(&FocusMotionSP, nullptr);
 	  return;
 	}
 
@@ -791,7 +791,7 @@ void APMount::ISNewSwitch (const char *dev, const char *name, ISState *states, c
 	    abortSlew();
 	    IUResetSwitches(&MovementSP);
 	    MovementSP.s = IPS_IDLE;
-	    IDSetSwitch(&MovementSP, NULL);
+	    IDSetSwitch(&MovementSP, nullptr);
 	 }
 	 
 	 if (swp == &MovementS[0]) index = 0;
@@ -886,7 +886,7 @@ void APMount::ISNewSwitch (const char *dev, const char *name, ISState *states, c
 	  
           
 	  TrackModeSP.s = IPS_OK;
-	  IDSetSwitch(&TrackModeSP, NULL);
+	  IDSetSwitch(&TrackModeSP, nullptr);
 	  return;
 	}
 
@@ -906,8 +906,8 @@ void APMount::handleError(ISwitchVectorProperty *svp, int err, const char *msg)
       PowerSP.s = IPS_BUSY;
       IDSetSwitch(&PowerSP, "Telescope is not responding to commands, will retry in 10 seconds.");
       
-      IDSetSwitch(svp, NULL);
-      IEAddTimer(10000, retryConnection, NULL);
+      IDSetSwitch(svp, nullptr);
+      IEAddTimer(10000, retryConnection, nullptr);
       return;
     }
     
@@ -938,8 +938,8 @@ void APMount::handleError(INumberVectorProperty *nvp, int err, const char *msg)
       PowerSP.s = IPS_BUSY;
       IDSetSwitch(&PowerSP, "Telescope is not responding to commands, will retry in 10 seconds.");
       
-      IDSetNumber(nvp, NULL);
-      IEAddTimer(10000, retryConnection, NULL);
+      IDSetNumber(nvp, nullptr);
+      IEAddTimer(10000, retryConnection, nullptr);
       return;
     }
     
@@ -970,8 +970,8 @@ void APMount::handleError(ITextVectorProperty *tvp, int err, const char *msg)
       PowerSP.s = IPS_BUSY;
       IDSetSwitch(&PowerSP, "Telescope is not responding to commands, will retry in 10 seconds.");
       
-      IDSetText(tvp, NULL);
-      IEAddTimer(10000, retryConnection, NULL);
+      IDSetText(tvp, nullptr);
+      IEAddTimer(10000, retryConnection, nullptr);
       return;
     }
     
@@ -1032,7 +1032,7 @@ void APMount::ISPoll()
 	{
 	        lastRA = currentRA;
 		lastDEC = currentDEC;
-		IDSetNumber (&EqNP, NULL);
+		IDSetNumber (&EqNP, nullptr);
 	}
         break;
 
@@ -1054,7 +1054,7 @@ void APMount::ISPoll()
 	       IUResetSwitches(&OnCoordSetSP);
 	       OnCoordSetSP.s = IPS_OK;
 	       EqNP.s = IPS_OK;
-	       IDSetNumber (&EqNP, NULL);
+	       IDSetNumber (&EqNP, nullptr);
 
 		switch (currentSet)
 		{
@@ -1073,7 +1073,7 @@ void APMount::ISPoll()
 		}
 		  
 	    } else
-		IDSetNumber (&EqNP, NULL);
+		IDSetNumber (&EqNP, nullptr);
 	    break;
 
 	case IPS_OK:
@@ -1091,7 +1091,7 @@ void APMount::ISPoll()
 	{
 	  	lastRA  = currentRA;
 		lastDEC = currentDEC;
-		IDSetNumber (&EqNP, NULL);
+		IDSetNumber (&EqNP, nullptr);
 	}
         break;
 
@@ -1107,7 +1107,7 @@ void APMount::ISPoll()
 	 case IPS_BUSY:
 	   getLX200RA(&currentRA);
 	   getLX200DEC(&currentDEC);
-	   IDSetNumber (&EqNP, NULL);
+	   IDSetNumber (&EqNP, nullptr);
 	     break;
 	 case IPS_OK:
 	   break;
@@ -1141,11 +1141,11 @@ void APMount::ISPoll()
               IUResetSwitches(&FocusMotionSP);
 	      FocusSpeedN[0].value = 0;
 	      
-	      IDSetNumber(&FocusSpeedNP, NULL);
-	      IDSetSwitch(&FocusMotionSP, NULL);
+	      IDSetNumber(&FocusSpeedNP, nullptr);
+	      IDSetSwitch(&FocusMotionSP, nullptr);
 	    }
 	    
-	    IDSetNumber(&FocusTimerNP, NULL);
+	    IDSetNumber(&FocusTimerNP, nullptr);
 	    break;
 	    
 	   case IPS_OK:
@@ -1175,7 +1175,7 @@ void APMount::getBasicData()
   targetRA = currentRA;
   targetDEC = currentDEC;
 
-  IDSetNumber (&EqNP, NULL);  
+  IDSetNumber (&EqNP, nullptr);  
   updateLocation();
   updateTime();
   
@@ -1261,7 +1261,7 @@ int APMount::handleCoordSet()
 	    if (lastSet != LX200_TRACK)
 	      IDSetNumber(&EqNP, "Tracking...");
 	    else
-	      IDSetNumber(&EqNP, NULL);
+	      IDSetNumber(&EqNP, nullptr);
 	  }
 	  lastSet = LX200_TRACK;
       break;
@@ -1309,7 +1309,7 @@ int APMount::checkPower(ISwitchVectorProperty *sp)
         IDMessage (mydev, "Cannot change property %s while the telescope is offline.", sp->label);
 	
     sp->s = IPS_IDLE;
-    IDSetSwitch(sp, NULL);
+    IDSetSwitch(sp, nullptr);
     return -1;
   }
 
@@ -1329,7 +1329,7 @@ int APMount::checkPower(INumberVectorProperty *np)
         IDMessage (mydev, "Cannot change property %s while the telescope is offline.", np->label);
 	
     np->s = IPS_IDLE;
-    IDSetNumber(np, NULL);
+    IDSetNumber(np, nullptr);
     return -1;
   }
 
@@ -1350,7 +1350,7 @@ int APMount::checkPower(ITextVectorProperty *tp)
         IDMessage (mydev, "Cannot change property %s while the telescope is offline.", tp->label);
 	
     tp->s = IPS_IDLE;
-    IDSetText(tp, NULL);
+    IDSetText(tp, nullptr);
     return -1;
   }
 
@@ -1411,7 +1411,7 @@ void APMount::slewError(int slewCode)
 {
     OnCoordSetSP.s = IPS_IDLE;
     ParkSP.s = IPS_IDLE;
-    IDSetSwitch(&ParkSP, NULL);
+    IDSetSwitch(&ParkSP, nullptr);
 
     if (slewCode == 1)
 	IDSetSwitch (&OnCoordSetSP, "Object below horizon.");
@@ -1453,7 +1453,7 @@ void APMount::updateTime()
   {
     sprintf(UTCT[0].text, "%d-%02d-%02dT%02d:%02d:%02d", 1979, 6, 25, 3, 30, 30);
     IDLog("Telescope ISO date and time: %s\n", UTCT[0].text);
-    IDSetText(&TimeTP, NULL);
+    IDSetText(&TimeTP, nullptr);
     return;
   }
   
@@ -1603,8 +1603,8 @@ void APMount::updateTime()
   
 
   // Let's send everything to the client
-  IDSetText(&TimeTP, NULL);
-  IDSetNumber(&SDTimeNP, NULL);
+  IDSetText(&TimeTP, nullptr);
+  IDSetNumber(&SDTimeNP, nullptr);
 
 }
 
@@ -1637,7 +1637,7 @@ void APMount::updateLocation()
     IDLog("INDI Longitude: %g\n", GeoNP.np[1].value);
   }
   
-  IDSetNumber (&GeoNP, NULL);
+  IDSetNumber (&GeoNP, nullptr);
 
 }
 
diff --git a/kstars/kstars/indi/apogee/ApnCamData.cpp b/kstars/kstars/indi/apogee/ApnCamData.cpp
index 9a6bc5ad..1c035b0f 100644
--- a/kstars/kstars/indi/apogee/ApnCamData.cpp
+++ b/kstars/kstars/indi/apogee/ApnCamData.cpp
@@ -46,7 +46,7 @@ void CApnCamData::init_vpattern( )
 
 	m_VerticalPattern.Mask			= 0x0;
 	m_VerticalPattern.NumElements	= 0;
-	m_VerticalPattern.PatternData	= NULL;
+	m_VerticalPattern.PatternData	= nullptr;
 }
 
 
@@ -57,10 +57,10 @@ void CApnCamData::clear_vpattern( )
 	m_VerticalPattern.Mask			= 0x0;
 	m_VerticalPattern.NumElements	= 0;
 	
-	if ( m_VerticalPattern.PatternData != NULL )
+	if (m_VerticalPattern.PatternData)
 	{
 		free( m_VerticalPattern.PatternData );
-		m_VerticalPattern.PatternData = NULL;
+		m_VerticalPattern.PatternData = nullptr;
 	}
 }
 
@@ -76,13 +76,13 @@ void CApnCamData::init_hpattern( APN_HPATTERN_FILE *Pattern )
 	Pattern->SigNumElements = 0;
 	Pattern->BinningLimit	= 0;
 	
-	Pattern->RefPatternData = NULL;
-	Pattern->SigPatternData = NULL;
+	Pattern->RefPatternData = nullptr;
+	Pattern->SigPatternData = nullptr;
 
 	for ( Counter=0; Counter<APN_MAX_HBINNING; Counter++ )
 	{
 		Pattern->BinNumElements[Counter] = 0;
-		Pattern->BinPatternData[Counter] = NULL;
+		Pattern->BinPatternData[Counter] = nullptr;
 	}
 }
 
@@ -99,31 +99,31 @@ void CApnCamData::clear_hpattern( APN_HPATTERN_FILE *Pattern )
 	Pattern->SigNumElements = 0;
 	Pattern->BinningLimit	= 0;
 
-	if ( Pattern->RefPatternData != NULL )
+	if ( Pattern->RefPatternData )
 	{
 		// OutputDebugString( "Freeing Allocated Reference Pattern Memory" );
 		free( Pattern->RefPatternData );
 
-		Pattern->RefPatternData = NULL;
+		Pattern->RefPatternData = nullptr;
 	}
-	if ( Pattern->SigPatternData != NULL )
+	if ( Pattern->SigPatternData )
 	{
 		// OutputDebugString( "Freeing Allocated Signal Pattern Memory" );
 		free( Pattern->SigPatternData );
 
-		Pattern->SigPatternData = NULL;
+		Pattern->SigPatternData = nullptr;
 	}
 	
 	for ( Counter=0; Counter<APN_MAX_HBINNING; Counter++ )
 	{
 		Pattern->BinNumElements[Counter] = 0;
-		if ( Pattern->BinPatternData[Counter] != NULL )
+		if ( Pattern->BinPatternData[Counter] )
 		{
 			// sprintf( szMsg, "Freeing Allocated Binning Pattern Memory (Binning = %d)", Counter+1 );
 			// OutputDebugString( szMsg );
 			free( Pattern->BinPatternData[Counter] );
 
-			Pattern->BinPatternData[Counter] = NULL;
+			Pattern->BinPatternData[Counter] = nullptr;
 		}
 	}
 }
diff --git a/kstars/kstars/indi/apogee/ApnCamData_CCD3011HS.cpp b/kstars/kstars/indi/apogee/ApnCamData_CCD3011HS.cpp
index 78ff3bf4..a7cfd530 100644
--- a/kstars/kstars/indi/apogee/ApnCamData_CCD3011HS.cpp
+++ b/kstars/kstars/indi/apogee/ApnCamData_CCD3011HS.cpp
@@ -426,9 +426,9 @@ void CApnCamData_CCD3011HS::set_hpattern_skip_twelve()
 	const unsigned short RefNumElements = 0;
 	const unsigned short SigNumElements = 0;
 
-	unsigned short *RefPatternData = NULL;
+	unsigned short *RefPatternData = nullptr;
 
-	unsigned short *SigPatternData = NULL;
+	unsigned short *SigPatternData = nullptr;
 
 	unsigned short BinNumElements[APN_MAX_HBINNING] = 
 	{
@@ -461,9 +461,9 @@ void CApnCamData_CCD3011HS::set_hpattern_clamp_twelve()
 	const unsigned short RefNumElements = 0;
 	const unsigned short SigNumElements = 0;
 
-	unsigned short *RefPatternData = NULL;
+	unsigned short *RefPatternData = nullptr;
 
-	unsigned short *SigPatternData = NULL;
+	unsigned short *SigPatternData = nullptr;
 
 	unsigned short BinNumElements[APN_MAX_HBINNING] = 
 	{
@@ -496,9 +496,9 @@ void CApnCamData_CCD3011HS::set_hpattern_roi_twelve()
 	const unsigned short RefNumElements = 0;
 	const unsigned short SigNumElements = 0;
 
-	unsigned short *RefPatternData = NULL;
+	unsigned short *RefPatternData = nullptr;
 
-	unsigned short *SigPatternData = NULL;
+	unsigned short *SigPatternData = nullptr;
 
 	unsigned short BinNumElements[APN_MAX_HBINNING] = 
 	{
diff --git a/kstars/kstars/indi/apogee/ApnCamData_CCD3011LS.cpp b/kstars/kstars/indi/apogee/ApnCamData_CCD3011LS.cpp
index f7150d22..f4e0ff13 100644
--- a/kstars/kstars/indi/apogee/ApnCamData_CCD3011LS.cpp
+++ b/kstars/kstars/indi/apogee/ApnCamData_CCD3011LS.cpp
@@ -416,9 +416,9 @@ void CApnCamData_CCD3011LS::set_hpattern_skip_twelve()
 	const unsigned short RefNumElements = 0;
 	const unsigned short SigNumElements = 0;
 
-	unsigned short *RefPatternData = NULL;
+	unsigned short *RefPatternData = nullptr;
 
-	unsigned short *SigPatternData = NULL;
+	unsigned short *SigPatternData = nullptr;
 
 	unsigned short BinNumElements[APN_MAX_HBINNING] = 
 	{
@@ -451,9 +451,9 @@ void CApnCamData_CCD3011LS::set_hpattern_clamp_twelve()
 	const unsigned short RefNumElements = 0;
 	const unsigned short SigNumElements = 0;
 
-	unsigned short *RefPatternData = NULL;
+	unsigned short *RefPatternData = nullptr;
 
-	unsigned short *SigPatternData = NULL;
+	unsigned short *SigPatternData = nullptr;
 
 	unsigned short BinNumElements[APN_MAX_HBINNING] = 
 	{
@@ -486,9 +486,9 @@ void CApnCamData_CCD3011LS::set_hpattern_roi_twelve()
 	const unsigned short RefNumElements = 0;
 	const unsigned short SigNumElements = 0;
 
-	unsigned short *RefPatternData = NULL;
+	unsigned short *RefPatternData = nullptr;
 
-	unsigned short *SigPatternData = NULL;
+	unsigned short *SigPatternData = nullptr;
 
 	unsigned short BinNumElements[APN_MAX_HBINNING] = 
 	{
diff --git a/kstars/kstars/indi/apogee/ApnCamData_CCD4240HS.cpp b/kstars/kstars/indi/apogee/ApnCamData_CCD4240HS.cpp
index 94628854..53c51e6b 100644
--- a/kstars/kstars/indi/apogee/ApnCamData_CCD4240HS.cpp
+++ b/kstars/kstars/indi/apogee/ApnCamData_CCD4240HS.cpp
@@ -416,9 +416,9 @@ void CApnCamData_CCD4240HS::set_hpattern_skip_twelve()
 	const unsigned short RefNumElements = 0;
 	const unsigned short SigNumElements = 0;
 
-	unsigned short *RefPatternData = NULL;
+	unsigned short *RefPatternData = nullptr;
 
-	unsigned short *SigPatternData = NULL;
+	unsigned short *SigPatternData = nullptr;
 
 	unsigned short BinNumElements[APN_MAX_HBINNING] = 
 	{
@@ -451,9 +451,9 @@ void CApnCamData_CCD4240HS::set_hpattern_clamp_twelve()
 	const unsigned short RefNumElements = 0;
 	const unsigned short SigNumElements = 0;
 
-	unsigned short *RefPatternData = NULL;
+	unsigned short *RefPatternData = nullptr;
 
-	unsigned short *SigPatternData = NULL;
+	unsigned short *SigPatternData = nullptr;
 
 	unsigned short BinNumElements[APN_MAX_HBINNING] = 
 	{
@@ -486,9 +486,9 @@ void CApnCamData_CCD4240HS::set_hpattern_roi_twelve()
 	const unsigned short RefNumElements = 0;
 	const unsigned short SigNumElements = 0;
 
-	unsigned short *RefPatternData = NULL;
+	unsigned short *RefPatternData = nullptr;
 
-	unsigned short *SigPatternData = NULL;
+	unsigned short *SigPatternData = nullptr;
 
 	unsigned short BinNumElements[APN_MAX_HBINNING] = 
 	{
diff --git a/kstars/kstars/indi/apogee/ApnCamData_CCD4240LS.cpp b/kstars/kstars/indi/apogee/ApnCamData_CCD4240LS.cpp
index 7d07d3e4..5cbb24be 100644
--- a/kstars/kstars/indi/apogee/ApnCamData_CCD4240LS.cpp
+++ b/kstars/kstars/indi/apogee/ApnCamData_CCD4240LS.cpp
@@ -416,9 +416,9 @@ void CApnCamData_CCD4240LS::set_hpattern_skip_twelve()
 	const unsigned short RefNumElements = 0;
 	const unsigned short SigNumElements = 0;
 
-	unsigned short *RefPatternData = NULL;
+	unsigned short *RefPatternData = nullptr;
 
-	unsigned short *SigPatternData = NULL;
+	unsigned short *SigPatternData = nullptr;
 
 	unsigned short BinNumElements[APN_MAX_HBINNING] = 
 	{
@@ -451,9 +451,9 @@ void CApnCamData_CCD4240LS::set_hpattern_clamp_twelve()
 	const unsigned short RefNumElements = 0;
 	const unsigned short SigNumElements = 0;
 
-	unsigned short *RefPatternData = NULL;
+	unsigned short *RefPatternData = nullptr;
 
-	unsigned short *SigPatternData = NULL;
+	unsigned short *SigPatternData = nullptr;
 
 	unsigned short BinNumElements[APN_MAX_HBINNING] = 
 	{
@@ -486,9 +486,9 @@ void CApnCamData_CCD4240LS::set_hpattern_roi_twelve()
 	const unsigned short RefNumElements = 0;
 	const unsigned short SigNumElements = 0;
 
-	unsigned short *RefPatternData = NULL;
+	unsigned short *RefPatternData = nullptr;
 
-	unsigned short *SigPatternData = NULL;
+	unsigned short *SigPatternData = nullptr;
 
 	unsigned short BinNumElements[APN_MAX_HBINNING] = 
 	{
diff --git a/kstars/kstars/indi/apogee/ApnCamData_CCD4710HS.cpp b/kstars/kstars/indi/apogee/ApnCamData_CCD4710HS.cpp
index 678b6936..5cb446b0 100644
--- a/kstars/kstars/indi/apogee/ApnCamData_CCD4710HS.cpp
+++ b/kstars/kstars/indi/apogee/ApnCamData_CCD4710HS.cpp
@@ -410,9 +410,9 @@ void CApnCamData_CCD4710HS::set_hpattern_skip_twelve()
 	const unsigned short RefNumElements = 0;
 	const unsigned short SigNumElements = 0;
 
-	unsigned short *RefPatternData = NULL;
+	unsigned short *RefPatternData = nullptr;
 
-	unsigned short *SigPatternData = NULL;
+	unsigned short *SigPatternData = nullptr;
 
 	unsigned short BinNumElements[APN_MAX_HBINNING] = 
 	{
@@ -445,9 +445,9 @@ void CApnCamData_CCD4710HS::set_hpattern_clamp_twelve()
 	const unsigned short RefNumElements = 0;
 	const unsigned short SigNumElements = 0;
 
-	unsigned short *RefPatternData = NULL;
+	unsigned short *RefPatternData = nullptr;
 
-	unsigned short *SigPatternData = NULL;
+	unsigned short *SigPatternData = nullptr;
 
 	unsigned short BinNumElements[APN_MAX_HBINNING] = 
 	{
@@ -480,9 +480,9 @@ void CApnCamData_CCD4710HS::set_hpattern_roi_twelve()
 	const unsigned short RefNumElements = 0;
 	const unsigned short SigNumElements = 0;
 
-	unsigned short *RefPatternData = NULL;
+	unsigned short *RefPatternData = nullptr;
 
-	unsigned short *SigPatternData = NULL;
+	unsigned short *SigPatternData = nullptr;
 
 	unsigned short BinNumElements[APN_MAX_HBINNING] = 
 	{
diff --git a/kstars/kstars/indi/apogee/ApnCamData_CCD4710LS.cpp b/kstars/kstars/indi/apogee/ApnCamData_CCD4710LS.cpp
index 8de1f095..22b3a79e 100644
--- a/kstars/kstars/indi/apogee/ApnCamData_CCD4710LS.cpp
+++ b/kstars/kstars/indi/apogee/ApnCamData_CCD4710LS.cpp
@@ -416,9 +416,9 @@ void CApnCamData_CCD4710LS::set_hpattern_skip_twelve()
 	const unsigned short RefNumElements = 0;
 	const unsigned short SigNumElements = 0;
 
-	unsigned short *RefPatternData = NULL;
+	unsigned short *RefPatternData = nullptr;
 
-	unsigned short *SigPatternData = NULL;
+	unsigned short *SigPatternData = nullptr;
 
 	unsigned short BinNumElements[APN_MAX_HBINNING] = 
 	{
@@ -451,9 +451,9 @@ void CApnCamData_CCD4710LS::set_hpattern_clamp_twelve()
 	const unsigned short RefNumElements = 0;
 	const unsigned short SigNumElements = 0;
 
-	unsigned short *RefPatternData = NULL;
+	unsigned short *RefPatternData = nullptr;
 
-	unsigned short *SigPatternData = NULL;
+	unsigned short *SigPatternData = nullptr;
 
 	unsigned short BinNumElements[APN_MAX_HBINNING] = 
 	{
@@ -486,9 +486,9 @@ void CApnCamData_CCD4710LS::set_hpattern_roi_twelve()
 	const unsigned short RefNumElements = 0;
 	const unsigned short SigNumElements = 0;
 
-	unsigned short *RefPatternData = NULL;
+	unsigned short *RefPatternData = nullptr;
 
-	unsigned short *SigPatternData = NULL;
+	unsigned short *SigPatternData = nullptr;
 
 	unsigned short BinNumElements[APN_MAX_HBINNING] = 
 	{
diff --git a/kstars/kstars/indi/apogee/ApnCamData_CCD4710LS2.cpp b/kstars/kstars/indi/apogee/ApnCamData_CCD4710LS2.cpp
index 4feee1c7..377133c2 100644
--- a/kstars/kstars/indi/apogee/ApnCamData_CCD4710LS2.cpp
+++ b/kstars/kstars/indi/apogee/ApnCamData_CCD4710LS2.cpp
@@ -416,9 +416,9 @@ void CApnCamData_CCD4710LS2::set_hpattern_skip_twelve()
 	const unsigned short RefNumElements = 0;
 	const unsigned short SigNumElements = 0;
 
-	unsigned short *RefPatternData = NULL;
+	unsigned short *RefPatternData = nullptr;
 
-	unsigned short *SigPatternData = NULL;
+	unsigned short *SigPatternData = nullptr;
 
 	unsigned short BinNumElements[APN_MAX_HBINNING] = 
 	{
@@ -451,9 +451,9 @@ void CApnCamData_CCD4710LS2::set_hpattern_clamp_twelve()
 	const unsigned short RefNumElements = 0;
 	const unsigned short SigNumElements = 0;
 
-	unsigned short *RefPatternData = NULL;
+	unsigned short *RefPatternData = nullptr;
 
-	unsigned short *SigPatternData = NULL;
+	unsigned short *SigPatternData = nullptr;
 
 	unsigned short BinNumElements[APN_MAX_HBINNING] = 
 	{
@@ -486,9 +486,9 @@ void CApnCamData_CCD4710LS2::set_hpattern_roi_twelve()
 	const unsigned short RefNumElements = 0;
 	const unsigned short SigNumElements = 0;
 
-	unsigned short *RefPatternData = NULL;
+	unsigned short *RefPatternData = nullptr;
 
-	unsigned short *SigPatternData = NULL;
+	unsigned short *SigPatternData = nullptr;
 
 	unsigned short BinNumElements[APN_MAX_HBINNING] = 
 	{
diff --git a/kstars/kstars/indi/apogee/ApnCamData_CCD4710LS3.cpp b/kstars/kstars/indi/apogee/ApnCamData_CCD4710LS3.cpp
index bc2b9e1a..072b7f0d 100644
--- a/kstars/kstars/indi/apogee/ApnCamData_CCD4710LS3.cpp
+++ b/kstars/kstars/indi/apogee/ApnCamData_CCD4710LS3.cpp
@@ -415,9 +415,9 @@ void CApnCamData_CCD4710LS3::set_hpattern_skip_twelve()
 	const unsigned short RefNumElements = 0;
 	const unsigned short SigNumElements = 0;
 
-	unsigned short *RefPatternData = NULL;
+	unsigned short *RefPatternData = nullptr;
 
-	unsigned short *SigPatternData = NULL;
+	unsigned short *SigPatternData = nullptr;
 
 	unsigned short BinNumElements[APN_MAX_HBINNING] = 
 	{
@@ -450,9 +450,9 @@ void CApnCamData_CCD4710LS3::set_hpattern_clamp_twelve()
 	const unsigned short RefNumElements = 0;
 	const unsigned short SigNumElements = 0;
 
-	unsigned short *RefPatternData = NULL;
+	unsigned short *RefPatternData = nullptr;
 
-	unsigned short *SigPatternData = NULL;
+	unsigned short *SigPatternData = nullptr;
 
 	unsigned short BinNumElements[APN_MAX_HBINNING] = 
 	{
@@ -485,9 +485,9 @@ void CApnCamData_CCD4710LS3::set_hpattern_roi_twelve()
 	const unsigned short RefNumElements = 0;
 	const unsigned short SigNumElements = 0;
 
-	unsigned short *RefPatternData = NULL;
+	unsigned short *RefPatternData = nullptr;
 
-	unsigned short *SigPatternData = NULL;
+	unsigned short *SigPatternData = nullptr;
 
 	unsigned short BinNumElements[APN_MAX_HBINNING] = 
 	{
diff --git a/kstars/kstars/indi/apogee/ApnCamData_CCD4710LS4.cpp b/kstars/kstars/indi/apogee/ApnCamData_CCD4710LS4.cpp
index 501d6b56..70b6c004 100644
--- a/kstars/kstars/indi/apogee/ApnCamData_CCD4710LS4.cpp
+++ b/kstars/kstars/indi/apogee/ApnCamData_CCD4710LS4.cpp
@@ -415,9 +415,9 @@ void CApnCamData_CCD4710LS4::set_hpattern_skip_twelve()
 	const unsigned short RefNumElements = 0;
 	const unsigned short SigNumElements = 0;
 
-	unsigned short *RefPatternData = NULL;
+	unsigned short *RefPatternData = nullptr;
 
-	unsigned short *SigPatternData = NULL;
+	unsigned short *SigPatternData = nullptr;
 
 	unsigned short BinNumElements[APN_MAX_HBINNING] = 
 	{
@@ -450,9 +450,9 @@ void CApnCamData_CCD4710LS4::set_hpattern_clamp_twelve()
 	const unsigned short RefNumElements = 0;
 	const unsigned short SigNumElements = 0;
 
-	unsigned short *RefPatternData = NULL;
+	unsigned short *RefPatternData = nullptr;
 
-	unsigned short *SigPatternData = NULL;
+	unsigned short *SigPatternData = nullptr;
 
 	unsigned short BinNumElements[APN_MAX_HBINNING] = 
 	{
@@ -485,9 +485,9 @@ void CApnCamData_CCD4710LS4::set_hpattern_roi_twelve()
 	const unsigned short RefNumElements = 0;
 	const unsigned short SigNumElements = 0;
 
-	unsigned short *RefPatternData = NULL;
+	unsigned short *RefPatternData = nullptr;
 
-	unsigned short *SigPatternData = NULL;
+	unsigned short *SigPatternData = nullptr;
 
 	unsigned short BinNumElements[APN_MAX_HBINNING] = 
 	{
diff --git a/kstars/kstars/indi/apogee/ApnCamData_CCD4710LS5.cpp b/kstars/kstars/indi/apogee/ApnCamData_CCD4710LS5.cpp
index 5ebda48b..1b296d48 100644
--- a/kstars/kstars/indi/apogee/ApnCamData_CCD4710LS5.cpp
+++ b/kstars/kstars/indi/apogee/ApnCamData_CCD4710LS5.cpp
@@ -415,9 +415,9 @@ void CApnCamData_CCD4710LS5::set_hpattern_skip_twelve()
 	const unsigned short RefNumElements = 0;
 	const unsigned short SigNumElements = 0;
 
-	unsigned short *RefPatternData = NULL;
+	unsigned short *RefPatternData = nullptr;
 
-	unsigned short *SigPatternData = NULL;
+	unsigned short *SigPatternData = nullptr;
 
 	unsigned short BinNumElements[APN_MAX_HBINNING] = 
 	{
@@ -450,9 +450,9 @@ void CApnCamData_CCD4710LS5::set_hpattern_clamp_twelve()
 	const unsigned short RefNumElements = 0;
 	const unsigned short SigNumElements = 0;
 
-	unsigned short *RefPatternData = NULL;
+	unsigned short *RefPatternData = nullptr;
 
-	unsigned short *SigPatternData = NULL;
+	unsigned short *SigPatternData = nullptr;
 
 	unsigned short BinNumElements[APN_MAX_HBINNING] = 
 	{
@@ -485,9 +485,9 @@ void CApnCamData_CCD4710LS5::set_hpattern_roi_twelve()
 	const unsigned short RefNumElements = 0;
 	const unsigned short SigNumElements = 0;
 
-	unsigned short *RefPatternData = NULL;
+	unsigned short *RefPatternData = nullptr;
 
-	unsigned short *SigPatternData = NULL;
+	unsigned short *SigPatternData = nullptr;
 
 	unsigned short BinNumElements[APN_MAX_HBINNING] = 
 	{
diff --git a/kstars/kstars/indi/apogee/ApnCamData_CCD4720HS.cpp b/kstars/kstars/indi/apogee/ApnCamData_CCD4720HS.cpp
index 216cb2b7..e20800e8 100644
--- a/kstars/kstars/indi/apogee/ApnCamData_CCD4720HS.cpp
+++ b/kstars/kstars/indi/apogee/ApnCamData_CCD4720HS.cpp
@@ -394,9 +394,9 @@ void CApnCamData_CCD4720HS::set_hpattern_skip_twelve()
 	const unsigned short RefNumElements = 0;
 	const unsigned short SigNumElements = 0;
 
-	unsigned short *RefPatternData = NULL;
+	unsigned short *RefPatternData = nullptr;
 
-	unsigned short *SigPatternData = NULL;
+	unsigned short *SigPatternData = nullptr;
 
 	unsigned short BinNumElements[APN_MAX_HBINNING] = 
 	{
@@ -429,9 +429,9 @@ void CApnCamData_CCD4720HS::set_hpattern_clamp_twelve()
 	const unsigned short RefNumElements = 0;
 	const unsigned short SigNumElements = 0;
 
-	unsigned short *RefPatternData = NULL;
+	unsigned short *RefPatternData = nullptr;
 
-	unsigned short *SigPatternData = NULL;
+	unsigned short *SigPatternData = nullptr;
 
 	unsigned short BinNumElements[APN_MAX_HBINNING] = 
 	{
@@ -464,9 +464,9 @@ void CApnCamData_CCD4720HS::set_hpattern_roi_twelve()
 	const unsigned short RefNumElements = 0;
 	const unsigned short SigNumElements = 0;
 
-	unsigned short *RefPatternData = NULL;
+	unsigned short *RefPatternData = nullptr;
 
-	unsigned short *SigPatternData = NULL;
+	unsigned short *SigPatternData = nullptr;
 
 	unsigned short BinNumElements[APN_MAX_HBINNING] = 
 	{
diff --git a/kstars/kstars/indi/apogee/ApnCamData_CCD4720LS.cpp b/kstars/kstars/indi/apogee/ApnCamData_CCD4720LS.cpp
index f0194665..679974e1 100644
--- a/kstars/kstars/indi/apogee/ApnCamData_CCD4720LS.cpp
+++ b/kstars/kstars/indi/apogee/ApnCamData_CCD4720LS.cpp
@@ -394,9 +394,9 @@ void CApnCamData_CCD4720LS::set_hpattern_skip_twelve()
 	const unsigned short RefNumElements = 0;
 	const unsigned short SigNumElements = 0;
 
-	unsigned short *RefPatternData = NULL;
+	unsigned short *RefPatternData = nullptr;
 
-	unsigned short *SigPatternData = NULL;
+	unsigned short *SigPatternData = nullptr;
 
 	unsigned short BinNumElements[APN_MAX_HBINNING] = 
 	{
@@ -429,9 +429,9 @@ void CApnCamData_CCD4720LS::set_hpattern_clamp_twelve()
 	const unsigned short RefNumElements = 0;
 	const unsigned short SigNumElements = 0;
 
-	unsigned short *RefPatternData = NULL;
+	unsigned short *RefPatternData = nullptr;
 
-	unsigned short *SigPatternData = NULL;
+	unsigned short *SigPatternData = nullptr;
 
 	unsigned short BinNumElements[APN_MAX_HBINNING] = 
 	{
@@ -464,9 +464,9 @@ void CApnCamData_CCD4720LS::set_hpattern_roi_twelve()
 	const unsigned short RefNumElements = 0;
 	const unsigned short SigNumElements = 0;
 
-	unsigned short *RefPatternData = NULL;
+	unsigned short *RefPatternData = nullptr;
 
-	unsigned short *SigPatternData = NULL;
+	unsigned short *SigPatternData = nullptr;
 
 	unsigned short BinNumElements[APN_MAX_HBINNING] = 
 	{
diff --git a/kstars/kstars/indi/apogee/ApnCamData_CCD5520HS.cpp b/kstars/kstars/indi/apogee/ApnCamData_CCD5520HS.cpp
index d2b55246..7b920cc2 100644
--- a/kstars/kstars/indi/apogee/ApnCamData_CCD5520HS.cpp
+++ b/kstars/kstars/indi/apogee/ApnCamData_CCD5520HS.cpp
@@ -416,9 +416,9 @@ void CApnCamData_CCD5520HS::set_hpattern_skip_twelve()
 	const unsigned short RefNumElements = 0;
 	const unsigned short SigNumElements = 0;
 
-	unsigned short *RefPatternData = NULL;
+	unsigned short *RefPatternData = nullptr;
 
-	unsigned short *SigPatternData = NULL;
+	unsigned short *SigPatternData = nullptr;
 
 	unsigned short BinNumElements[APN_MAX_HBINNING] = 
 	{
@@ -451,9 +451,9 @@ void CApnCamData_CCD5520HS::set_hpattern_clamp_twelve()
 	const unsigned short RefNumElements = 0;
 	const unsigned short SigNumElements = 0;
 
-	unsigned short *RefPatternData = NULL;
+	unsigned short *RefPatternData = nullptr;
 
-	unsigned short *SigPatternData = NULL;
+	unsigned short *SigPatternData = nullptr;
 
 	unsigned short BinNumElements[APN_MAX_HBINNING] = 
 	{
@@ -486,9 +486,9 @@ void CApnCamData_CCD5520HS::set_hpattern_roi_twelve()
 	const unsigned short RefNumElements = 0;
 	const unsigned short SigNumElements = 0;
 
-	unsigned short *RefPatternData = NULL;
+	unsigned short *RefPatternData = nullptr;
 
-	unsigned short *SigPatternData = NULL;
+	unsigned short *SigPatternData = nullptr;
 
 	unsigned short BinNumElements[APN_MAX_HBINNING] = 
 	{
diff --git a/kstars/kstars/indi/apogee/ApnCamData_CCD5520LS.cpp b/kstars/kstars/indi/apogee/ApnCamData_CCD5520LS.cpp
index 2840c62d..f89c30cc 100644
--- a/kstars/kstars/indi/apogee/ApnCamData_CCD5520LS.cpp
+++ b/kstars/kstars/indi/apogee/ApnCamData_CCD5520LS.cpp
@@ -416,9 +416,9 @@ void CApnCamData_CCD5520LS::set_hpattern_skip_twelve()
 	const unsigned short RefNumElements = 0;
 	const unsigned short SigNumElements = 0;
 
-	unsigned short *RefPatternData = NULL;
+	unsigned short *RefPatternData = nullptr;
 
-	unsigned short *SigPatternData = NULL;
+	unsigned short *SigPatternData = nullptr;
 
 	unsigned short BinNumElements[APN_MAX_HBINNING] = 
 	{
@@ -451,9 +451,9 @@ void CApnCamData_CCD5520LS::set_hpattern_clamp_twelve()
 	const unsigned short RefNumElements = 0;
 	const unsigned short SigNumElements = 0;
 
-	unsigned short *RefPatternData = NULL;
+	unsigned short *RefPatternData = nullptr;
 
-	unsigned short *SigPatternData = NULL;
+	unsigned short *SigPatternData = nullptr;
 
 	unsigned short BinNumElements[APN_MAX_HBINNING] = 
 	{
@@ -486,9 +486,9 @@ void CApnCamData_CCD5520LS::set_hpattern_roi_twelve()
 	const unsigned short RefNumElements = 0;
 	const unsigned short SigNumElements = 0;
 
-	unsigned short *RefPatternData = NULL;
+	unsigned short *RefPatternData = nullptr;
 
-	unsigned short *SigPatternData = NULL;
+	unsigned short *SigPatternData = nullptr;
 
 	unsigned short BinNumElements[APN_MAX_HBINNING] = 
 	{
diff --git a/kstars/kstars/indi/apogee/ApnCamData_CCD5710HS.cpp b/kstars/kstars/indi/apogee/ApnCamData_CCD5710HS.cpp
index adaae166..27eb78a4 100644
--- a/kstars/kstars/indi/apogee/ApnCamData_CCD5710HS.cpp
+++ b/kstars/kstars/indi/apogee/ApnCamData_CCD5710HS.cpp
@@ -394,9 +394,9 @@ void CApnCamData_CCD5710HS::set_hpattern_skip_twelve()
 	const unsigned short RefNumElements = 0;
 	const unsigned short SigNumElements = 0;
 
-	unsigned short *RefPatternData = NULL;
+	unsigned short *RefPatternData = nullptr;
 
-	unsigned short *SigPatternData = NULL;
+	unsigned short *SigPatternData = nullptr;
 
 	unsigned short BinNumElements[APN_MAX_HBINNING] = 
 	{
@@ -429,9 +429,9 @@ void CApnCamData_CCD5710HS::set_hpattern_clamp_twelve()
 	const unsigned short RefNumElements = 0;
 	const unsigned short SigNumElements = 0;
 
-	unsigned short *RefPatternData = NULL;
+	unsigned short *RefPatternData = nullptr;
 
-	unsigned short *SigPatternData = NULL;
+	unsigned short *SigPatternData = nullptr;
 
 	unsigned short BinNumElements[APN_MAX_HBINNING] = 
 	{
@@ -464,9 +464,9 @@ void CApnCamData_CCD5710HS::set_hpattern_roi_twelve()
 	const unsigned short RefNumElements = 0;
 	const unsigned short SigNumElements = 0;
 
-	unsigned short *RefPatternData = NULL;
+	unsigned short *RefPatternData = nullptr;
 
-	unsigned short *SigPatternData = NULL;
+	unsigned short *SigPatternData = nullptr;
 
 	unsigned short BinNumElements[APN_MAX_HBINNING] = 
 	{
diff --git a/kstars/kstars/indi/apogee/ApnCamData_CCD5710LS.cpp b/kstars/kstars/indi/apogee/ApnCamData_CCD5710LS.cpp
index dacb3bde..4bbcc05f 100644
--- a/kstars/kstars/indi/apogee/ApnCamData_CCD5710LS.cpp
+++ b/kstars/kstars/indi/apogee/ApnCamData_CCD5710LS.cpp
@@ -394,9 +394,9 @@ void CApnCamData_CCD5710LS::set_hpattern_skip_twelve()
 	const unsigned short RefNumElements = 0;
 	const unsigned short SigNumElements = 0;
 
-	unsigned short *RefPatternData = NULL;
+	unsigned short *RefPatternData = nullptr;
 
-	unsigned short *SigPatternData = NULL;
+	unsigned short *SigPatternData = nullptr;
 
 	unsigned short BinNumElements[APN_MAX_HBINNING] = 
 	{
@@ -429,9 +429,9 @@ void CApnCamData_CCD5710LS::set_hpattern_clamp_twelve()
 	const unsigned short RefNumElements = 0;
 	const unsigned short SigNumElements = 0;
 
-	unsigned short *RefPatternData = NULL;
+	unsigned short *RefPatternData = nullptr;
 
-	unsigned short *SigPatternData = NULL;
+	unsigned short *SigPatternData = nullptr;
 
 	unsigned short BinNumElements[APN_MAX_HBINNING] = 
 	{
@@ -464,9 +464,9 @@ void CApnCamData_CCD5710LS::set_hpattern_roi_twelve()
 	const unsigned short RefNumElements = 0;
 	const unsigned short SigNumElements = 0;
 
-	unsigned short *RefPatternData = NULL;
+	unsigned short *RefPatternData = nullptr;
 
-	unsigned short *SigPatternData = NULL;
+	unsigned short *SigPatternData = nullptr;
 
 	unsigned short BinNumElements[APN_MAX_HBINNING] = 
 	{
diff --git a/kstars/kstars/indi/apogee/ApnCamData_CCD7700HS.cpp b/kstars/kstars/indi/apogee/ApnCamData_CCD7700HS.cpp
index 38895531..fa7543be 100644
--- a/kstars/kstars/indi/apogee/ApnCamData_CCD7700HS.cpp
+++ b/kstars/kstars/indi/apogee/ApnCamData_CCD7700HS.cpp
@@ -398,9 +398,9 @@ void CApnCamData_CCD7700HS::set_hpattern_skip_twelve()
 	const unsigned short RefNumElements = 0;
 	const unsigned short SigNumElements = 0;
 
-	unsigned short *RefPatternData = NULL;
+	unsigned short *RefPatternData = nullptr;
 
-	unsigned short *SigPatternData = NULL;
+	unsigned short *SigPatternData = nullptr;
 
 	unsigned short BinNumElements[APN_MAX_HBINNING] = 
 	{
@@ -433,9 +433,9 @@ void CApnCamData_CCD7700HS::set_hpattern_clamp_twelve()
 	const unsigned short RefNumElements = 0;
 	const unsigned short SigNumElements = 0;
 
-	unsigned short *RefPatternData = NULL;
+	unsigned short *RefPatternData = nullptr;
 
-	unsigned short *SigPatternData = NULL;
+	unsigned short *SigPatternData = nullptr;
 
 	unsigned short BinNumElements[APN_MAX_HBINNING] = 
 	{
@@ -468,9 +468,9 @@ void CApnCamData_CCD7700HS::set_hpattern_roi_twelve()
 	const unsigned short RefNumElements = 0;
 	const unsigned short SigNumElements = 0;
 
-	unsigned short *RefPatternData = NULL;
+	unsigned short *RefPatternData = nullptr;
 
-	unsigned short *SigPatternData = NULL;
+	unsigned short *SigPatternData = nullptr;
 
 	unsigned short BinNumElements[APN_MAX_HBINNING] = 
 	{
diff --git a/kstars/kstars/indi/apogee/ApnCamData_CCD7700LS.cpp b/kstars/kstars/indi/apogee/ApnCamData_CCD7700LS.cpp
index 2566cbf9..ed0812d0 100644
--- a/kstars/kstars/indi/apogee/ApnCamData_CCD7700LS.cpp
+++ b/kstars/kstars/indi/apogee/ApnCamData_CCD7700LS.cpp
@@ -398,9 +398,9 @@ void CApnCamData_CCD7700LS::set_hpattern_skip_twelve()
 	const unsigned short RefNumElements = 0;
 	const unsigned short SigNumElements = 0;
 
-	unsigned short *RefPatternData = NULL;
+	unsigned short *RefPatternData = nullptr;
 
-	unsigned short *SigPatternData = NULL;
+	unsigned short *SigPatternData = nullptr;
 
 	unsigned short BinNumElements[APN_MAX_HBINNING] = 
 	{
@@ -433,9 +433,9 @@ void CApnCamData_CCD7700LS::set_hpattern_clamp_twelve()
 	const unsigned short RefNumElements = 0;
 	const unsigned short SigNumElements = 0;
 
-	unsigned short *RefPatternData = NULL;
+	unsigned short *RefPatternData = nullptr;
 
-	unsigned short *SigPatternData = NULL;
+	unsigned short *SigPatternData = nullptr;
 
 	unsigned short BinNumElements[APN_MAX_HBINNING] = 
 	{
@@ -468,9 +468,9 @@ void CApnCamData_CCD7700LS::set_hpattern_roi_twelve()
 	const unsigned short RefNumElements = 0;
 	const unsigned short SigNumElements = 0;
 
-	unsigned short *RefPatternData = NULL;
+	unsigned short *RefPatternData = nullptr;
 
-	unsigned short *SigPatternData = NULL;
+	unsigned short *SigPatternData = nullptr;
 
 	unsigned short BinNumElements[APN_MAX_HBINNING] = 
 	{
diff --git a/kstars/kstars/indi/apogee/ApnCamData_KAF0261E.cpp b/kstars/kstars/indi/apogee/ApnCamData_KAF0261E.cpp
index cfa35f8f..40d27bb3 100644
--- a/kstars/kstars/indi/apogee/ApnCamData_KAF0261E.cpp
+++ b/kstars/kstars/indi/apogee/ApnCamData_KAF0261E.cpp
@@ -396,9 +396,9 @@ void CApnCamData_KAF0261E::set_hpattern_skip_twelve()
 	const unsigned short RefNumElements = 0;
 	const unsigned short SigNumElements = 0;
 
-	unsigned short *RefPatternData = NULL;
+	unsigned short *RefPatternData = nullptr;
 
-	unsigned short *SigPatternData = NULL;
+	unsigned short *SigPatternData = nullptr;
 
 	unsigned short BinNumElements[APN_MAX_HBINNING] = 
 	{
@@ -430,9 +430,9 @@ void CApnCamData_KAF0261E::set_hpattern_clamp_twelve()
 	const unsigned short RefNumElements = 0;
 	const unsigned short SigNumElements = 0;
 
-	unsigned short *RefPatternData = NULL;
+	unsigned short *RefPatternData = nullptr;
 
-	unsigned short *SigPatternData = NULL;
+	unsigned short *SigPatternData = nullptr;
 
 	unsigned short BinNumElements[APN_MAX_HBINNING] = 
 	{
@@ -464,9 +464,9 @@ void CApnCamData_KAF0261E::set_hpattern_roi_twelve()
 	const unsigned short RefNumElements = 0;
 	const unsigned short SigNumElements = 0;
 
-	unsigned short *RefPatternData = NULL;
+	unsigned short *RefPatternData = nullptr;
 
-	unsigned short *SigPatternData = NULL;
+	unsigned short *SigPatternData = nullptr;
 
 	unsigned short BinNumElements[APN_MAX_HBINNING] = 
 	{
diff --git a/kstars/kstars/indi/apogee/ApnCamData_KAF0401E.cpp b/kstars/kstars/indi/apogee/ApnCamData_KAF0401E.cpp
index 365a433f..0a0adec0 100644
--- a/kstars/kstars/indi/apogee/ApnCamData_KAF0401E.cpp
+++ b/kstars/kstars/indi/apogee/ApnCamData_KAF0401E.cpp
@@ -396,9 +396,9 @@ void CApnCamData_KAF0401E::set_hpattern_skip_twelve()
 	const unsigned short RefNumElements = 0;
 	const unsigned short SigNumElements = 0;
 
-	unsigned short *RefPatternData = NULL;
+	unsigned short *RefPatternData = nullptr;
 
-	unsigned short *SigPatternData = NULL;
+	unsigned short *SigPatternData = nullptr;
 
 	unsigned short BinNumElements[APN_MAX_HBINNING] = 
 	{
@@ -430,9 +430,9 @@ void CApnCamData_KAF0401E::set_hpattern_clamp_twelve()
 	const unsigned short RefNumElements = 0;
 	const unsigned short SigNumElements = 0;
 
-	unsigned short *RefPatternData = NULL;
+	unsigned short *RefPatternData = nullptr;
 
-	unsigned short *SigPatternData = NULL;
+	unsigned short *SigPatternData = nullptr;
 
 	unsigned short BinNumElements[APN_MAX_HBINNING] = 
 	{
@@ -464,9 +464,9 @@ void CApnCamData_KAF0401E::set_hpattern_roi_twelve()
 	const unsigned short RefNumElements = 0;
 	const unsigned short SigNumElements = 0;
 
-	unsigned short *RefPatternData = NULL;
+	unsigned short *RefPatternData = nullptr;
 
-	unsigned short *SigPatternData = NULL;
+	unsigned short *SigPatternData = nullptr;
 
 	unsigned short BinNumElements[APN_MAX_HBINNING] = 
 	{
diff --git a/kstars/kstars/indi/apogee/ApnCamData_KAF1001E.cpp b/kstars/kstars/indi/apogee/ApnCamData_KAF1001E.cpp
index cce0b1cb..35ae98a9 100644
--- a/kstars/kstars/indi/apogee/ApnCamData_KAF1001E.cpp
+++ b/kstars/kstars/indi/apogee/ApnCamData_KAF1001E.cpp
@@ -396,9 +396,9 @@ void CApnCamData_KAF1001E::set_hpattern_skip_twelve()
 	const unsigned short RefNumElements = 0;
 	const unsigned short SigNumElements = 0;
 
-	unsigned short *RefPatternData = NULL;
+	unsigned short *RefPatternData = nullptr;
 
-	unsigned short *SigPatternData = NULL;
+	unsigned short *SigPatternData = nullptr;
 
 	unsigned short BinNumElements[APN_MAX_HBINNING] = 
 	{
@@ -430,9 +430,9 @@ void CApnCamData_KAF1001E::set_hpattern_clamp_twelve()
 	const unsigned short RefNumElements = 0;
 	const unsigned short SigNumElements = 0;
 
-	unsigned short *RefPatternData = NULL;
+	unsigned short *RefPatternData = nullptr;
 
-	unsigned short *SigPatternData = NULL;
+	unsigned short *SigPatternData = nullptr;
 
 	unsigned short BinNumElements[APN_MAX_HBINNING] = 
 	{
@@ -464,9 +464,9 @@ void CApnCamData_KAF1001E::set_hpattern_roi_twelve()
 	const unsigned short RefNumElements = 0;
 	const unsigned short SigNumElements = 0;
 
-	unsigned short *RefPatternData = NULL;
+	unsigned short *RefPatternData = nullptr;
 
-	unsigned short *SigPatternData = NULL;
+	unsigned short *SigPatternData = nullptr;
 
 	unsigned short BinNumElements[APN_MAX_HBINNING] = 
 	{
diff --git a/kstars/kstars/indi/apogee/ApnCamData_KAF1301E.cpp b/kstars/kstars/indi/apogee/ApnCamData_KAF1301E.cpp
index 49e7f9d8..26520894 100644
--- a/kstars/kstars/indi/apogee/ApnCamData_KAF1301E.cpp
+++ b/kstars/kstars/indi/apogee/ApnCamData_KAF1301E.cpp
@@ -396,9 +396,9 @@ void CApnCamData_KAF1301E::set_hpattern_skip_twelve()
 	const unsigned short RefNumElements = 0;
 	const unsigned short SigNumElements = 0;
 
-	unsigned short *RefPatternData = NULL;
+	unsigned short *RefPatternData = nullptr;
 
-	unsigned short *SigPatternData = NULL;
+	unsigned short *SigPatternData = nullptr;
 
 	unsigned short BinNumElements[APN_MAX_HBINNING] = 
 	{
@@ -430,9 +430,9 @@ void CApnCamData_KAF1301E::set_hpattern_clamp_twelve()
 	const unsigned short RefNumElements = 0;
 	const unsigned short SigNumElements = 0;
 
-	unsigned short *RefPatternData = NULL;
+	unsigned short *RefPatternData = nullptr;
 
-	unsigned short *SigPatternData = NULL;
+	unsigned short *SigPatternData = nullptr;
 
 	unsigned short BinNumElements[APN_MAX_HBINNING] = 
 	{
@@ -464,9 +464,9 @@ void CApnCamData_KAF1301E::set_hpattern_roi_twelve()
 	const unsigned short RefNumElements = 0;
 	const unsigned short SigNumElements = 0;
 
-	unsigned short *RefPatternData = NULL;
+	unsigned short *RefPatternData = nullptr;
 
-	unsigned short *SigPatternData = NULL;
+	unsigned short *SigPatternData = nullptr;
 
 	unsigned short BinNumElements[APN_MAX_HBINNING] = 
 	{
diff --git a/kstars/kstars/indi/apogee/ApnCamData_KAF1401E.cpp b/kstars/kstars/indi/apogee/ApnCamData_KAF1401E.cpp
index 62e09475..a942857e 100644
--- a/kstars/kstars/indi/apogee/ApnCamData_KAF1401E.cpp
+++ b/kstars/kstars/indi/apogee/ApnCamData_KAF1401E.cpp
@@ -396,9 +396,9 @@ void CApnCamData_KAF1401E::set_hpattern_skip_twelve()
 	const unsigned short RefNumElements = 0;
 	const unsigned short SigNumElements = 0;
 
-	unsigned short *RefPatternData = NULL;
+	unsigned short *RefPatternData = nullptr;
 
-	unsigned short *SigPatternData = NULL;
+	unsigned short *SigPatternData = nullptr;
 
 	unsigned short BinNumElements[APN_MAX_HBINNING] = 
 	{
@@ -430,9 +430,9 @@ void CApnCamData_KAF1401E::set_hpattern_clamp_twelve()
 	const unsigned short RefNumElements = 0;
 	const unsigned short SigNumElements = 0;
 
-	unsigned short *RefPatternData = NULL;
+	unsigned short *RefPatternData = nullptr;
 
-	unsigned short *SigPatternData = NULL;
+	unsigned short *SigPatternData = nullptr;
 
 	unsigned short BinNumElements[APN_MAX_HBINNING] = 
 	{
@@ -464,9 +464,9 @@ void CApnCamData_KAF1401E::set_hpattern_roi_twelve()
 	const unsigned short RefNumElements = 0;
 	const unsigned short SigNumElements = 0;
 
-	unsigned short *RefPatternData = NULL;
+	unsigned short *RefPatternData = nullptr;
 
-	unsigned short *SigPatternData = NULL;
+	unsigned short *SigPatternData = nullptr;
 
 	unsigned short BinNumElements[APN_MAX_HBINNING] = 
 	{
diff --git a/kstars/kstars/indi/apogee/ApnCamData_KAF1602E.cpp b/kstars/kstars/indi/apogee/ApnCamData_KAF1602E.cpp
index ca8c7d9a..91852963 100644
--- a/kstars/kstars/indi/apogee/ApnCamData_KAF1602E.cpp
+++ b/kstars/kstars/indi/apogee/ApnCamData_KAF1602E.cpp
@@ -396,9 +396,9 @@ void CApnCamData_KAF1602E::set_hpattern_skip_twelve()
 	const unsigned short RefNumElements = 0;
 	const unsigned short SigNumElements = 0;
 
-	unsigned short *RefPatternData = NULL;
+	unsigned short *RefPatternData = nullptr;
 
-	unsigned short *SigPatternData = NULL;
+	unsigned short *SigPatternData = nullptr;
 
 	unsigned short BinNumElements[APN_MAX_HBINNING] = 
 	{
@@ -430,9 +430,9 @@ void CApnCamData_KAF1602E::set_hpattern_clamp_twelve()
 	const unsigned short RefNumElements = 0;
 	const unsigned short SigNumElements = 0;
 
-	unsigned short *RefPatternData = NULL;
+	unsigned short *RefPatternData = nullptr;
 
-	unsigned short *SigPatternData = NULL;
+	unsigned short *SigPatternData = nullptr;
 
 	unsigned short BinNumElements[APN_MAX_HBINNING] = 
 	{
@@ -464,9 +464,9 @@ void CApnCamData_KAF1602E::set_hpattern_roi_twelve()
 	const unsigned short RefNumElements = 0;
 	const unsigned short SigNumElements = 0;
 
-	unsigned short *RefPatternData = NULL;
+	unsigned short *RefPatternData = nullptr;
 
-	unsigned short *SigPatternData = NULL;
+	unsigned short *SigPatternData = nullptr;
 
 	unsigned short BinNumElements[APN_MAX_HBINNING] = 
 	{
diff --git a/kstars/kstars/indi/apogee/ApnCamData_KAF16801E.cpp b/kstars/kstars/indi/apogee/ApnCamData_KAF16801E.cpp
index fbc7c02a..97aeef6c 100644
--- a/kstars/kstars/indi/apogee/ApnCamData_KAF16801E.cpp
+++ b/kstars/kstars/indi/apogee/ApnCamData_KAF16801E.cpp
@@ -400,9 +400,9 @@ void CApnCamData_KAF16801E::set_hpattern_skip_twelve()
 	const unsigned short RefNumElements = 0;
 	const unsigned short SigNumElements = 0;
 
-	unsigned short *RefPatternData = NULL;
+	unsigned short *RefPatternData = nullptr;
 
-	unsigned short *SigPatternData = NULL;
+	unsigned short *SigPatternData = nullptr;
 
 	unsigned short BinNumElements[APN_MAX_HBINNING] = 
 	{
@@ -434,9 +434,9 @@ void CApnCamData_KAF16801E::set_hpattern_clamp_twelve()
 	const unsigned short RefNumElements = 0;
 	const unsigned short SigNumElements = 0;
 
-	unsigned short *RefPatternData = NULL;
+	unsigned short *RefPatternData = nullptr;
 
-	unsigned short *SigPatternData = NULL;
+	unsigned short *SigPatternData = nullptr;
 
 	unsigned short BinNumElements[APN_MAX_HBINNING] = 
 	{
@@ -468,9 +468,9 @@ void CApnCamData_KAF16801E::set_hpattern_roi_twelve()
 	const unsigned short RefNumElements = 0;
 	const unsigned short SigNumElements = 0;
 
-	unsigned short *RefPatternData = NULL;
+	unsigned short *RefPatternData = nullptr;
 
-	unsigned short *SigPatternData = NULL;
+	unsigned short *SigPatternData = nullptr;
 
 	unsigned short BinNumElements[APN_MAX_HBINNING] = 
 	{
diff --git a/kstars/kstars/indi/apogee/ApnCamData_KAF3200E.cpp b/kstars/kstars/indi/apogee/ApnCamData_KAF3200E.cpp
index 6071ec6c..e6cd209f 100644
--- a/kstars/kstars/indi/apogee/ApnCamData_KAF3200E.cpp
+++ b/kstars/kstars/indi/apogee/ApnCamData_KAF3200E.cpp
@@ -392,9 +392,9 @@ void CApnCamData_KAF3200E::set_hpattern_skip_twelve()
 	const unsigned short RefNumElements = 0;
 	const unsigned short SigNumElements = 0;
 
-	unsigned short *RefPatternData = NULL;
+	unsigned short *RefPatternData = nullptr;
 
-	unsigned short *SigPatternData = NULL;
+	unsigned short *SigPatternData = nullptr;
 
 	unsigned short BinNumElements[APN_MAX_HBINNING] = 
 	{
@@ -426,9 +426,9 @@ void CApnCamData_KAF3200E::set_hpattern_clamp_twelve()
 	const unsigned short RefNumElements = 0;
 	const unsigned short SigNumElements = 0;
 
-	unsigned short *RefPatternData = NULL;
+	unsigned short *RefPatternData = nullptr;
 
-	unsigned short *SigPatternData = NULL;
+	unsigned short *SigPatternData = nullptr;
 
 	unsigned short BinNumElements[APN_MAX_HBINNING] = 
 	{
@@ -460,9 +460,9 @@ void CApnCamData_KAF3200E::set_hpattern_roi_twelve()
 	const unsigned short RefNumElements = 0;
 	const unsigned short SigNumElements = 0;
 
-	unsigned short *RefPatternData = NULL;
+	unsigned short *RefPatternData = nullptr;
 
-	unsigned short *SigPatternData = NULL;
+	unsigned short *SigPatternData = nullptr;
 
 	unsigned short BinNumElements[APN_MAX_HBINNING] = 
 	{
diff --git a/kstars/kstars/indi/apogee/ApnCamData_KAF4202.cpp b/kstars/kstars/indi/apogee/ApnCamData_KAF4202.cpp
index 7beca12a..fe20f682 100644
--- a/kstars/kstars/indi/apogee/ApnCamData_KAF4202.cpp
+++ b/kstars/kstars/indi/apogee/ApnCamData_KAF4202.cpp
@@ -396,9 +396,9 @@ void CApnCamData_KAF4202::set_hpattern_skip_twelve()
 	const unsigned short RefNumElements = 0;
 	const unsigned short SigNumElements = 0;
 
-	unsigned short *RefPatternData = NULL;
+	unsigned short *RefPatternData = nullptr;
 
-	unsigned short *SigPatternData = NULL;
+	unsigned short *SigPatternData = nullptr;
 
 	unsigned short BinNumElements[APN_MAX_HBINNING] = 
 	{
@@ -430,9 +430,9 @@ void CApnCamData_KAF4202::set_hpattern_clamp_twelve()
 	const unsigned short RefNumElements = 0;
 	const unsigned short SigNumElements = 0;
 
-	unsigned short *RefPatternData = NULL;
+	unsigned short *RefPatternData = nullptr;
 
-	unsigned short *SigPatternData = NULL;
+	unsigned short *SigPatternData = nullptr;
 
 	unsigned short BinNumElements[APN_MAX_HBINNING] = 
 	{
@@ -464,9 +464,9 @@ void CApnCamData_KAF4202::set_hpattern_roi_twelve()
 	const unsigned short RefNumElements = 0;
 	const unsigned short SigNumElements = 0;
 
-	unsigned short *RefPatternData = NULL;
+	unsigned short *RefPatternData = nullptr;
 
-	unsigned short *SigPatternData = NULL;
+	unsigned short *SigPatternData = nullptr;
 
 	unsigned short BinNumElements[APN_MAX_HBINNING] = 
 	{
diff --git a/kstars/kstars/indi/apogee/ApnCamData_KAF6303E.cpp b/kstars/kstars/indi/apogee/ApnCamData_KAF6303E.cpp
index f05a78b9..9344786f 100644
--- a/kstars/kstars/indi/apogee/ApnCamData_KAF6303E.cpp
+++ b/kstars/kstars/indi/apogee/ApnCamData_KAF6303E.cpp
@@ -396,9 +396,9 @@ void CApnCamData_KAF6303E::set_hpattern_skip_twelve()
 	const unsigned short RefNumElements = 0;
 	const unsigned short SigNumElements = 0;
 
-	unsigned short *RefPatternData = NULL;
+	unsigned short *RefPatternData = nullptr;
 
-	unsigned short *SigPatternData = NULL;
+	unsigned short *SigPatternData = nullptr;
 
 	unsigned short BinNumElements[APN_MAX_HBINNING] = 
 	{
@@ -430,9 +430,9 @@ void CApnCamData_KAF6303E::set_hpattern_clamp_twelve()
 	const unsigned short RefNumElements = 0;
 	const unsigned short SigNumElements = 0;
 
-	unsigned short *RefPatternData = NULL;
+	unsigned short *RefPatternData = nullptr;
 
-	unsigned short *SigPatternData = NULL;
+	unsigned short *SigPatternData = nullptr;
 
 	unsigned short BinNumElements[APN_MAX_HBINNING] = 
 	{
@@ -464,9 +464,9 @@ void CApnCamData_KAF6303E::set_hpattern_roi_twelve()
 	const unsigned short RefNumElements = 0;
 	const unsigned short SigNumElements = 0;
 
-	unsigned short *RefPatternData = NULL;
+	unsigned short *RefPatternData = nullptr;
 
-	unsigned short *SigPatternData = NULL;
+	unsigned short *SigPatternData = nullptr;
 
 	unsigned short BinNumElements[APN_MAX_HBINNING] = 
 	{
diff --git a/kstars/kstars/indi/apogee/ApnCamData_TH7899.cpp b/kstars/kstars/indi/apogee/ApnCamData_TH7899.cpp
index 80cf1151..7a68549e 100644
--- a/kstars/kstars/indi/apogee/ApnCamData_TH7899.cpp
+++ b/kstars/kstars/indi/apogee/ApnCamData_TH7899.cpp
@@ -390,9 +390,9 @@ void CApnCamData_TH7899::set_hpattern_skip_twelve()
 	const unsigned short RefNumElements = 0;
 	const unsigned short SigNumElements = 0;
 
-	unsigned short *RefPatternData = NULL;
+	unsigned short *RefPatternData = nullptr;
 
-	unsigned short *SigPatternData = NULL;
+	unsigned short *SigPatternData = nullptr;
 
 	unsigned short BinNumElements[APN_MAX_HBINNING] = 
 	{
@@ -424,9 +424,9 @@ void CApnCamData_TH7899::set_hpattern_clamp_twelve()
 	const unsigned short RefNumElements = 0;
 	const unsigned short SigNumElements = 0;
 
-	unsigned short *RefPatternData = NULL;
+	unsigned short *RefPatternData = nullptr;
 
-	unsigned short *SigPatternData = NULL;
+	unsigned short *SigPatternData = nullptr;
 
 	unsigned short BinNumElements[APN_MAX_HBINNING] = 
 	{
@@ -458,9 +458,9 @@ void CApnCamData_TH7899::set_hpattern_roi_twelve()
 	const unsigned short RefNumElements = 0;
 	const unsigned short SigNumElements = 0;
 
-	unsigned short *RefPatternData = NULL;
+	unsigned short *RefPatternData = nullptr;
 
-	unsigned short *SigPatternData = NULL;
+	unsigned short *SigPatternData = nullptr;
 
 	unsigned short BinNumElements[APN_MAX_HBINNING] = 
 	{
diff --git a/kstars/kstars/indi/apogee/ApnCamera.cpp b/kstars/kstars/indi/apogee/ApnCamera.cpp
index 0cba7f39..b3754621 100644
--- a/kstars/kstars/indi/apogee/ApnCamera.cpp
+++ b/kstars/kstars/indi/apogee/ApnCamera.cpp
@@ -15,15 +15,15 @@
 
 CApnCamera::CApnCamera()
 {
-	m_ApnSensorInfo = NULL;
+	m_ApnSensorInfo = nullptr;
 }
 
 CApnCamera::~CApnCamera()
 {
-	if ( m_ApnSensorInfo != NULL )
+	if (m_ApnSensorInfo)
 	{
 		delete m_ApnSensorInfo;
-		m_ApnSensorInfo = NULL;
+		m_ApnSensorInfo = nullptr;
 	}
 	CloseDriver();
 }
diff --git a/kstars/kstars/indi/apogee/ApnCamera_Linux.cpp b/kstars/kstars/indi/apogee/ApnCamera_Linux.cpp
index cce9ba37..1f291c61 100644
--- a/kstars/kstars/indi/apogee/ApnCamera_Linux.cpp
+++ b/kstars/kstars/indi/apogee/ApnCamera_Linux.cpp
@@ -99,7 +99,7 @@ bool CApnCamera::BufferImage(char *bufferName )
     vbin = 1;
 
     pImageData = (unsigned short *)CCD_locate_buffer(bufferName, 2 , cols, rows, hbin, vbin );
-    if (pImageData == NULL) {
+    if (!pImageData) {
        return 0;
     }
     
diff --git a/kstars/kstars/indi/apogee/ApogeeUsbLinux.cpp b/kstars/kstars/indi/apogee/ApogeeUsbLinux.cpp
index fcedd1d9..389904b0 100644
--- a/kstars/kstars/indi/apogee/ApogeeUsbLinux.cpp
+++ b/kstars/kstars/indi/apogee/ApogeeUsbLinux.cpp
@@ -63,7 +63,7 @@ APN_USB_TYPE ApnUsbOpen( unsigned short /*DevNumber*/ )
         /*char deviceName[128];*/
 	struct usb_bus *bus;
 	struct usb_device *dev;
-	struct usb_dev_handle *hDevice(NULL);
+	struct usb_dev_handle *hDevice(nullptr);
 
 	usb_init();
 
diff --git a/kstars/kstars/indi/apogee/CameraIO_Linux.cpp b/kstars/kstars/indi/apogee/CameraIO_Linux.cpp
index e508789d..2745d073 100644
--- a/kstars/kstars/indi/apogee/CameraIO_Linux.cpp
+++ b/kstars/kstars/indi/apogee/CameraIO_Linux.cpp
@@ -568,7 +568,7 @@ bool CCameraIO::GetImage( unsigned short* pImageData, short& xSize, short& ySize
 	bool ret = false;	// assume failure
 
 	// NB Application must have allocated enough memory or else !!!
-	if ( pImageData != NULL )
+	if ( pImageData )
 	{
 	        HANDLE hProcess(0);
 		DWORD Class(0);
@@ -703,7 +703,7 @@ bool CCameraIO::GetLine( unsigned short* pLineData, short& xSize )
 //        MaskIrqs();
 
 	// NB Application must have allocated enough memory or else !!!
-	if ( pLineData != NULL )
+	if ( pLineData )
 	{
 	        HANDLE hProcess(0);
 		DWORD Class(0);
diff --git a/kstars/kstars/indi/apogee/CameraIO_LinuxISA.cpp b/kstars/kstars/indi/apogee/CameraIO_LinuxISA.cpp
index 41fd4fe5..facb9dcb 100644
--- a/kstars/kstars/indi/apogee/CameraIO_LinuxISA.cpp
+++ b/kstars/kstars/indi/apogee/CameraIO_LinuxISA.cpp
@@ -232,7 +232,7 @@ long CCameraIO::ReadImage( unsigned short* pImageBuffer )
         long SkipC = long( m_ExposureSkipC );
         for (long i = 0; i < m_ExposureSkipR; i++)
         {
-                if( InternalReadLine( false, SkipC, XEnd, NULL ) ) return 1;
+                if( InternalReadLine( false, SkipC, XEnd, nullptr ) ) return 1;
         }
 
         long YEnd = long( m_ExposureNumY );
diff --git a/kstars/kstars/indi/apogee/CameraIO_LinuxPCI.cpp b/kstars/kstars/indi/apogee/CameraIO_LinuxPCI.cpp
index 80d66fdc..e77d9767 100644
--- a/kstars/kstars/indi/apogee/CameraIO_LinuxPCI.cpp
+++ b/kstars/kstars/indi/apogee/CameraIO_LinuxPCI.cpp
@@ -286,7 +286,7 @@ long CCameraIO::ReadImage( unsigned short* pImageBuffer )
         long SkipC = long( m_ExposureSkipC );
         for (long i = 0; i < m_ExposureSkipR; i++)
         {
-                if( InternalReadLine( false, SkipC, XEnd, NULL ) ) return 1;
+                if( InternalReadLine( false, SkipC, XEnd, nullptr ) ) return 1;
         }
 
         long YEnd = long( m_ExposureNumY );
diff --git a/kstars/kstars/indi/apogee/CameraIO_LinuxPPI.cpp b/kstars/kstars/indi/apogee/CameraIO_LinuxPPI.cpp
index b9613498..08a7f2d6 100644
--- a/kstars/kstars/indi/apogee/CameraIO_LinuxPPI.cpp
+++ b/kstars/kstars/indi/apogee/CameraIO_LinuxPPI.cpp
@@ -236,7 +236,7 @@ long CCameraIO::ReadImage( unsigned short* pImageBuffer )
         long SkipC = long( m_ExposureSkipC );
         for (long i = 0; i < m_ExposureSkipR; i++)
         {
-                if( InternalReadLine( false, SkipC, XEnd, NULL ) ) return 1;
+                if( InternalReadLine( false, SkipC, XEnd, nullptr ) ) return 1;
         }
 
         long YEnd = long( m_ExposureNumY );
diff --git a/kstars/kstars/indi/apogee/CameraIO_PCI.cpp b/kstars/kstars/indi/apogee/CameraIO_PCI.cpp
index 65ab972d..ea989a80 100644
--- a/kstars/kstars/indi/apogee/CameraIO_PCI.cpp
+++ b/kstars/kstars/indi/apogee/CameraIO_PCI.cpp
@@ -18,7 +18,7 @@
 CCameraIO_PCI::CCameraIO_PCI()
 {
 	m_IsWDM		= false;
-	m_hDriver	= NULL;
+	m_hDriver	= nullptr;
 }
 
 CCameraIO_PCI::~CCameraIO_PCI()
@@ -87,7 +87,7 @@ long CCameraIO_PCI::Read(unsigned short reg, unsigned short& val)
 			&ReadBuffer,				// Buffer from driver.
 			sizeof(ReadBuffer),			// Length of buffer in bytes.
 			&ReturnedLength,			// Bytes placed in DataBuffer.
-			NULL						// NULL means wait till op. completes.
+			nullptr						// NULL means wait till op. completes.
 			);
 	}
 	else
@@ -100,7 +100,7 @@ long CCameraIO_PCI::Read(unsigned short reg, unsigned short& val)
 			&ReadBuffer,				// Buffer from driver.
 			sizeof(ReadBuffer),			// Length of buffer in bytes.
 			&ReturnedLength,			// Bytes placed in DataBuffer.
-			NULL						// NULL means wait till op. completes.
+			nullptr						// NULL means wait till op. completes.
 			);
 	}
 
@@ -163,10 +163,10 @@ long CCameraIO_PCI::Write(unsigned short reg, unsigned short val)
 			IOCTL_WDM_WRITE_PCI_USHORT,	// IO Control code for Write
 			&InBuffer,					// Buffer to driver.  Holds register/data.
 			sizeof ( InBuffer ),		// Length of buffer in bytes.
-			NULL,						// Buffer from driver.   Not used.
+			nullptr,						// Buffer from driver.   Not used.
 			0,							// Length of buffer in bytes.
 			&ReturnedLength,			// Bytes placed in outbuf.  Should be 0.
-			NULL						// NULL means wait till I/O completes.
+			nullptr						// NULL means wait till I/O completes.
 			);
 	}
 	else
@@ -176,10 +176,10 @@ long CCameraIO_PCI::Write(unsigned short reg, unsigned short val)
 			IOCTL_GPD_WRITE_PCI_USHORT,	// IO Control code for Write
 			&InBuffer,					// Buffer to driver.  Holds register/data.
 			sizeof ( InBuffer ),		// Length of buffer in bytes.
-			NULL,						// Buffer from driver.   Not used.
+			nullptr,						// Buffer from driver.   Not used.
 			0,							// Length of buffer in bytes.
 			&ReturnedLength,			// Bytes placed in outbuf.  Should be 0.
-			NULL						// NULL means wait till I/O completes.
+			nullptr						// NULL means wait till I/O completes.
 			);
 	}
 
@@ -229,7 +229,7 @@ long CCameraIO_PCI::ReadLine( long SkipPixels, long Pixels, unsigned short* pLin
 			DataBuffer,					// Buffer from driver.
 			NumBytes,					// Length of buffer in bytes.
 			&ReturnedLength,			// Bytes placed in DataBuffer.
-			NULL						// NULL means wait till op. completes.
+			nullptr						// NULL means wait till op. completes.
 			);
 	}
 	else
@@ -242,7 +242,7 @@ long CCameraIO_PCI::ReadLine( long SkipPixels, long Pixels, unsigned short* pLin
 			DataBuffer,					// Buffer from driver.
 			NumBytes,					// Length of buffer in bytes.
 			&ReturnedLength,			// Bytes placed in DataBuffer.
-			NULL						// NULL means wait till op. completes.
+			nullptr						// NULL means wait till op. completes.
 			);
 	}
 
@@ -337,26 +337,26 @@ bool CCameraIO_PCI::InitDriver()
 			"\\\\.\\ApogeeIO",
 			GENERIC_WRITE | GENERIC_READ,
 			FILE_SHARE_WRITE | FILE_SHARE_READ,
-			NULL,
+			nullptr,
 			OPEN_EXISTING,
 			0,
-			NULL);
+			nullptr);
 
 		if ( m_hDriver == INVALID_HANDLE_VALUE )
 		{
-			m_hDriver = NULL;
+			m_hDriver = nullptr;
 			return false;
 		}
 		
 		BOOLEAN IoctlResult = DeviceIoControl(
 			m_hDriver,				// Handle to device
 			IOCTL_PCI_BUS_SCAN,		// IO Control code for PCI Bus Scan
-			NULL,					// Buffer to driver.
+			nullptr,					// Buffer to driver.
 			0,						// Length of buffer in bytes.
 			DataBuffer,				// Buffer from driver.
 			sizeof( DataBuffer ),	// Length of buffer in bytes.
 			&ReturnedLength,		// Bytes placed in DataBuffer.
-			NULL					// NULL means wait till op. completes.
+			nullptr					// NULL means wait till op. completes.
 			);
 
 		if ( (!IoctlResult) || (ReturnedLength != sizeof(DataBuffer)) )
@@ -374,15 +374,15 @@ bool CCameraIO_PCI::InitDriver()
 			"\\\\.\\ApPCI",
 			GENERIC_WRITE | GENERIC_READ,
 			FILE_SHARE_WRITE | FILE_SHARE_READ,
-			NULL,
+			nullptr,
 			OPEN_EXISTING,
 			0,
-			NULL
+			nullptr
 			);
 
 		if ( m_hDriver == INVALID_HANDLE_VALUE )
 		{
-			m_hDriver = NULL;
+			m_hDriver = nullptr;
 			return false;
 		}
 
@@ -396,10 +396,10 @@ bool CCameraIO_PCI::InitDriver()
 void CCameraIO_PCI::CloseDriver()
 {    
 	// Close the driver if it already exists
-	if ( m_hDriver != NULL ) 
+	if (m_hDriver) 
 	{
 		CloseHandle ( m_hDriver );
 	}
 
-	m_hDriver = NULL;
+	m_hDriver = nullptr;
 }
diff --git a/kstars/kstars/indi/apogee/Camera_Example.cpp b/kstars/kstars/indi/apogee/Camera_Example.cpp
index f1f64121..03b96280 100644
--- a/kstars/kstars/indi/apogee/Camera_Example.cpp
+++ b/kstars/kstars/indi/apogee/Camera_Example.cpp
@@ -139,8 +139,8 @@ bool CfgGet ( FILE* inifp,
     // find the target section
 
     gotsect = 0;
-    while (fgets(tbuf,256,inifp) != NULL) {
-        if ((ss = strchr(tbuf,'[')) != NULL) {
+    while (fgets(tbuf,256,inifp)) {
+        if ((ss = strchr(tbuf,'[')) != nullptr) {
             if (strnicmp(ss+1,inisect,strlen(inisect)) == 0) {
                 gotsect = 1;
                 break;
@@ -152,9 +152,9 @@ bool CfgGet ( FILE* inifp,
         return false;
         }
 
-    while (fgets(tbuf,256,inifp) != NULL) {     // find parameter in sect
+    while (fgets(tbuf,256,inifp)) {     // find parameter in sect
 
-        if ((ptr = strrchr(tbuf,'\n')) != NULL) // remove newline if there
+        if ((ptr = strrchr(tbuf,'\n')) != nullptr) // remove newline if there
             *ptr = '\0';
 
         ps = tbuf+strspn(tbuf," \t");           // find the first non-blank
@@ -177,7 +177,7 @@ bool CfgGet ( FILE* inifp,
 
         if (strnicmp(ps,iniparm,strlen(iniparm)) == 0) {
 
-            if ((ptr = strchr(vs,';')) != NULL) // cut off an EOL comment
+            if ((ptr = strchr(vs,';')) != nullptr) // cut off an EOL comment
                 *ptr = '\0';
 
             if (short(strlen(vs)) > bufflen - 1) {// not enough buffer space
@@ -211,9 +211,9 @@ long config_load( char* cfgname, short BaseAddress, short RegOffset )
     if ((strlen(cfgname) == 0) || (cfgname[0] == '\0')) return CCD_OPEN_CFGNAME;
 
     // attempt to open INI file
-    FILE* inifp = NULL;
+    FILE* inifp = nullptr;
 
-	if ((inifp = fopen(cfgname,"r")) == NULL) return CCD_OPEN_CFGDATA;
+	if (!(inifp = fopen(cfgname,"r"))) return CCD_OPEN_CFGDATA;
 
 	// Check whether we are on an NT platform
 	OSVERSIONINFO VersionInfo;
@@ -245,7 +245,7 @@ long config_load( char* cfgname, short BaseAddress, short RegOffset )
 			cam = new CCameraIO_PCI;
 		}
 
-		if ( cam == NULL )
+		if ( !cam )
 		{
 			fclose( inifp );
 			return CCD_OPEN_ALLOC;
@@ -274,7 +274,7 @@ long config_load( char* cfgname, short BaseAddress, short RegOffset )
 			{
 				fclose( inifp );
 				delete cam;
-				cam = NULL;
+				cam = nullptr;
 				return CCD_OPEN_CFGDATA;           // base address MUST be defined
 			}
 		}
@@ -306,7 +306,7 @@ long config_load( char* cfgname, short BaseAddress, short RegOffset )
 		{
 			fclose( inifp );
 			delete cam;
-			cam = NULL;
+			cam = nullptr;
 			return CCD_OPEN_CFGDATA;           // rows MUST be defined
 		}
 
@@ -319,7 +319,7 @@ long config_load( char* cfgname, short BaseAddress, short RegOffset )
 		{
 			fclose( inifp );
 			delete cam;
-			cam = NULL;
+			cam = nullptr;
 			return CCD_OPEN_CFGDATA;           // columns MUST be defined
 		}
 
@@ -336,7 +336,7 @@ long config_load( char* cfgname, short BaseAddress, short RegOffset )
 		if ( !cam->InitDriver() )
 		{
 			delete cam;
-			cam = NULL;
+			cam = nullptr;
 			fclose( inifp );
 			if ( IsNT )
 				return CCD_OPEN_NTIO;
@@ -361,7 +361,7 @@ long config_load( char* cfgname, short BaseAddress, short RegOffset )
 		if ( !cam->read_Present() )
 		{
 			delete cam;
-			cam = NULL;
+			cam = nullptr;
 			fclose( inifp );
 
 			return CCD_OPEN_LOOPTST;
diff --git a/kstars/kstars/indi/apogee/reb1100.cpp b/kstars/kstars/indi/apogee/reb1100.cpp
index cacf16eb..d450e476 100644
--- a/kstars/kstars/indi/apogee/reb1100.cpp
+++ b/kstars/kstars/indi/apogee/reb1100.cpp
@@ -94,7 +94,7 @@ void REB1100::getFile(string filename, string &data) {
 	ret = usb_control_msg(hDevice, 0x42, 0x01, 0x00, 0x00, temp, request.length(), 300);
 	if (ret == -1) throw DevControlError();
 	delete temp;
-	temp = NULL;
+	temp = nullptr;
 	
 	// read the return code
 	ret = usb_control_msg(hDevice, 0xc2, 0x02, 0x00, 0x00, zeros, 4, 300);
@@ -156,7 +156,7 @@ void REB1100::sendFile(string filename, string &data) {
 	request.copy(temp, string::npos);
 	ret = usb_control_msg(hDevice, 0x42, 0x00, 0x00, 0x00, temp, request.length(), 3000);
 	delete temp;
-	temp = NULL;
+	temp = nullptr;
 	if (ret == -1) throw DevControlError();
 	
 	// read from device and check for error
@@ -179,7 +179,7 @@ void REB1100::sendFile(string filename, string &data) {
 			ret = usb_bulk_write(hDevice, 2, temp3, n, 3000);
 			if (ret == -1) throw DevWriteError();
 			delete temp3;
-			temp3 = NULL;
+			temp3 = nullptr;
 			offset += 4096;
 		}
 	}
diff --git a/kstars/kstars/indi/apogee_ppi.cpp b/kstars/kstars/indi/apogee_ppi.cpp
index adcc34c9..e4f0170d 100644
--- a/kstars/kstars/indi/apogee_ppi.cpp
+++ b/kstars/kstars/indi/apogee_ppi.cpp
@@ -35,15 +35,15 @@
 static void ISPoll(void *);
 
 extern char* me;			/* argv[0] */
-ApogeeCam *MainCam = NULL;		/* Main and only camera */
+ApogeeCam *MainCam = nullptr;		/* Main and only camera */
 
 /* send client definitions of all properties */
 void ISInit()
 {
-  if (MainCam == NULL)
+  if (!MainCam)
   {
     MainCam = new ApogeeCam();
-    IEAddTimer (POLLMS, ISPoll, NULL);
+    IEAddTimer (POLLMS, ISPoll, nullptr);
   }
 }
     
@@ -102,13 +102,13 @@ void ISNewBLOB (const char */*dev*/, const char */*name*/, int */*sizes[]*/, cha
 void ISPoll(void *)
 {
  MainCam->ISPoll(); 
- IEAddTimer (POLLMS, ISPoll, NULL);
+ IEAddTimer (POLLMS, ISPoll, nullptr);
 }
 
 
 ApogeeCam::ApogeeCam()
 {
-  ApogeeModelS = NULL;
+  ApogeeModelS = nullptr;
   
   initProperties();
   
@@ -176,16 +176,16 @@ void ApogeeCam::initProperties()
 bool ApogeeCam::loadXMLModel()
 {
   LilXML *XMLParser = newLilXML();
-  XMLEle *root = NULL, *camera = NULL;
+  XMLEle *root = nullptr, *camera = nullptr;
   XMLAtt *modelName;
-  FILE *modelSpecFile = NULL;
+  FILE *modelSpecFile = nullptr;
   char errmsg[1024];
   int ncams = 0;
   
   //IDLog("Top dir is "TOP_DATADIR, NULL);
   modelSpecFile = fopen(TOP_DATADIR"/apogee_caminfo.xml", "r");
   //modelSpecFile = fopen("/opt/trinity/share/apps/kstars/apogee_caminfo.xml", "r");
-  if (modelSpecFile == NULL) 
+  if (!modelSpecFile) 
   {
     IDLog("Error: Unable to open file apogee_caminfo.xml\n");
     IDMessage(mydev, "Error: Unable to open file apogee_caminfo.xml");
@@ -193,7 +193,7 @@ bool ApogeeCam::loadXMLModel()
   }
   
   root = readXMLFile(modelSpecFile, XMLParser, errmsg);
-  if (root == NULL)
+  if (!root)
   {
     IDLog("Error: Unable to process apogee_caminfo.xml. %s\n", errmsg);
     IDMessage(mydev, "Error: Unable to process apogee_caminfo.xml. %s\n", errmsg);
@@ -202,20 +202,20 @@ bool ApogeeCam::loadXMLModel()
     return false;
   }
     
-  for (camera = nextXMLEle (root, 1); camera != NULL; camera = nextXMLEle (root, 0))
+  for (camera = nextXMLEle (root, 1); camera ; camera = nextXMLEle (root, 0))
   {
     modelName = findXMLAtt(camera, "model");
-    if (modelName == NULL) 
+    if (!modelName) 
       continue;
     
-    ApogeeModelS = (ApogeeModelS == NULL) ? (ISwitch *) malloc (sizeof(ISwitch))
+    ApogeeModelS = (ApogeeModelS == nullptr) ? (ISwitch *) malloc (sizeof(ISwitch))
                                           : (ISwitch *) realloc(ApogeeModelS, sizeof(ISwitch) * (ncams + 1));
     
     snprintf(ApogeeModelS[ncams].name, MAXINDINAME, "Model%d", ncams);
     strcpy(ApogeeModelS[ncams].label, valuXMLAtt(modelName));
     ApogeeModelS[ncams].s = (ncams == 0) ? ISS_ON : ISS_OFF;
-    ApogeeModelS[ncams].svp = NULL;
-    ApogeeModelS[ncams].aux = NULL;
+    ApogeeModelS[ncams].svp = nullptr;
+    ApogeeModelS[ncams].aux = nullptr;
     
     ncams++;
   }
@@ -238,21 +238,21 @@ void ApogeeCam::ISGetProperties(const char */*dev*/)
   
 
   /* COMM_GROUP */
-  IDDefSwitch(&PowerSP, NULL);
+  IDDefSwitch(&PowerSP, nullptr);
   if (loadXMLModel())
-    IDDefSwitch(&ApogeeModelSP, NULL);
+    IDDefSwitch(&ApogeeModelSP, nullptr);
   else
     IDMessage(mydev, "Error: Unable to read camera specifications. Driver is disabled.");
-  IDDefBLOB(&imageBP, NULL);
+  IDDefBLOB(&imageBP, nullptr);
 
   /* Expose */
-  IDDefSwitch(&FrameTypeSP, NULL);  
-  IDDefNumber(&ExposeTimeNP, NULL);
-  IDDefNumber(&TemperatureNP, NULL);
+  IDDefSwitch(&FrameTypeSP, nullptr);  
+  IDDefNumber(&ExposeTimeNP, nullptr);
+  IDDefNumber(&TemperatureNP, nullptr);
   
   /* Image Group */
-  IDDefNumber(&FrameNP, NULL);
-  IDDefNumber(&BinningNP, NULL);
+  IDDefNumber(&FrameNP, nullptr);
+  IDDefNumber(&BinningNP, nullptr);
 
   IDLog("Apogee Driver Debug Enabled\n");
   
@@ -279,7 +279,7 @@ void ApogeeCam::ISNewSwitch (const char */*dev*/, const char *name, ISState *sta
 		IUResetSwitches(&FrameTypeSP);
 		IUUpdateSwitches(&FrameTypeSP, states, names, n);
 		FrameTypeSP.s = IPS_OK;
-		IDSetSwitch(&FrameTypeSP, NULL);
+		IDSetSwitch(&FrameTypeSP, nullptr);
 		
 		return;
 	}
@@ -290,7 +290,7 @@ void ApogeeCam::ISNewSwitch (const char */*dev*/, const char *name, ISState *sta
   		IUResetSwitches(&ApogeeModelSP);
   		IUUpdateSwitches(&ApogeeModelSP, states, names, n);
 		ApogeeModelSP.s = IPS_OK;
-		IDSetSwitch(&ApogeeModelSP, NULL);
+		IDSetSwitch(&ApogeeModelSP, nullptr);
   		return;
 	}
 	
@@ -326,7 +326,7 @@ void ApogeeCam::ISNewNumber (const char */*dev*/, const char *name, double value
        
       IDLog("Exposure Time is: %g\n", ExposeTimeN[0].value);
       
-      handleExposure(NULL);
+      handleExposure(nullptr);
       return;
     } 
     
@@ -367,7 +367,7 @@ void ApogeeCam::ISNewNumber (const char */*dev*/, const char *name, double value
      cam->m_StartY = (int) FrameN[1].value;
      cam->m_NumX   = (int) FrameN[2].value;
      cam->m_NumY   = (int) FrameN[3].value;
-     IDSetNumber(&FrameNP, NULL);
+     IDSetNumber(&FrameNP, nullptr);
       
    } /* end FrameNP */
       
@@ -428,7 +428,7 @@ void ApogeeCam::ISPoll()
       }
       
       ExposeTimeN[0].value --;
-      IDSetNumber(&ExposeTimeNP, NULL);
+      IDSetNumber(&ExposeTimeNP, nullptr);
       break;
 	    
 	case IPS_ALERT:
@@ -444,7 +444,7 @@ void ApogeeCam::ISPoll()
 	     if (mtc == 0)
 	     {
 	       TemperatureN[0].value = cam->read_Temperature();
-	       IDSetNumber(&TemperatureNP, NULL);
+	       IDSetNumber(&TemperatureNP, nullptr);
 	       mtc = 5;
 	     }
 	     break;
@@ -458,7 +458,7 @@ void ApogeeCam::ISPoll()
 	     	       
 	      mtc = 1;
               TemperatureN[0].value = ccdTemp;
-	      IDSetNumber(&TemperatureNP, NULL);
+	      IDSetNumber(&TemperatureNP, nullptr);
 	      break;
 	      
 	    case IPS_ALERT:
@@ -494,7 +494,7 @@ void ApogeeCam::grabImage()
 
    APGFrame.img = (unsigned short *) malloc (img_size);
    
-  if (APGFrame.img == NULL)
+  if (!APGFrame.img)
   {
     IDMessage(mydev, "Not enough memory to store image.");
     IDLog("Not enough memory to store image.\n");
@@ -517,7 +517,7 @@ void ApogeeCam::grabImage()
    if (err)
    {
        free(APGFrame.img);
-       IDMessage(mydev, errmsg, NULL);
+       IDMessage(mydev, errmsg, nullptr);
        return;
    }
    
@@ -552,7 +552,7 @@ int ApogeeCam::writeFITS(char *filename, char errmsg[])
   
   IDLog("Creating FITS header\n");
   hdu = create_fits_header (ofp, width, height, bpp);
-  if (hdu == NULL)
+  if (!hdu)
   {
      sprintf(errmsg, "Error: creating FITS header failed.");
      return (-1);
@@ -594,7 +594,7 @@ int ApogeeCam::writeFITS(char *filename, char errmsg[])
  
   /* Success */
  ExposeTimeNP.s = IPS_OK;
- IDSetNumber(&ExposeTimeNP, NULL);
+ IDSetNumber(&ExposeTimeNP, nullptr);
  IDLog("Loading FITS image...\n");
  
  IDLog("Uploading filename\n");
@@ -628,7 +628,7 @@ void ApogeeCam::uploadFile(char * filename)
    fitsData       = (unsigned char *) malloc (sizeof(unsigned char) * totalBytes);
    compressedData = (unsigned char *) malloc (sizeof(unsigned char) * totalBytes + totalBytes / 64 + 16 + 3);
    
-   if (fitsData == NULL || compressedData == NULL)
+   if (!fitsData || !compressedData)
    {
      IDLog("Error! low memory. Unable to initialize fits buffers.\n");
      return;
@@ -637,7 +637,7 @@ void ApogeeCam::uploadFile(char * filename)
    IDLog("opening file\n");
    fitsFile = fopen(filename, "r");
    
-   if (fitsFile == NULL)
+   if (!fitsFile)
     return;
    
    IDLog("Reading file from disk\n");
@@ -673,7 +673,7 @@ void ApogeeCam::uploadFile(char * filename)
    imageB.size = totalBytes;
    strcpy(imageB.format, ".fits.z");
    imageBP.s = IPS_OK;
-   IDSetBLOB (&imageBP, NULL);
+   IDSetBLOB (&imageBP, nullptr);
    
    free (fitsData);   
    free (compressedData);
@@ -773,11 +773,11 @@ void ApogeeCam::getBasicData()
   FrameN[3].value = cam->m_ImgRows;
 
   IUUpdateMinMax(&FrameNP);
-  IDSetNumber(&FrameNP, NULL);
+  IDSetNumber(&FrameNP, nullptr);
   
   // Current Temperature
   TemperatureN[0].value = cam->read_Temperature();
-  IDSetNumber(&TemperatureNP, NULL);
+  IDSetNumber(&TemperatureNP, nullptr);
   
 }
 
@@ -804,7 +804,7 @@ int ApogeeCam::checkPowerS(ISwitchVectorProperty *sp)
     	IDMessage (mydev, "Cannot change property %s while the CCD is offline.", sp->label);
 	
     sp->s = IPS_IDLE;
-    IDSetSwitch(sp, NULL);
+    IDSetSwitch(sp, nullptr);
     return -1;
   }
 
@@ -821,7 +821,7 @@ int ApogeeCam::checkPowerN(INumberVectorProperty *np)
     	IDMessage (mydev, "Cannot change property %s while the CCD is offline.", np->label);
     
     np->s = IPS_IDLE;
-    IDSetNumber(np, NULL);
+    IDSetNumber(np, nullptr);
     return -1;
   }
 
@@ -839,7 +839,7 @@ int ApogeeCam::checkPowerT(ITextVectorProperty *tp)
     	IDMessage (mydev, "Cannot change property %s while the CCD is offline.", tp->label);
 	
     tp->s = IPS_IDLE;
-    IDSetText(tp, NULL);
+    IDSetText(tp, nullptr);
     return -1;
   }
 
@@ -890,15 +890,15 @@ void ApogeeCam::connectCCD()
 bool ApogeeCam::initCamera()
 {
   LilXML *XMLParser = newLilXML();
-  XMLEle *root = NULL, *camera = NULL, *ele = NULL;
-  XMLEle *system = NULL, *geometry = NULL, *temp = NULL, *ccd = NULL;
+  XMLEle *root = nullptr, *camera = nullptr, *ele = nullptr;
+  XMLEle *system = nullptr, *geometry = nullptr, *temp = nullptr, *ccd = nullptr;
   XMLAtt *ap;
-  FILE *spFile = NULL;
+  FILE *spFile = nullptr;
   char errmsg[1024];
   
   spFile = fopen(TOP_DATADIR"/apogee_caminfo.xml", "r");
   //spFile = fopen("/opt/trinity/share/apps/kstars/apogee_caminfo.xml", "r");
-  if (spFile == NULL) 
+  if (!spFile) 
   {
     IDLog("Error: Unable to open file apogee_caminfo.xml\n");
     IDMessage(mydev, "Error: Unable to open file apogee_caminfo.xml");
@@ -906,7 +906,7 @@ bool ApogeeCam::initCamera()
   }
   
   root = readXMLFile(spFile, XMLParser, errmsg);
-  if (root == NULL)
+  if (!root)
   {
     IDLog("Error: Unable to process apogee_caminfo.xml. %s\n", errmsg);
     IDMessage(mydev, "Error: Unable to process apogee_caminfo.xml. %s\n", errmsg);
@@ -920,7 +920,7 @@ bool ApogeeCam::initCamera()
   // Let's locate which camera to load the configuration for  
   camera = findXMLEle(root, "Apogee_Camera");
   
-  if (camera == NULL)
+  if (!camera)
   {
     IDLog("Error: Unable to find Apogee_Camera element.\n");
     IDMessage(mydev, "Error: Unable to find Apogee_Camera element.");
@@ -952,7 +952,7 @@ bool ApogeeCam::initCamera()
   temp     = findXMLEle(camera, "Temp");
   ccd      = findXMLEle(camera, "CCD");
   
-  if (system == NULL)
+  if (!system)
   {
     IDLog("Error: Unable to find System element in camera.\n");
     IDMessage(mydev, "Error: Unable to find System element in camera.");
@@ -960,7 +960,7 @@ bool ApogeeCam::initCamera()
     return false;
   }
   
-  if (geometry == NULL)
+  if (!geometry)
   {
     IDLog("Error: Unable to find Geometry element in camera.\n");
     IDMessage(mydev, "Error: Unable to find Geometry element in camera.");
@@ -968,7 +968,7 @@ bool ApogeeCam::initCamera()
     return false;
   }
   
-  if (temp == NULL)
+  if (!temp)
   {
     IDLog("Error: Unable to find Temp element in camera.\n");
     IDMessage(mydev, "Error: Unable to find Temp element in camera.");
@@ -976,7 +976,7 @@ bool ApogeeCam::initCamera()
     return false;
   }
   
-  if (ccd == NULL)
+  if (!ccd)
   {
     IDLog("Error: Unable to find CCD element in camera.\n");
     IDMessage(mydev, "Error: Unable to find CCD element in camera.");
@@ -986,7 +986,7 @@ bool ApogeeCam::initCamera()
   
   cam = new CCameraIO();
   
-  if (cam == NULL)
+  if (!cam)
   {
     IDLog("Error: Failed to create CCameraIO object.\n");
     IDMessage(mydev, "Error: Failed to create CCameraIO object.");
@@ -1409,7 +1409,7 @@ FITS_HDU_LIST * ApogeeCam::create_fits_header (FITS_FILE *ofp, uint width, uint
  snprintf(obsDate, FITS_CARD_SIZE, "DATE-OBS= '%s' /Observation Date UTC", timestamp());
  
  hdulist = fits_add_hdu (ofp);
- if (hdulist == NULL) return (NULL);
+ if (!hdulist) return (nullptr);
 
  hdulist->used.simple = 1;
  hdulist->bitpix = 16;
diff --git a/kstars/kstars/indi/celestrongps.cpp b/kstars/kstars/indi/celestrongps.cpp
index a187aaf8..e64f145b 100644
--- a/kstars/kstars/indi/celestrongps.cpp
+++ b/kstars/kstars/indi/celestrongps.cpp
@@ -33,7 +33,7 @@
 #define DEC_THRESHOLD	0.05
 #define mydev 		"Celestron GPS"
 
-CelestronGPS *telescope = NULL;
+CelestronGPS *telescope = nullptr;
 
 
 /* There is _one_ binary for all LX200 drivers, but each binary is renamed
@@ -95,7 +95,7 @@ void ISInit()
   
   telescope = new CelestronGPS();
 
-  IEAddTimer (POLLMS, ISPoll, NULL);
+  IEAddTimer (POLLMS, ISPoll, nullptr);
 }
 
 void ISGetProperties (const char *dev)
@@ -106,7 +106,7 @@ void ISNewText (const char *dev, const char *name, char *texts[], char *names[],
 { ISInit(); telescope->ISNewText(dev, name, texts, names, n);}
 void ISNewNumber (const char *dev, const char *name, double values[], char *names[], int n)
 { ISInit(); telescope->ISNewNumber(dev, name, values, names, n);}
-void ISPoll (void *p) { telescope->ISPoll(); IEAddTimer (POLLMS, ISPoll, NULL); p=p;}
+void ISPoll (void *p) { telescope->ISPoll(); IEAddTimer (POLLMS, ISPoll, nullptr); p=p;}
 void ISNewBLOB (const char */*dev*/, const char */*name*/, int */*sizes[]*/, char **/*blobs[]*/, char **/*formats[]*/, char **/*names[]*/, int /*n*/)
 {}
 
@@ -137,17 +137,17 @@ void CelestronGPS::ISGetProperties(const char *dev)
     return;
 
   // COMM_GROUP
-  IDDefSwitch (&PowerSw, NULL);
-  IDDefText   (&Port, NULL);
+  IDDefSwitch (&PowerSw, nullptr);
+  IDDefText   (&Port, nullptr);
   
   // BASIC_GROUP
-  IDDefNumber (&eqNum, NULL);
-  IDDefSwitch (&OnCoordSetSw, NULL);
-  IDDefSwitch (&abortSlewSw, NULL);
-  IDDefSwitch (&SlewModeSw, NULL);
+  IDDefNumber (&eqNum, nullptr);
+  IDDefSwitch (&OnCoordSetSw, nullptr);
+  IDDefSwitch (&abortSlewSw, nullptr);
+  IDDefSwitch (&SlewModeSw, nullptr);
 
   // Movement group
-  IDDefSwitch (&MovementSw, NULL);
+  IDDefSwitch (&MovementSw, nullptr);
   
   /* Send the basic data to the new client if the previous client(s) are already connected. */		
   if (PowerSw.s == IPS_OK)
@@ -175,7 +175,7 @@ void CelestronGPS::ISNewText (const char *dev, const char *name, char *texts[],
 
 	  tp->text = new char[strlen(texts[0])+1];
 	  strcpy(tp->text, texts[0]);
-	  IDSetText (&Port, NULL);
+	  IDSetText (&Port, nullptr);
 	  return;
 	}
 }
@@ -251,7 +251,7 @@ int CelestronGPS::handleCoordSet()
             if (lastSet != 1)
 	      IDSetNumber(&eqNum, "Tracking...");
 	    else
-	      IDSetNumber(&eqNum, NULL);
+	      IDSetNumber(&eqNum, nullptr);
 	  }
 	  lastSet = 1;
       break;
@@ -333,13 +333,13 @@ void CelestronGPS::ISNewNumber (const char *dev, const char *name, double values
 	   	}
 		
 		MovementSw.s = IPS_IDLE;
-		IDSetSwitch(&MovementSw, NULL);
+		IDSetSwitch(&MovementSw, nullptr);
 	       }
 
 	       if (handleCoordSet())
 	       {
 	        eqNum.s = IPS_IDLE;
-	    	IDSetNumber(&eqNum, NULL);
+	    	IDSetNumber(&eqNum, nullptr);
 	       }
 	    }
 	    else
@@ -393,7 +393,7 @@ void CelestronGPS::ISNewSwitch (const char *dev, const char *name, ISState *stat
 	  if (checkPower(&abortSlewSw))
 	  {
 	    abortSlewSw.s = IPS_IDLE;
-	    IDSetSwitch(&abortSlewSw, NULL);
+	    IDSetSwitch(&abortSlewSw, nullptr);
 	    return;
 	  }
 	  
@@ -405,7 +405,7 @@ void CelestronGPS::ISNewSwitch (const char *dev, const char *name, ISState *stat
 		abortSlewSw.s = IPS_OK;
 		eqNum.s       = IPS_IDLE;
 		IDSetSwitch(&abortSlewSw, "Slew aborted.");
-		IDSetNumber(&eqNum, NULL);
+		IDSetNumber(&eqNum, nullptr);
             }
 	    else if (MovementSw.s == IPS_BUSY)
 	    {
@@ -419,14 +419,14 @@ void CelestronGPS::ISNewSwitch (const char *dev, const char *name, ISState *stat
 		IUResetSwitches(&MovementSw);
 		IUResetSwitches(&abortSlewSw);
 		IDSetSwitch(&abortSlewSw, "Slew aborted.");
-		IDSetSwitch(&MovementSw, NULL);
-		IDSetNumber(&eqNum, NULL);
+		IDSetSwitch(&MovementSw, nullptr);
+		IDSetNumber(&eqNum, nullptr);
 	    }
 	    else
 	    {
 	        IUResetSwitches(&MovementSw);
 	        abortSlewSw.s = IPS_IDLE;
-	        IDSetSwitch(&abortSlewSw, NULL);
+	        IDSetSwitch(&abortSlewSw, nullptr);
 	    }
 
 	    return;
@@ -444,7 +444,7 @@ void CelestronGPS::ISNewSwitch (const char *dev, const char *name, ISState *stat
 	  SetRate(index);
           
 	  SlewModeSw.s = IPS_OK;
-	  IDSetSwitch(&SlewModeSw, NULL);
+	  IDSetSwitch(&SlewModeSw, nullptr);
 	  return;
 	}
 
@@ -463,7 +463,7 @@ void CelestronGPS::ISNewSwitch (const char *dev, const char *name, ISState *stat
 	    StopNSEW();
 	    IUResetSwitches(&MovementSw);
 	    MovementSw.s = IPS_IDLE;
-	    IDSetSwitch(&MovementSw, NULL);
+	    IDSetSwitch(&MovementSw, nullptr);
 	 }
 	 
 	 if (swp == &MovementS[0]) index = 0;
@@ -545,7 +545,7 @@ int CelestronGPS::checkPower(ISwitchVectorProperty *sp)
        IDMessage (mydev, "Cannot change property %s while the telescope is offline.", sp->label);
        
     sp->s = IPS_IDLE;
-    IDSetSwitch(sp, NULL);
+    IDSetSwitch(sp, nullptr);
     return -1;
   }
 
@@ -562,7 +562,7 @@ int CelestronGPS::checkPower(INumberVectorProperty *np)
        IDMessage (mydev, "Cannot change property %s while the telescope is offline.", np->label);
        
     np->s = IPS_IDLE;
-    IDSetNumber(np, NULL);
+    IDSetNumber(np, nullptr);
     return -1;
   }
   return 0;
@@ -579,7 +579,7 @@ int CelestronGPS::checkPower(ITextVectorProperty *tp)
        IDMessage (mydev, "Cannot change property %s while the telescope is offline.", tp->label);
        
     tp->s = IPS_IDLE;
-    IDSetText(tp, NULL);
+    IDSetText(tp, nullptr);
     return -1;
   }
 
@@ -607,7 +607,7 @@ void CelestronGPS::ISPoll()
 		eqNum.np[1].value = currentDEC;
 		lastRA  = currentRA;
 		lastDEC = currentDEC;
-		IDSetNumber (&eqNum, NULL);
+		IDSetNumber (&eqNum, nullptr);
 
 	}
         break;
@@ -630,7 +630,7 @@ void CelestronGPS::ISPoll()
 	    switch (status)
 	    {
 	    case 0:		/* goto in progress */
-		IDSetNumber (&eqNum, NULL);
+		IDSetNumber (&eqNum, nullptr);
 		break;
 	    case 1:		/* goto complete within tolerance */
 	    case 2:		/* goto complete but outside tolerance */
@@ -657,7 +657,7 @@ void CelestronGPS::ISPoll()
 		  IDSetNumber (&eqNum, "Slew is complete. Tracking...");
 		}
 		
-		IDSetSwitch (&OnCoordSetSw, NULL);
+		IDSetSwitch (&OnCoordSetSw, nullptr);
 		break;
 	    }   
 	    break;
@@ -675,7 +675,7 @@ void CelestronGPS::ISPoll()
 		eqNum.np[1].value = currentDEC;
 		lastRA  = currentRA;
 		lastDEC = currentDEC;
-		IDSetNumber (&eqNum, NULL);
+		IDSetNumber (&eqNum, nullptr);
 
 	}
         break;
@@ -699,7 +699,7 @@ void CelestronGPS::ISPoll()
 	     eqNum.np[0].value = currentRA;
 	     eqNum.np[1].value = currentDEC;
 
-	     IDSetNumber (&eqNum, NULL);
+	     IDSetNumber (&eqNum, nullptr);
 
 	     break;
 	 case IPS_OK:
@@ -719,7 +719,7 @@ void CelestronGPS::getBasicData()
   eqNum.np[0].value = targetRA;
   eqNum.np[1].value = targetDEC;
 
-  IDSetNumber(&eqNum, NULL);
+  IDSetNumber(&eqNum, nullptr);
 
 }
 
diff --git a/kstars/kstars/indi/indi_lpi.cpp b/kstars/kstars/indi/indi_lpi.cpp
index 4a6737fa..6131fcda 100644
--- a/kstars/kstars/indi/indi_lpi.cpp
+++ b/kstars/kstars/indi/indi_lpi.cpp
@@ -79,7 +79,7 @@ void Meade_LPI::connectCamera()
       PowerSP.s = IPS_IDLE;
       
       free(V4LFrame->compressedFrame);
-      V4LFrame->compressedFrame = NULL;
+      V4LFrame->compressedFrame = nullptr;
       v4l_base->disconnectCam();
       
       IDSetSwitch(&PowerSP, "Meade LPI is offline.");
@@ -90,12 +90,12 @@ void Meade_LPI::connectCamera()
 }
 #endif
 
-Meade_LPI *MainCam = NULL;		/* Main and only camera */
+Meade_LPI *MainCam = nullptr;		/* Main and only camera */
 
 /* send client definitions of all properties */
 void ISInit()
 {
-  if (MainCam == NULL)
+  if (!MainCam)
   {
     MainCam = new Meade_LPI();
     MainCam->initProperties("Meade LPI");
diff --git a/kstars/kstars/indi/indi_philips.cpp b/kstars/kstars/indi/indi_philips.cpp
index f4106eb6..16353f15 100644
--- a/kstars/kstars/indi/indi_philips.cpp
+++ b/kstars/kstars/indi/indi_philips.cpp
@@ -21,12 +21,12 @@
 
 #include "v4lphilips.h"
 
-V4L_Philips *MainCam = NULL;		/* Main and only camera */
+V4L_Philips *MainCam = nullptr;		/* Main and only camera */
 
 /* send client definitions of all properties */
 void ISInit()
 {
-  if (MainCam == NULL)
+  if (!MainCam)
   {
     MainCam = new V4L_Philips();
     MainCam->initProperties("Philips Webcam");
diff --git a/kstars/kstars/indi/indi_v4l.cpp b/kstars/kstars/indi/indi_v4l.cpp
index 76f1f035..0659f956 100644
--- a/kstars/kstars/indi/indi_v4l.cpp
+++ b/kstars/kstars/indi/indi_v4l.cpp
@@ -21,12 +21,12 @@
 
 #include "v4ldriver.h"
 
-V4L_Driver *MainCam = NULL;		/* Main and only camera */
+V4L_Driver *MainCam = nullptr;		/* Main and only camera */
 
 /* send client definitions of all properties */
 void ISInit()
 {
-  if (MainCam == NULL)
+  if (!MainCam)
   {
     MainCam = new V4L_Driver();
     MainCam->initProperties("Video4Linux Generic Device");
diff --git a/kstars/kstars/indi/lx200_16.cpp b/kstars/kstars/indi/lx200_16.cpp
index fe37df18..05efcdc4 100644
--- a/kstars/kstars/indi/lx200_16.cpp
+++ b/kstars/kstars/indi/lx200_16.cpp
@@ -104,11 +104,11 @@ if (dev && strcmp (thisDevice, dev))
   // process parent first
   LX200Autostar::ISGetProperties(dev);
 
-  IDDefNumber (&horNum, NULL);
+  IDDefNumber (&horNum, nullptr);
 
-  IDDefSwitch (&FanStatusSw, NULL);
-  IDDefSwitch (&HomeSearchSw, NULL);
-  IDDefSwitch (&FieldDeRotatorSw, NULL);
+  IDDefSwitch (&FanStatusSw, nullptr);
+  IDDefSwitch (&HomeSearchSw, nullptr);
+  IDDefSwitch (&FieldDeRotatorSw, nullptr);
 
 }
 
@@ -344,7 +344,7 @@ void LX200_16::handleAltAzSlew()
 
 	    if ( (err = getLX200Az(&currentAz)) < 0 || (err = getLX200Alt(&currentAlt)) < 0)
 	    {
-	      IDSetNumber(&horNum, NULL);
+	      IDSetNumber(&horNum, nullptr);
 	      handleError(&horNum, err, "Get Alt/Az");
 	      return;
 	    }
@@ -368,7 +368,7 @@ void LX200_16::handleAltAzSlew()
 		currentAlt = targetAlt;
                 IDSetNumber (&horNum, "Slew is complete");
 	    } else
-	    	IDSetNumber (&horNum, NULL);
+	    	IDSetNumber (&horNum, nullptr);
 	    break;
 
 	case IPS_OK:
@@ -389,7 +389,7 @@ void LX200_16::handleAltAzSlew()
    horNum.np[0].value = targetAlt;
    horNum.np[1].value = targetAz;
 
-   IDSetNumber (&horNum, NULL);
+   IDSetNumber (&horNum, nullptr);
    
    LX200Autostar::getBasicData();
 
diff --git a/kstars/kstars/indi/lx200autostar.cpp b/kstars/kstars/indi/lx200autostar.cpp
index 79c3d575..6355a557 100644
--- a/kstars/kstars/indi/lx200autostar.cpp
+++ b/kstars/kstars/indi/lx200autostar.cpp
@@ -67,7 +67,7 @@ if (dev && strcmp (thisDevice, dev))
 
     LX200Generic::ISGetProperties(dev);
 
-    IDDefText (&VersionInfo, NULL);
+    IDDefText (&VersionInfo, nullptr);
 
 }
 
@@ -115,9 +115,9 @@ void LX200Autostar::ISNewNumber (const char *dev, const char *name, double value
 	  PowerSP.s   = IPS_IDLE;
 	  PowerSP.sp[0].s = ISS_OFF;
 	  PowerSP.sp[1].s = ISS_ON;
-	  IDSetNumber(&eqNum, NULL);
+	  IDSetNumber(&eqNum, nullptr);
 	  IDSetSwitch(&ParkSP, "The telescope is slewing to park position. Turn off the telescope after park is complete. Disconnecting...");
-	  IDSetSwitch(&PowerSP, NULL);
+	  IDSetSwitch(&PowerSP, nullptr);
 	  return;
     }
 
@@ -146,7 +146,7 @@ void LX200Autostar::ISNewNumber (const char *dev, const char *name, double value
    VersionInfo.tp[4].text = new char[128];
    getProductName(VersionInfo.tp[4].text);
 
-   IDSetText(&VersionInfo, NULL);
+   IDSetText(&VersionInfo, nullptr);
    
    // process parent
    LX200Generic::getBasicData();
diff --git a/kstars/kstars/indi/lx200basic.cpp b/kstars/kstars/indi/lx200basic.cpp
index a812caa6..8bbdc33a 100644
--- a/kstars/kstars/indi/lx200basic.cpp
+++ b/kstars/kstars/indi/lx200basic.cpp
@@ -39,7 +39,7 @@
 */
 
 
-LX200Basic *telescope = NULL;
+LX200Basic *telescope = nullptr;
 extern char* me;
 
 #define BASIC_GROUP	"Main Control"
@@ -71,7 +71,7 @@ void ISInit()
  isInit = 1;
   
   telescope = new LX200Basic();
-  IEAddTimer (POLLMS, ISPoll, NULL);
+  IEAddTimer (POLLMS, ISPoll, nullptr);
 }
 
 void ISGetProperties (const char *dev)
@@ -101,7 +101,7 @@ void ISNewNumber (const char *dev, const char *name, double values[], char *name
 void ISPoll (void */*p*/)
 {
  telescope->ISPoll(); 
- IEAddTimer (POLLMS, ISPoll, NULL);
+ IEAddTimer (POLLMS, ISPoll, nullptr);
 }
 
 void ISNewBLOB (const char */*dev*/, const char */*name*/, int */*sizes[]*/, char **/*blobs[]*/, char **/*formats[]*/, char **/*names[]*/, int /*n*/)
@@ -177,12 +177,12 @@ void LX200Basic::ISGetProperties(const char *dev)
     return;
 
   // Main Control
-  IDDefSwitch(&PowerSP, NULL);
-  IDDefText(&PortTP, NULL);
-  IDDefText(&ObjectTP, NULL);
-  IDDefNumber(&EqNP, NULL);
-  IDDefSwitch(&OnCoordSetSP, NULL);
-  IDDefSwitch(&AbortSlewSP, NULL);
+  IDDefSwitch(&PowerSP, nullptr);
+  IDDefText(&PortTP, nullptr);
+  IDDefText(&ObjectTP, nullptr);
+  IDDefNumber(&EqNP, nullptr);
+  IDDefSwitch(&OnCoordSetSP, nullptr);
+  IDDefSwitch(&AbortSlewSP, nullptr);
   
 }
 
@@ -203,7 +203,7 @@ void LX200Basic::ISNewText (const char *dev, const char *name, char *texts[], ch
 	   return;
 
 	   IUSaveText(tp, texts[0]);
- 	   IDSetText (&PortTP, NULL);
+ 	   IDSetText (&PortTP, nullptr);
 	  return;
 	}
 
@@ -214,7 +214,7 @@ void LX200Basic::ISNewText (const char *dev, const char *name, char *texts[], ch
 
           IUSaveText(&ObjectT[0], texts[0]);
           ObjectTP.s = IPS_OK;
-          IDSetText(&ObjectTP, NULL);
+          IDSetText(&ObjectTP, nullptr);
           return;
        }
           
@@ -273,7 +273,7 @@ void LX200Basic::ISNewNumber (const char *dev, const char *name, double values[]
 	   if (handleCoordSet())
 	   {
 	     EqNP.s = IPS_IDLE;
-	     IDSetNumber(&EqNP, NULL);
+	     IDSetNumber(&EqNP, nullptr);
 	     
 	   }
 	} // end nset
@@ -314,7 +314,7 @@ void LX200Basic::ISNewSwitch (const char *dev, const char *name, ISState *states
 	  IUUpdateSwitches(&OnCoordSetSP, states, names, n);
 	  currentSet = getOnSwitch(&OnCoordSetSP);
 	  OnCoordSetSP.s = IPS_OK;
-	  IDSetSwitch(&OnCoordSetSP, NULL);
+	  IDSetSwitch(&OnCoordSetSP, nullptr);
 	}
 	  
 	// Abort Slew
@@ -323,7 +323,7 @@ void LX200Basic::ISNewSwitch (const char *dev, const char *name, ISState *states
 	  if (checkPower(&AbortSlewSP))
 	  {
 	    AbortSlewSP.s = IPS_IDLE;
-	    IDSetSwitch(&AbortSlewSP, NULL);
+	    IDSetSwitch(&AbortSlewSP, nullptr);
 	    return;
 	  }
 	  
@@ -335,7 +335,7 @@ void LX200Basic::ISNewSwitch (const char *dev, const char *name, ISState *states
 		AbortSlewSP.s = IPS_OK;
 		EqNP.s       = IPS_IDLE;
 		IDSetSwitch(&AbortSlewSP, "Slew aborted.");
-		IDSetNumber(&EqNP, NULL);
+		IDSetNumber(&EqNP, nullptr);
             }
 
 	    return;
@@ -357,8 +357,8 @@ void LX200Basic::handleError(ISwitchVectorProperty *svp, int err, const char *ms
       PowerSP.s = IPS_BUSY;
       IDSetSwitch(&PowerSP, "Telescope is not responding to commands, will retry in 10 seconds.");
       
-      IDSetSwitch(svp, NULL);
-      IEAddTimer(10000, retryConnection, NULL);
+      IDSetSwitch(svp, nullptr);
+      IEAddTimer(10000, retryConnection, nullptr);
       return;
     }
     
@@ -389,8 +389,8 @@ void LX200Basic::handleError(INumberVectorProperty *nvp, int err, const char *ms
       PowerSP.s = IPS_BUSY;
       IDSetSwitch(&PowerSP, "Telescope is not responding to commands, will retry in 10 seconds.");
       
-      IDSetNumber(nvp, NULL);
-      IEAddTimer(10000, retryConnection, NULL);
+      IDSetNumber(nvp, nullptr);
+      IEAddTimer(10000, retryConnection, nullptr);
       return;
     }
     
@@ -421,8 +421,8 @@ void LX200Basic::handleError(ITextVectorProperty *tvp, int err, const char *msg)
       PowerSP.s = IPS_BUSY;
       IDSetSwitch(&PowerSP, "Telescope is not responding to commands, will retry in 10 seconds.");
       
-      IDSetText(tvp, NULL);
-      IEAddTimer(10000, retryConnection, NULL);
+      IDSetText(tvp, nullptr);
+      IEAddTimer(10000, retryConnection, nullptr);
       return;
     }
     
@@ -483,7 +483,7 @@ void LX200Basic::ISPoll()
 	{
 	        lastRA = currentRA;
 		lastDEC = currentDEC;
-		IDSetNumber (&EqNP, NULL);
+		IDSetNumber (&EqNP, nullptr);
 	}
         break;
 
@@ -505,7 +505,7 @@ void LX200Basic::ISPoll()
 	       IUResetSwitches(&OnCoordSetSP);
 	       OnCoordSetSP.s = IPS_OK;
 	       EqNP.s = IPS_OK;
-	       IDSetNumber (&EqNP, NULL);
+	       IDSetNumber (&EqNP, nullptr);
 
 		switch (currentSet)
 		{
@@ -524,7 +524,7 @@ void LX200Basic::ISPoll()
 		}
 		  
 	    } else
-		IDSetNumber (&EqNP, NULL);
+		IDSetNumber (&EqNP, nullptr);
 	    break;
 
 	case IPS_OK:
@@ -542,7 +542,7 @@ void LX200Basic::ISPoll()
 	{
 	  	lastRA  = currentRA;
 		lastDEC = currentDEC;
-		IDSetNumber (&EqNP, NULL);
+		IDSetNumber (&EqNP, nullptr);
 	}
         break;
 
@@ -561,7 +561,7 @@ void LX200Basic::getBasicData()
   targetRA = currentRA;
   targetDEC = currentDEC;
 
-  IDSetNumber (&EqNP, NULL);  
+  IDSetNumber (&EqNP, nullptr);  
 }
 
 int LX200Basic::handleCoordSet()
@@ -644,7 +644,7 @@ int LX200Basic::handleCoordSet()
 	    if (lastSet != LX200_TRACK)
 	      IDSetNumber(&EqNP, "Tracking...");
 	    else
-	      IDSetNumber(&EqNP, NULL);
+	      IDSetNumber(&EqNP, nullptr);
 	  }
 	  lastSet = LX200_TRACK;
       break;
@@ -692,7 +692,7 @@ int LX200Basic::checkPower(ISwitchVectorProperty *sp)
         IDMessage (mydev, "Cannot change property %s while the telescope is offline.", sp->label);
 	
     sp->s = IPS_IDLE;
-    IDSetSwitch(sp, NULL);
+    IDSetSwitch(sp, nullptr);
     return -1;
   }
 
@@ -712,7 +712,7 @@ int LX200Basic::checkPower(INumberVectorProperty *np)
         IDMessage (mydev, "Cannot change property %s while the telescope is offline.", np->label);
 	
     np->s = IPS_IDLE;
-    IDSetNumber(np, NULL);
+    IDSetNumber(np, nullptr);
     return -1;
   }
 
@@ -733,7 +733,7 @@ int LX200Basic::checkPower(ITextVectorProperty *tp)
         IDMessage (mydev, "Cannot change property %s while the telescope is offline.", tp->label);
 	
     tp->s = IPS_IDLE;
-    IDSetText(tp, NULL);
+    IDSetText(tp, nullptr);
     return -1;
   }
 
diff --git a/kstars/kstars/indi/lx200classic.cpp b/kstars/kstars/indi/lx200classic.cpp
index 5788bd16..c66b66b4 100644
--- a/kstars/kstars/indi/lx200classic.cpp
+++ b/kstars/kstars/indi/lx200classic.cpp
@@ -87,13 +87,13 @@ if (dev && strcmp (thisDevice, dev))
 
   LX200Generic::ISGetProperties(dev);
 
-  IDDefNumber (&elevationLimit, NULL);
-  IDDefText   (&ObjectInfo, NULL);
-  IDDefSwitch (&SolarSw, NULL);
-  IDDefSwitch (&StarCatalogSw, NULL);
-  IDDefSwitch (&DeepSkyCatalogSw, NULL);
-  IDDefNumber (&ObjectNo, NULL);
-  IDDefNumber (&MaxSlewRate, NULL);
+  IDDefNumber (&elevationLimit, nullptr);
+  IDDefText   (&ObjectInfo, nullptr);
+  IDDefSwitch (&SolarSw, nullptr);
+  IDDefSwitch (&StarCatalogSw, nullptr);
+  IDDefSwitch (&DeepSkyCatalogSw, nullptr);
+  IDDefNumber (&ObjectNo, nullptr);
+  IDDefNumber (&MaxSlewRate, nullptr);
 
 }
 
@@ -127,12 +127,12 @@ void LX200Classic::ISNewNumber (const char *dev, const char *name, double values
 
 	  ObjectNo.s = eqNum.s = IPS_OK;
 	  IDSetNumber(&ObjectNo , "Object updated");
-	  IDSetNumber(&eqNum, NULL);
+	  IDSetNumber(&eqNum, nullptr);
 	  
 	  if (getObjectInfo(ObjectText[0].text) < 0)
 	    IDMessage(thisDevice, "Getting object info failed.");
 	  else
-	    IDSetText  (&ObjectInfo, NULL);
+	    IDSetText  (&ObjectInfo, nullptr);
 
 	  handleCoordSet();
 
@@ -152,7 +152,7 @@ void LX200Classic::ISNewNumber (const char *dev, const char *name, double values
 	 }
 	  MaxSlewRate.s = IPS_OK;
 	  MaxSlewRate.np[0].value = values[0];
-	  IDSetNumber(&MaxSlewRate, NULL);
+	  IDSetNumber(&MaxSlewRate, nullptr);
 	  return;
     }
 
@@ -191,7 +191,7 @@ void LX200Classic::ISNewNumber (const char *dev, const char *name, double values
 		elevationLimit.np[0].value = minAlt;
 		elevationLimit.np[1].value = maxAlt;
 		elevationLimit.s = IPS_OK;
-		IDSetNumber (&elevationLimit, NULL);
+		IDSetNumber (&elevationLimit, nullptr);
 	    } else
 	    {
 		elevationLimit.s = IPS_IDLE;
@@ -229,7 +229,7 @@ void LX200Classic::ISNewNumber (const char *dev, const char *name, double values
 	  {
 	   currentSubCatalog = index;
 	   StarCatalogSw.s = IPS_OK;
-	   IDSetSwitch(&StarCatalogSw, NULL);
+	   IDSetSwitch(&StarCatalogSw, nullptr);
 	  }
 	  else
 	  {
@@ -253,7 +253,7 @@ void LX200Classic::ISNewNumber (const char *dev, const char *name, double values
 	  {
 	    currentCatalog = index;
 	    DeepSkyCatalogSw.s = IPS_OK;
-	    IDSetSwitch(&DeepSkyCatalogSw, NULL);
+	    IDSetSwitch(&DeepSkyCatalogSw, nullptr);
 	    return;
 	  }
 	  else
@@ -263,7 +263,7 @@ void LX200Classic::ISNewNumber (const char *dev, const char *name, double values
 	  {
 	   currentSubCatalog = index;
 	   DeepSkyCatalogSw.s = IPS_OK;
-	   IDSetSwitch(&DeepSkyCatalogSw, NULL);
+	   IDSetSwitch(&DeepSkyCatalogSw, nullptr);
 	  }
 	  else
 	  {
@@ -288,7 +288,7 @@ void LX200Classic::ISNewNumber (const char *dev, const char *name, double values
 	  if (index == 0)
 	  {
 	    SolarSw.s  = IPS_IDLE;
-	    IDSetSwitch(&SolarSw, NULL);
+	    IDSetSwitch(&SolarSw, nullptr);
 	    return;
 	  }
 
@@ -300,7 +300,7 @@ void LX200Classic::ISNewNumber (const char *dev, const char *name, double values
 
 	  getObjectInfo(ObjectInfo.tp[0].text);
 	  IDSetNumber(&ObjectNo , "Object updated.");
-	  IDSetSwitch(&SolarSw, NULL);
+	  IDSetSwitch(&SolarSw, nullptr);
 
 	  if (currentCatalog == LX200_STAR_C || currentCatalog == LX200_DEEPSKY_C)
 	  	selectSubCatalog( currentCatalog, currentSubCatalog);
diff --git a/kstars/kstars/indi/lx200generic.cpp b/kstars/kstars/indi/lx200generic.cpp
index 8915b612..a71f9cd9 100644
--- a/kstars/kstars/indi/lx200generic.cpp
+++ b/kstars/kstars/indi/lx200generic.cpp
@@ -57,14 +57,14 @@ static inline double timezoneOffset()
 #else
   time_t now;
   struct tm *tm;
-  now = time(NULL);
+  now = time(nullptr);
   tm = localtime(&now);
   daylight = tm->tm_isdst;
   return -(tm->tm_gmtoff) / (60 * 60);
 #endif
 }
 
-LX200Generic *telescope = NULL;
+LX200Generic *telescope = nullptr;
 int MaxReticleFlashRate = 3;
 
 /* There is _one_ binary for all LX200 drivers, but each binary is renamed
@@ -285,14 +285,14 @@ void ISInit()
 }
 
 void ISGetProperties (const char *dev)
-{ ISInit(); telescope->ISGetProperties(dev); IEAddTimer (POLLMS, ISPoll, NULL);}
+{ ISInit(); telescope->ISGetProperties(dev); IEAddTimer (POLLMS, ISPoll, nullptr);}
 void ISNewSwitch (const char *dev, const char *name, ISState *states, char *names[], int n)
 { ISInit(); telescope->ISNewSwitch(dev, name, states, names, n);}
 void ISNewText (const char *dev, const char *name, char *texts[], char *names[], int n)
 { ISInit(); telescope->ISNewText(dev, name, texts, names, n);}
 void ISNewNumber (const char *dev, const char *name, double values[], char *names[], int n)
 { ISInit(); telescope->ISNewNumber(dev, name, values, names, n);}
-void ISPoll (void *p) { telescope->ISPoll(); IEAddTimer (POLLMS, ISPoll, NULL); p=p;}
+void ISPoll (void *p) { telescope->ISPoll(); IEAddTimer (POLLMS, ISPoll, nullptr); p=p;}
 void ISNewBLOB (const char */*dev*/, const char */*name*/, int */*sizes[]*/, char **/*blobs[]*/, char **/*formats[]*/, char **/*names[]*/, int /*n*/)
 {}
 
@@ -348,35 +348,35 @@ void LX200Generic::ISGetProperties(const char *dev)
     return;
 
   // COMM_GROUP
-  IDDefSwitch (&PowerSP, NULL);
-  IDDefText   (&Port, NULL);
-  IDDefSwitch (&AlignmentSw, NULL);
+  IDDefSwitch (&PowerSP, nullptr);
+  IDDefText   (&Port, nullptr);
+  IDDefSwitch (&AlignmentSw, nullptr);
 
   // BASIC_GROUP
-  IDDefNumber (&eqNum, NULL);
-  IDDefSwitch (&OnCoordSetSw, NULL);
-  IDDefSwitch (&abortSlewSw, NULL);
-  IDDefSwitch (&ParkSP, NULL);
+  IDDefNumber (&eqNum, nullptr);
+  IDDefSwitch (&OnCoordSetSw, nullptr);
+  IDDefSwitch (&abortSlewSw, nullptr);
+  IDDefSwitch (&ParkSP, nullptr);
 
   // MOVE_GROUP
-  IDDefNumber (&TrackingFreq, NULL);
-  IDDefSwitch (&SlewModeSw, NULL);
-  IDDefSwitch (&TrackModeSw, NULL);
-  IDDefSwitch (&MovementSw, NULL);
+  IDDefNumber (&TrackingFreq, nullptr);
+  IDDefSwitch (&SlewModeSw, nullptr);
+  IDDefSwitch (&TrackModeSw, nullptr);
+  IDDefSwitch (&MovementSw, nullptr);
 
   // FOCUS_GROUP
-  IDDefNumber(&FocusSpeedNP, NULL);
-  IDDefSwitch(&FocusMotionSw, NULL);
-  IDDefNumber(&FocusTimerNP, NULL);
+  IDDefNumber(&FocusSpeedNP, nullptr);
+  IDDefSwitch(&FocusMotionSw, nullptr);
+  IDDefNumber(&FocusTimerNP, nullptr);
 
   // DATETIME_GROUP
-  IDDefText   (&Time, NULL);
-  IDDefNumber (&SDTime, NULL);
+  IDDefText   (&Time, nullptr);
+  IDDefNumber (&SDTime, nullptr);
 
   // SITE_GROUP
-  IDDefSwitch (&SitesSw, NULL);
-  IDDefText   (&SiteName, NULL);
-  IDDefNumber (&geoNum, NULL);
+  IDDefSwitch (&SitesSw, nullptr);
+  IDDefText   (&SiteName, nullptr);
+  IDDefNumber (&geoNum, nullptr);
   
   /* Send the basic data to the new client if the previous client(s) are already connected. */		
    if (PowerSP.s == IPS_OK)
@@ -410,7 +410,7 @@ void LX200Generic::ISNewText (const char *dev, const char *name, char *texts[],
 
 	  tp->text = new char[strlen(texts[0])+1];
 	  strcpy(tp->text, texts[0]);
-	  IDSetText (&Port, NULL);
+	  IDSetText (&Port, nullptr);
 	  return;
 	}
 
@@ -460,7 +460,7 @@ void LX200Generic::ISNewText (const char *dev, const char *name, char *texts[],
 		IDLog("local time is %02d:%02d:%02d\nUTCOffset: %g\n", ltp->tm_hour, ltp->tm_min, ltp->tm_sec, UTCOffset);
 		
 		getSDTime(&STime[0].value);
-		IDSetNumber(&SDTime, NULL);
+		IDSetNumber(&SDTime, nullptr);
 		
 		if ( ( err = setUTCOffset(UTCOffset) < 0) )
 	  	{
@@ -589,13 +589,13 @@ void LX200Generic::ISNewNumber (const char *dev, const char *name, double values
 	   	}
 		
 		MovementSw.s = IPS_IDLE;
-		IDSetSwitch(&MovementSw, NULL);
+		IDSetSwitch(&MovementSw, nullptr);
 	   }
 	   
 	   if (handleCoordSet())
 	   {
 	     eqNum.s = IPS_IDLE;
-	     IDSetNumber(&eqNum, NULL);
+	     IDSetNumber(&eqNum, nullptr);
 	     
 	   }
 	} // end nset
@@ -714,7 +714,7 @@ void LX200Generic::ISNewNumber (const char *dev, const char *name, double values
 	      TrackModeS[2].s = ISS_ON;
 	      TrackModeSw.s   = IPS_OK;
 	      selectTrackingMode(trackingMode);
-	      IDSetSwitch(&TrackModeSw, NULL);
+	      IDSetSwitch(&TrackModeSw, nullptr);
 	 }
 	 
 	  return;
@@ -733,7 +733,7 @@ void LX200Generic::ISNewNumber (const char *dev, const char *name, double values
 	  
 	  FocusTimerNP.s = IPS_OK;
 	  
-	  IDSetNumber(&FocusTimerNP, NULL);
+	  IDSetNumber(&FocusTimerNP, nullptr);
 	  IDLog("Setting focus timer to %g\n", FocusTimerN[0].value);
 	  
 	  return;
@@ -755,13 +755,13 @@ void LX200Generic::ISNewNumber (const char *dev, const char *name, double values
 	    IUResetSwitches(&FocusMotionSw);
 	    FocusMotionSw.s = IPS_IDLE;
 	    FocusTimerNP.s  = IPS_IDLE;
-	    IDSetSwitch(&FocusMotionSw, NULL);
-	    IDSetNumber(&FocusTimerNP, NULL);
+	    IDSetSwitch(&FocusMotionSw, nullptr);
+	    IDSetNumber(&FocusTimerNP, nullptr);
 	  }
 	    
 	  setFocuserSpeedMode( ( (int) FocusSpeedN[0].value));
 	  FocusSpeedNP.s = IPS_OK;
-	  IDSetNumber(&FocusSpeedNP, NULL);
+	  IDSetNumber(&FocusSpeedNP, nullptr);
 	  return;
 	}
 
@@ -804,7 +804,7 @@ void LX200Generic::ISNewSwitch (const char *dev, const char *name, ISState *stat
 	  IUUpdateSwitches(&OnCoordSetSw, states, names, n);
 	  currentSet = getOnSwitch(&OnCoordSetSw);
 	  OnCoordSetSw.s = IPS_OK;
-	  IDSetSwitch(&OnCoordSetSw, NULL);
+	  IDSetSwitch(&OnCoordSetSw, nullptr);
 	}
 	
 	// Parking
@@ -838,7 +838,7 @@ void LX200Generic::ISNewSwitch (const char *dev, const char *name, ISState *stat
 	     setObjectDEC(targetDEC);
 	     IDLog("Parking the scope in AltAz (0,0) which corresponds to (RA,DEC) of (%g,%g)\n", targetRA, targetDEC);
 	     IDLog("Current Sidereal time is: %g\n", STime[0].value);
-	     IDSetNumber(&SDTime, NULL);
+	     IDSetNumber(&SDTime, nullptr);
 	   }
 	   else
 	   {
@@ -846,7 +846,7 @@ void LX200Generic::ISNewSwitch (const char *dev, const char *name, ISState *stat
 	     return;
 	   }
 	   
-	   IDSetNumber(&SDTime, NULL);
+	   IDSetNumber(&SDTime, nullptr);
 	   
 	   currentSet = LX200_PARK;
 	   handleCoordSet();
@@ -858,7 +858,7 @@ void LX200Generic::ISNewSwitch (const char *dev, const char *name, ISState *stat
 	  if (checkPower(&abortSlewSw))
 	  {
 	    abortSlewSw.s = IPS_IDLE;
-	    IDSetSwitch(&abortSlewSw, NULL);
+	    IDSetSwitch(&abortSlewSw, nullptr);
 	    return;
 	  }
 	  
@@ -870,7 +870,7 @@ void LX200Generic::ISNewSwitch (const char *dev, const char *name, ISState *stat
 		abortSlewSw.s = IPS_OK;
 		eqNum.s       = IPS_IDLE;
 		IDSetSwitch(&abortSlewSw, "Slew aborted.");
-		IDSetNumber(&eqNum, NULL);
+		IDSetNumber(&eqNum, nullptr);
             }
 	    else if (MovementSw.s == IPS_BUSY)
 	    {
@@ -884,14 +884,14 @@ void LX200Generic::ISNewSwitch (const char *dev, const char *name, ISState *stat
 		IUResetSwitches(&MovementSw);
 		IUResetSwitches(&abortSlewSw);
 		IDSetSwitch(&abortSlewSw, "Slew aborted.");
-		IDSetSwitch(&MovementSw, NULL);
-		IDSetNumber(&eqNum, NULL);
+		IDSetSwitch(&MovementSw, nullptr);
+		IDSetNumber(&eqNum, nullptr);
 	    }
 	    else
 	    {
 	        IUResetSwitches(&MovementSw);
 	        abortSlewSw.s = IPS_OK;
-	        IDSetSwitch(&abortSlewSw, NULL);
+	        IDSetSwitch(&abortSlewSw, nullptr);
 	    }
 
 	    return;
@@ -914,7 +914,7 @@ void LX200Generic::ISNewSwitch (const char *dev, const char *name, ISState *stat
 	  }
 	  
 	  AlignmentSw.s = IPS_OK;
-          IDSetSwitch (&AlignmentSw, NULL);
+          IDSetSwitch (&AlignmentSw, nullptr);
 	  return;
 
 	}
@@ -959,9 +959,9 @@ void LX200Generic::ISNewSwitch (const char *dev, const char *name, ISState *stat
 	  
 	  geoNum.s = SiteName.s = SitesSw.s = IPS_OK;
 
-	  IDSetNumber (&geoNum, NULL);
-	  IDSetText   (&SiteName, NULL);
-          IDSetSwitch (&SitesSw, NULL);
+	  IDSetNumber (&geoNum, nullptr);
+	  IDSetText   (&SiteName, nullptr);
+          IDSetSwitch (&SitesSw, nullptr);
 	  return;
 	}
 
@@ -977,7 +977,7 @@ void LX200Generic::ISNewSwitch (const char *dev, const char *name, ISState *stat
 	  if (FocusSpeedN[0].value == 0)
 	  {
 	    FocusMotionSw.s = IPS_IDLE;
-	    IDSetSwitch(&FocusMotionSw, NULL);
+	    IDSetSwitch(&FocusMotionSw, nullptr);
 	    return;
 	  }
 	  
@@ -998,7 +998,7 @@ void LX200Generic::ISNewSwitch (const char *dev, const char *name, ISState *stat
 	  if (FocusTimerN[0].value > 0)  
 	     FocusTimerNP.s  = IPS_BUSY;
 	  
-	  IDSetSwitch(&FocusMotionSw, NULL);
+	  IDSetSwitch(&FocusMotionSw, nullptr);
 	  return;
 	}
 
@@ -1019,7 +1019,7 @@ void LX200Generic::ISNewSwitch (const char *dev, const char *name, ISState *stat
 	  }
 	  
           SlewModeSw.s = IPS_OK;
-	  IDSetSwitch(&SlewModeSw, NULL);
+	  IDSetSwitch(&SlewModeSw, nullptr);
 	  return;
 	}
 
@@ -1038,7 +1038,7 @@ void LX200Generic::ISNewSwitch (const char *dev, const char *name, ISState *stat
 	    abortSlew();
 	    IUResetSwitches(&MovementSw);
 	    MovementSw.s = IPS_IDLE;
-	    IDSetSwitch(&MovementSw, NULL);
+	    IDSetSwitch(&MovementSw, nullptr);
 	 }
 	 
 	 if (swp == &MovementS[0]) index = 0;
@@ -1133,8 +1133,8 @@ void LX200Generic::ISNewSwitch (const char *dev, const char *name, ISState *stat
 	  
           getTrackFreq(&TrackFreq[0].value);
 	  TrackModeSw.s = IPS_OK;
-	  IDSetNumber(&TrackingFreq, NULL);
-	  IDSetSwitch(&TrackModeSw, NULL);
+	  IDSetNumber(&TrackingFreq, nullptr);
+	  IDSetSwitch(&TrackModeSw, nullptr);
 	  return;
 	}
 
@@ -1154,8 +1154,8 @@ void LX200Generic::handleError(ISwitchVectorProperty *svp, int err, const char *
       PowerSP.s = IPS_BUSY;
       IDSetSwitch(&PowerSP, "Telescope is not responding to commands, will retry in 10 seconds.");
       
-      IDSetSwitch(svp, NULL);
-      IEAddTimer(10000, retryConnection, NULL);
+      IDSetSwitch(svp, nullptr);
+      IEAddTimer(10000, retryConnection, nullptr);
       return;
     }
     
@@ -1186,8 +1186,8 @@ void LX200Generic::handleError(INumberVectorProperty *nvp, int err, const char *
       PowerSP.s = IPS_BUSY;
       IDSetSwitch(&PowerSP, "Telescope is not responding to commands, will retry in 10 seconds.");
       
-      IDSetNumber(nvp, NULL);
-      IEAddTimer(10000, retryConnection, NULL);
+      IDSetNumber(nvp, nullptr);
+      IEAddTimer(10000, retryConnection, nullptr);
       return;
     }
     
@@ -1218,8 +1218,8 @@ void LX200Generic::handleError(ITextVectorProperty *tvp, int err, const char *ms
       PowerSP.s = IPS_BUSY;
       IDSetSwitch(&PowerSP, "Telescope is not responding to commands, will retry in 10 seconds.");
       
-      IDSetText(tvp, NULL);
-      IEAddTimer(10000, retryConnection, NULL);
+      IDSetText(tvp, nullptr);
+      IEAddTimer(10000, retryConnection, nullptr);
       return;
     }
     
@@ -1290,7 +1290,7 @@ void LX200Generic::ISPoll()
 	{
 	        eqNum.np[0].value = lastRA = currentRA;
 		eqNum.np[1].value = lastDEC = currentDEC;
-		IDSetNumber (&eqNum, NULL);
+		IDSetNumber (&eqNum, nullptr);
 	}
         break;
 
@@ -1319,7 +1319,7 @@ void LX200Generic::ISPoll()
 	       IUResetSwitches(&OnCoordSetSw);
 	       OnCoordSetSw.s = IPS_OK;
 	       eqNum.s = IPS_OK;
-	       IDSetNumber (&eqNum, NULL);
+	       IDSetNumber (&eqNum, nullptr);
 
 		switch (currentSet)
 		{
@@ -1345,7 +1345,7 @@ void LX200Generic::ISPoll()
 			
 			IUResetSwitches(&SlewModeSw);
 			SlewModeS[LX200_SLEW_GUIDE].s = ISS_ON;
-			IDSetSwitch(&SlewModeSw, NULL);
+			IDSetSwitch(&SlewModeSw, nullptr);
 			
 			MoveTo(LX200_EAST);
 			IUResetSwitches(&MovementSw);
@@ -1354,7 +1354,7 @@ void LX200Generic::ISPoll()
 			for (int i=0; i < 4; i++)
 			  lastMove[i] = 0;
 			lastMove[LX200_EAST] = 1;
-			IDSetSwitch(&MovementSw, NULL);
+			IDSetSwitch(&MovementSw, nullptr);
 			
 			ParkSP.s = IPS_OK;
 		  	IDSetSwitch (&ParkSP, "Park is complete. Turn off the telescope now.");
@@ -1365,7 +1365,7 @@ void LX200Generic::ISPoll()
 	    {
 		eqNum.np[0].value = currentRA;
 		eqNum.np[1].value = currentDEC;
-		IDSetNumber (&eqNum, NULL);
+		IDSetNumber (&eqNum, nullptr);
 	    }
 	    break;
 
@@ -1390,7 +1390,7 @@ void LX200Generic::ISPoll()
 	{
 	  	eqNum.np[0].value = lastRA  = currentRA;
 		eqNum.np[1].value = lastDEC = currentDEC;
-		IDSetNumber (&eqNum, NULL);
+		IDSetNumber (&eqNum, nullptr);
 	}
         break;
 
@@ -1410,7 +1410,7 @@ void LX200Generic::ISPoll()
 	   eqNum.np[0].value = currentRA;
 	   eqNum.np[1].value = currentDEC;
 
-	   IDSetNumber (&eqNum, NULL);
+	   IDSetNumber (&eqNum, nullptr);
 	     break;
 	 case IPS_OK:
 	   break;
@@ -1444,11 +1444,11 @@ void LX200Generic::ISPoll()
               IUResetSwitches(&FocusMotionSw);
 	      FocusSpeedN[0].value = 0;
 	      
-	      IDSetNumber(&FocusSpeedNP, NULL);
-	      IDSetSwitch(&FocusMotionSw, NULL);
+	      IDSetNumber(&FocusSpeedNP, nullptr);
+	      IDSetSwitch(&FocusMotionSw, nullptr);
 	    }
 	    
-	    IDSetNumber(&FocusTimerNP, NULL);
+	    IDSetNumber(&FocusTimerNP, nullptr);
 	    break;
 	    
 	   case IPS_OK:
@@ -1493,19 +1493,19 @@ void LX200Generic::getBasicData()
   eqNum.np[0].value = targetRA;
   eqNum.np[1].value = targetDEC;
   
-  IDSetNumber (&eqNum, NULL);  
+  IDSetNumber (&eqNum, nullptr);  
   
   SiteNameT[0].text = new char[64];
   
   if ( (err = getSiteName(SiteNameT[0].text, currentSiteNum)) < 0)
     IDMessage(thisDevice, "Failed to get site name from device");
   else
-    IDSetText   (&SiteName, NULL);
+    IDSetText   (&SiteName, nullptr);
   
   if ( (err = getTrackFreq(&TrackFreq[0].value)) < 0)
      IDMessage(thisDevice, "Failed to get tracking frequency from device.");
   else
-     IDSetNumber (&TrackingFreq, NULL);
+     IDSetNumber (&TrackingFreq, nullptr);
      
      
   updateLocation();
@@ -1595,7 +1595,7 @@ int LX200Generic::handleCoordSet()
 	    if (lastSet != LX200_TRACK)
 	      IDSetNumber(&eqNum, "Tracking...");
 	    else
-	      IDSetNumber(&eqNum, NULL);
+	      IDSetNumber(&eqNum, nullptr);
 	  }
 	  lastSet = LX200_TRACK;
       break;
@@ -1635,7 +1635,7 @@ int LX200Generic::handleCoordSet()
 		
 	  ParkSP.s = IPS_BUSY;
 	  eqNum.s = IPS_BUSY;
-	  IDSetNumber(&eqNum, NULL);
+	  IDSetNumber(&eqNum, nullptr);
 	  IDSetSwitch(&ParkSP, "The telescope is slewing to park position. Turn off the telescope after park is complete.");
 	  
 	  break;
@@ -1668,7 +1668,7 @@ int LX200Generic::checkPower(ISwitchVectorProperty *sp)
         IDMessage (thisDevice, "Cannot change property %s while the telescope is offline.", sp->label);
 	
     sp->s = IPS_IDLE;
-    IDSetSwitch(sp, NULL);
+    IDSetSwitch(sp, nullptr);
     return -1;
   }
 
@@ -1688,7 +1688,7 @@ int LX200Generic::checkPower(INumberVectorProperty *np)
         IDMessage (thisDevice, "Cannot change property %s while the telescope is offline.", np->label);
 	
     np->s = IPS_IDLE;
-    IDSetNumber(np, NULL);
+    IDSetNumber(np, nullptr);
     return -1;
   }
 
@@ -1709,7 +1709,7 @@ int LX200Generic::checkPower(ITextVectorProperty *tp)
         IDMessage (thisDevice, "Cannot change property %s while the telescope is offline.", tp->label);
 	
     tp->s = IPS_IDLE;
-    IDSetText(tp, NULL);
+    IDSetText(tp, nullptr);
     return -1;
   }
 
@@ -1769,7 +1769,7 @@ void LX200Generic::slewError(int slewCode)
 {
     OnCoordSetSw.s = IPS_IDLE;
     ParkSP.s = IPS_IDLE;
-    IDSetSwitch(&ParkSP, NULL);
+    IDSetSwitch(&ParkSP, nullptr);
 
     if (slewCode == 1)
 	IDSetSwitch (&OnCoordSetSw, "Object below horizon.");
@@ -1809,7 +1809,7 @@ void LX200Generic::getAlignment()
     }
 
     AlignmentSw.s = IPS_OK;
-    IDSetSwitch (&AlignmentSw, NULL);
+    IDSetSwitch (&AlignmentSw, nullptr);
     IDLog("ACK success %c\n", align);
 }
 
@@ -1843,7 +1843,7 @@ void LX200Generic::updateTime()
   {
     sprintf(UTC[0].text, "%d-%02d-%02dT%02d:%02d:%02d", 1979, 6, 25, 3, 30, 30);
     IDLog("Telescope ISO date and time: %s\n", UTC[0].text);
-    IDSetText(&Time, NULL);
+    IDSetText(&Time, nullptr);
     return;
   }
   
@@ -1993,8 +1993,8 @@ void LX200Generic::updateTime()
   
 
   // Let's send everything to the client
-  IDSetText(&Time, NULL);
-  IDSetNumber(&SDTime, NULL);
+  IDSetText(&Time, nullptr);
+  IDSetNumber(&SDTime, nullptr);
 
 }
 
@@ -2027,7 +2027,7 @@ void LX200Generic::updateLocation()
     IDLog("INDI Longitude: %g\n", geoNum.np[1].value);
   }
   
-  IDSetNumber (&geoNum, NULL);
+  IDSetNumber (&geoNum, nullptr);
 
 }
 
diff --git a/kstars/kstars/indi/lx200gps.cpp b/kstars/kstars/indi/lx200gps.cpp
index 451a7269..5ebe9748 100644
--- a/kstars/kstars/indi/lx200gps.cpp
+++ b/kstars/kstars/indi/lx200gps.cpp
@@ -73,7 +73,7 @@ void changeLX200GPSDeviceName(const char *newName)
 
 LX200GPS::LX200GPS() : LX200_16()
 {
-   IEAddTimer(900000, updateTemp, NULL);
+   IEAddTimer(900000, updateTemp, nullptr);
    
 }
 
@@ -86,16 +86,16 @@ if (dev && strcmp (thisDevice, dev))
 // process parent first
    LX200_16::ISGetProperties(dev);
 
-IDDefSwitch (&GPSPowerSw, NULL);
-IDDefSwitch (&GPSStatusSw, NULL);
-IDDefSwitch (&GPSUpdateSw, NULL);
-IDDefSwitch (&AltDecPecSw, NULL);
-IDDefSwitch (&AzRaPecSw, NULL);
-IDDefSwitch (&SelenSyncSw, NULL);
-IDDefSwitch (&AltDecBackSlashSw, NULL);
-IDDefSwitch (&AzRaBackSlashSw, NULL);
-IDDefNumber (&OTATemp, NULL);
-IDDefSwitch (&OTAUpdateSw, NULL);
+IDDefSwitch (&GPSPowerSw, nullptr);
+IDDefSwitch (&GPSStatusSw, nullptr);
+IDDefSwitch (&GPSUpdateSw, nullptr);
+IDDefSwitch (&AltDecPecSw, nullptr);
+IDDefSwitch (&AzRaPecSw, nullptr);
+IDDefSwitch (&SelenSyncSw, nullptr);
+IDDefSwitch (&AltDecBackSlashSw, nullptr);
+IDDefSwitch (&AzRaBackSlashSw, nullptr);
+IDDefNumber (&OTATemp, nullptr);
+IDDefSwitch (&OTAUpdateSw, nullptr);
 
 }
 
@@ -286,7 +286,7 @@ void LX200GPS::ISNewNumber (const char *dev, const char *name, double values[],
       else
       {
 	OTATemp.s = IPS_OK;
-	IDSetNumber(&OTATemp, NULL);
+	IDSetNumber(&OTATemp, nullptr);
       }
       
       return;
@@ -320,11 +320,11 @@ void LX200GPS::ISNewNumber (const char *dev, const char *name, double values[],
      else
      {
         OTATemp.s = IPS_OK; 
-   	IDSetNumber(&OTATemp, NULL);
+   	IDSetNumber(&OTATemp, nullptr);
      }
    } 
  
-   IEAddTimer(900000, updateTemp, NULL);
+   IEAddTimer(900000, updateTemp, nullptr);
       
  }
 
diff --git a/kstars/kstars/indi/sbigccd.cpp b/kstars/kstars/indi/sbigccd.cpp
index fb35cf59..bfc620a2 100644
--- a/kstars/kstars/indi/sbigccd.cpp
+++ b/kstars/kstars/indi/sbigccd.cpp
@@ -34,12 +34,12 @@
 #include "base64.h"
 
 extern char* me;			/* argv[0] */
-SBIGCam *MainCam = NULL;		/* Main and only camera */
+SBIGCam *MainCam = nullptr;		/* Main and only camera */
 
 /* send client definitions of all properties */
 void ISInit()
 {
-  if (MainCam == NULL)
+  if (!MainCam)
     MainCam = new SBIGCam();
 }
     
@@ -166,17 +166,17 @@ void SBIGCam::ISGetProperties(const char */*dev*/)
 {
   
   /* COMM_GROUP */
-  IDDefSwitch(&PowerSP, NULL);
-  IDDefBLOB(&imageBP, NULL);
+  IDDefSwitch(&PowerSP, nullptr);
+  IDDefBLOB(&imageBP, nullptr);
 
   /* Expose */
-  IDDefSwitch(&FrameTypeSP, NULL);  
-  IDDefNumber(&ExposeTimeNP, NULL);
-  IDDefNumber(&TemperatureNP, NULL);
+  IDDefSwitch(&FrameTypeSP, nullptr);  
+  IDDefNumber(&ExposeTimeNP, nullptr);
+  IDDefNumber(&TemperatureNP, nullptr);
   
   /* Image Group */
-  IDDefNumber(&FrameNP, NULL);
-  IDDefNumber(&BinningNP, NULL);
+  IDDefNumber(&FrameNP, nullptr);
+  IDDefNumber(&BinningNP, nullptr);
   
 }
 
@@ -201,7 +201,7 @@ void SBIGCam::ISNewSwitch (const char */*dev*/, const char *name, ISState *state
 		IUResetSwitches(&FrameTypeSP);
 		IUUpdateSwitches(&FrameTypeSP, states, names, n);
 		FrameTypeSP.s = IPS_OK;
-		IDSetSwitch(&FrameTypeSP, NULL);
+		IDSetSwitch(&FrameTypeSP, nullptr);
 		
 		return;
 	}
@@ -237,7 +237,7 @@ void SBIGCam::ISNewNumber (const char */*dev*/, const char *name, double values[
        
       IDLog("Exposure Time (ms) is: %g\n", ExposeTimeN[0].value);
       
-      handleExposure(NULL);
+      handleExposure(nullptr);
       return;
     } 
     
@@ -284,7 +284,7 @@ void SBIGCam::ISNewNumber (const char */*dev*/, const char *name, double values[
      //cam->m_Width   = (int) FrameN[2].value;
      //cam->m_Height  = (int) FrameN[3].value;
 
-     IDSetNumber(&FrameNP, NULL);
+     IDSetNumber(&FrameNP, nullptr);
       
    } /* end FrameNP */
       
@@ -361,7 +361,7 @@ void SBIGCam::ISPoll()
       } */
       
       ExposeTimeN[0].value --;
-      IDSetNumber(&ExposeTimeNP, NULL);
+      IDSetNumber(&ExposeTimeNP, nullptr);
       break;
 	    
 	case IPS_ALERT:
@@ -380,7 +380,7 @@ void SBIGCam::ISPoll()
 	     if (mtc == 0)
 	     {
 	       //TemperatureN[0].value = cam->read_Temperature();
-	       IDSetNumber(&TemperatureNP, NULL);
+	       IDSetNumber(&TemperatureNP, nullptr);
 	       mtc = 5;
 	     }
 	     break;
@@ -397,7 +397,7 @@ void SBIGCam::ISPoll()
 	     	       
 	      mtc = 1;
               TemperatureN[0].value = ccdTemp;
-	      IDSetNumber(&TemperatureNP, NULL);
+	      IDSetNumber(&TemperatureNP, nullptr);
 	      break;
 	      
 	    case IPS_ALERT:
@@ -431,7 +431,7 @@ void SBIGCam::grabImage()
   
    SBIGFrame.img = (unsigned short *) malloc (img_size);
    
-  if (SBIGFrame.img == NULL)
+  if (!SBIGFrame.img)
   {
     IDMessage(mydev, "Not enough memory to store image.");
     IDLog("Not enough memory to store image.\n");
@@ -453,7 +453,7 @@ void SBIGCam::grabImage()
    if (err)
    {
        free(SBIGFrame.img);
-       IDMessage(mydev, errmsg, NULL);
+       IDMessage(mydev, errmsg, nullptr);
        return;
    }
    
@@ -484,7 +484,7 @@ int SBIGCam::writeFITS(char *filename, char errmsg[])
   nbytes = 0;
   
   hdu = create_fits_header (ofp, width, height, bpp);
-  if (hdu == NULL)
+  if (!hdu)
   {
      sprintf(errmsg, "Error: creating FITS header failed.");
      return (-1);
@@ -526,7 +526,7 @@ int SBIGCam::writeFITS(char *filename, char errmsg[])
  
   /* Success */
  ExposeTimeNP.s = IPS_OK;
- IDSetNumber(&ExposeTimeNP, NULL);
+ IDSetNumber(&ExposeTimeNP, nullptr);
  IDLog("Loading FITS image...\n");
  
  uploadFile(filename);
@@ -556,7 +556,7 @@ void SBIGCam::uploadFile(char * filename)
    fitsData       = (unsigned char *) malloc (sizeof(unsigned char) * totalBytes);
    compressedData = (unsigned char *) malloc (sizeof(unsigned char) * totalBytes + totalBytes / 64 + 16 + 3);
    
-   if (fitsData == NULL || compressedData == NULL)
+   if (!fitsData || !compressedData)
    {
      IDLog("Error! low memory. Unable to initialize fits buffers.\n");
      return;
@@ -564,7 +564,7 @@ void SBIGCam::uploadFile(char * filename)
    
    fitsFile = fopen(filename, "r");
    
-   if (fitsFile == NULL)
+   if (!fitsFile)
     return;
    
    /* #1 Read file from disk */ 
@@ -596,7 +596,7 @@ void SBIGCam::uploadFile(char * filename)
    imageB.size = totalBytes;
    strcpy(imageB.format, ".fits.z");
    imageBP.s = IPS_OK;
-   IDSetBLOB (&imageBP, NULL);
+   IDSetBLOB (&imageBP, nullptr);
    
    free (fitsData);   
    free (compressedData);
@@ -721,7 +721,7 @@ int SBIGCam::checkPowerS(ISwitchVectorProperty *sp)
     	IDMessage (mydev, "Cannot change property %s while the CCD is offline.", sp->label);
 	
     sp->s = IPS_IDLE;
-    IDSetSwitch(sp, NULL);
+    IDSetSwitch(sp, nullptr);
     return -1;
   }
 
@@ -738,7 +738,7 @@ int SBIGCam::checkPowerN(INumberVectorProperty *np)
     	IDMessage (mydev, "Cannot change property %s while the CCD is offline.", np->label);
     
     np->s = IPS_IDLE;
-    IDSetNumber(np, NULL);
+    IDSetNumber(np, nullptr);
     return -1;
   }
 
@@ -756,7 +756,7 @@ int SBIGCam::checkPowerT(ITextVectorProperty *tp)
     	IDMessage (mydev, "Cannot change property %s while the CCD is offline.", tp->label);
 	
     tp->s = IPS_IDLE;
-    IDSetText(tp, NULL);
+    IDSetText(tp, nullptr);
     return -1;
   }
 
@@ -832,7 +832,7 @@ FITS_HDU_LIST * SBIGCam::create_fits_header (FITS_FILE *ofp, uint width, uint he
  snprintf(obsDate, FITS_CARD_SIZE, "DATE-OBS= '%s' /Observation Date UTC", timestamp());
  
  hdulist = fits_add_hdu (ofp);
- if (hdulist == NULL) return (NULL);
+ if (!hdulist) return (nullptr);
 
  hdulist->used.simple = 1;
  hdulist->bitpix = 16;
diff --git a/kstars/kstars/indi/v4ldriver.cpp b/kstars/kstars/indi/v4ldriver.cpp
index edb4b30a..80663bec 100644
--- a/kstars/kstars/indi/v4ldriver.cpp
+++ b/kstars/kstars/indi/v4ldriver.cpp
@@ -25,15 +25,15 @@ V4L_Driver::V4L_Driver()
 {
   V4LFrame = (img_t *) malloc (sizeof(img_t));
  
-  if (V4LFrame == NULL)
+  if (!V4LFrame)
   {
-     IDMessage(NULL, "Error: unable to initialize driver. Low memory.");
+     IDMessage(nullptr, "Error: unable to initialize driver. Low memory.");
      IDLog("Error: unable to initialize driver. Low memory.");
      return;
   }
  
-  camNameT[0].text  = NULL; 
-  PortT[0].text     = NULL;
+  camNameT[0].text  = nullptr; 
+  PortT[0].text     = nullptr;
   IUSaveText(&PortT[0], "/dev/video0");
 
   divider = 128.;
@@ -107,7 +107,7 @@ void V4L_Driver::initProperties(const char *dev)
   fillNumber(&ImageAdjustN[4], "Whiteness", "", "%0.f", 0., 256., 1., 0.);
   fillNumberVector(&ImageAdjustNP, ImageAdjustN, NARRAY(ImageAdjustN), dev, "Image Adjustments", "", IMAGE_GROUP, IP_RW, 60, IPS_IDLE);
   #else
-  fillNumberVector(&ImageAdjustNP, NULL, 0, dev, "Image Adjustments", "", IMAGE_GROUP, IP_RW, 60, IPS_IDLE);
+  fillNumberVector(&ImageAdjustNP, nullptr, 0, dev, "Image Adjustments", "", IMAGE_GROUP, IP_RW, 60, IPS_IDLE);
   #endif 
 
   // We need to setup the BLOB (Binary Large Object) below. Using this property, we can send FITS to our client
@@ -152,23 +152,23 @@ void V4L_Driver::ISGetProperties (const char *dev)
     return;
 
   /* COMM_GROUP */
-  IDDefSwitch(&PowerSP, NULL);
-  IDDefText(&PortTP, NULL);
-  IDDefText(&camNameTP, NULL);
-  IDDefSwitch(&StreamSP, NULL);
+  IDDefSwitch(&PowerSP, nullptr);
+  IDDefText(&PortTP, nullptr);
+  IDDefText(&camNameTP, nullptr);
+  IDDefSwitch(&StreamSP, nullptr);
   #ifndef HAVE_LINUX_VIDEODEV2_H
-  IDDefNumber(&FrameRateNP, NULL);
+  IDDefNumber(&FrameRateNP, nullptr);
   #endif
-  IDDefNumber(&ExposeTimeNP, NULL);
-  IDDefBLOB(&imageBP, NULL);
+  IDDefNumber(&ExposeTimeNP, nullptr);
+  IDDefBLOB(&imageBP, nullptr);
   
   /* Image properties */
-  IDDefSwitch(&CompressSP, NULL);
-  IDDefSwitch(&ImageTypeSP, NULL);
-  IDDefNumber(&FrameNP, NULL);
+  IDDefSwitch(&CompressSP, nullptr);
+  IDDefSwitch(&ImageTypeSP, nullptr);
+  IDDefNumber(&FrameNP, nullptr);
   
   #ifndef HAVE_LINUX_VIDEODEV2_H
-  IDDefNumber(&ImageAdjustNP, NULL);
+  IDDefNumber(&ImageAdjustNP, nullptr);
   #endif
 
 
@@ -199,7 +199,7 @@ void V4L_Driver::ISNewSwitch (const char *dev, const char *name, ISState *states
        IUUpdateSwitches(&CompressSP, states, names, n);
        CompressSP.s = IPS_OK;
        
-       IDSetSwitch(&CompressSP, NULL);
+       IDSetSwitch(&CompressSP, nullptr);
        return;
      }    
 
@@ -210,7 +210,7 @@ void V4L_Driver::ISNewSwitch (const char *dev, const char *name, ISState *states
        IUUpdateSwitches(&ImageTypeSP, states, names, n);
        ImageTypeSP.s = IPS_OK;
        
-       IDSetSwitch(&ImageTypeSP, NULL);
+       IDSetSwitch(&ImageTypeSP, nullptr);
        return;
      }
      
@@ -239,7 +239,7 @@ void V4L_Driver::ISNewSwitch (const char *dev, const char *name, ISState *states
          v4l_base->stop_capturing(errmsg);
        }
        
-       IDSetSwitch(&StreamSP, NULL);
+       IDSetSwitch(&StreamSP, nullptr);
        return;
      }
      
@@ -262,7 +262,7 @@ void V4L_Driver::ISNewText (const char *dev, const char *name, char *texts[], ch
 	   return;
 
           IUSaveText(tp, texts[0]);
-	  IDSetText (&PortTP, NULL);
+	  IDSetText (&PortTP, nullptr);
 	  return;
 	}
 }
@@ -294,7 +294,7 @@ void V4L_Driver::ISNewNumber (const char *dev, const char *name, double values[]
       {
          FrameN[2].value = v4l_base->getWidth();
 	 FrameN[3].value = v4l_base->getHeight();
-         IDSetNumber(&FrameNP, NULL);
+         IDSetNumber(&FrameNP, nullptr);
 	 return;
       }
       else
@@ -323,7 +323,7 @@ void V4L_Driver::ISNewNumber (const char *dev, const char *name, double values[]
      v4l_base->setFPS( (int) FrameRateN[0].value );
      
      FrameRateNP.s = IPS_OK;
-     IDSetNumber(&FrameRateNP, NULL);
+     IDSetNumber(&FrameRateNP, nullptr);
      return;
    }
    #endif
@@ -367,7 +367,7 @@ void V4L_Driver::ISNewNumber (const char *dev, const char *name, double values[]
      #endif
      
      ImageAdjustNP.s = IPS_OK;
-     IDSetNumber(&ImageAdjustNP, NULL);
+     IDSetNumber(&ImageAdjustNP, nullptr);
      return;
    }
    
@@ -385,13 +385,13 @@ void V4L_Driver::ISNewNumber (const char *dev, const char *name, double values[]
 	StreamS[0].s  = ISS_OFF;
 	StreamS[1].s  = ISS_ON;
 	StreamSP.s    = IPS_IDLE;
-	IDSetSwitch(&StreamSP, NULL);
+	IDSetSwitch(&StreamSP, nullptr);
         
 	V4LFrame->expose = 1000;
 
         v4l_base->start_capturing(errmsg);
         ExposeTimeNP.s   = IPS_BUSY;
-	IDSetNumber(&ExposeTimeNP, NULL);
+	IDSetNumber(&ExposeTimeNP, nullptr);
 	
         return;
     } 
@@ -490,7 +490,7 @@ void V4L_Driver::updateStream()
      }
         
    imageBP.s = IPS_OK;
-   IDSetBLOB (&imageBP, NULL);
+   IDSetBLOB (&imageBP, nullptr);
    
    #ifndef HAVE_LINUX_VIDEODEV2_H
       char errmsg[ERRMSGSIZ];
@@ -519,7 +519,7 @@ int V4L_Driver::grabImage()
    err = writeFITS(filename, errmsg);
    if (err)
    {
-       IDMessage(device_name, errmsg, NULL);
+       IDMessage(device_name, errmsg, nullptr);
        return -1;
    }
    
@@ -547,7 +547,7 @@ int V4L_Driver::writeFITS(const char * filename, char errmsg[])
   nbytes = 0;
   
   hdu = create_fits_header (ofp, width, height, bpp);
-  if (hdu == NULL)
+  if (!hdu)
   {
      snprintf(errmsg, ERRMSG_SIZE, "Error: creating FITS header failed.");
      return (-1);
@@ -581,7 +581,7 @@ int V4L_Driver::writeFITS(const char * filename, char errmsg[])
  
   /* Success */
  ExposeTimeNP.s = IPS_OK;
- IDSetNumber(&ExposeTimeNP, NULL);
+ IDSetNumber(&ExposeTimeNP, nullptr);
  
  uploadFile(filename);
   
@@ -611,7 +611,7 @@ void V4L_Driver::uploadFile(const char * filename)
 
    fitsFile = fopen(filename, "r");
    
-   if (fitsFile == NULL)
+   if (!fitsFile)
     return;
    
    /* #1 Read file from disk */ 
@@ -657,7 +657,7 @@ void V4L_Driver::uploadFile(const char * filename)
    }
    
    imageBP.s = IPS_OK;
-   IDSetBLOB (&imageBP, NULL);
+   IDSetBLOB (&imageBP, nullptr);
    
    delete (fitsData);
 } 
@@ -701,7 +701,7 @@ void V4L_Driver::connectCamera()
       PowerSP.s = IPS_IDLE;
       
       free(V4LFrame->compressedFrame);
-      V4LFrame->compressedFrame = NULL;
+      V4LFrame->compressedFrame = nullptr;
       v4l_base->disconnectCam();
       
       IDSetSwitch(&PowerSP, "Video4Linux Generic Device is offline.");
@@ -729,10 +729,10 @@ void V4L_Driver::getBasicData()
   FrameN[3].max = ymax;
   
   IUUpdateMinMax(&FrameNP);
-  IDSetNumber(&FrameNP, NULL);
+  IDSetNumber(&FrameNP, nullptr);
   
   IUSaveText(&camNameT[0], v4l_base->getDeviceName());
-  IDSetText(&camNameTP, NULL);
+  IDSetText(&camNameTP, nullptr);
 
    #ifndef HAVE_LINUX_VIDEODEV2_H
      updateV4L1Controls();
@@ -750,7 +750,7 @@ void V4L_Driver::updateV4L2Controls()
       ImageAdjustNP.nnp = 0;
       
    if (v4l_base->queryINTControls(&ImageAdjustNP) > 0)
-      IDDefNumber(&ImageAdjustNP, NULL);
+      IDDefNumber(&ImageAdjustNP, nullptr);
 }
 #else
 void V4L_Driver::updateV4L1Controls()
@@ -769,7 +769,7 @@ void V4L_Driver::updateV4L1Controls()
   ImageAdjustN[4].value = v4l_base->getWhiteness() / divider;
 
   ImageAdjustNP.s = IPS_OK;
-  IDSetNumber(&ImageAdjustNP, NULL);
+  IDSetNumber(&ImageAdjustNP, nullptr);
   
 }
 #endif
@@ -784,7 +784,7 @@ int V4L_Driver::checkPowerS(ISwitchVectorProperty *sp)
         IDMessage (device_name, "Cannot change property %s while the camera is offline.", sp->label);
     
     sp->s = IPS_IDLE;
-    IDSetSwitch(sp, NULL);
+    IDSetSwitch(sp, nullptr);
     return -1;
   }
 
@@ -802,7 +802,7 @@ int V4L_Driver::checkPowerN(INumberVectorProperty *np)
         IDMessage (device_name, "Cannot change property %s while the camera is offline.", np->label);
 	
     np->s = IPS_IDLE;
-    IDSetNumber(np, NULL);
+    IDSetNumber(np, nullptr);
     return -1;
   }
 
@@ -820,7 +820,7 @@ int V4L_Driver::checkPowerT(ITextVectorProperty *tp)
         IDMessage (device_name, "Cannot change property %s while the camera is offline.", tp->label);
 	
     tp->s = IPS_IDLE;
-    IDSetText(tp, NULL);
+    IDSetText(tp, nullptr);
     return -1;
   }
 
@@ -847,7 +847,7 @@ FITS_HDU_LIST * V4L_Driver::create_fits_header (FITS_FILE *ofp, uint width, uint
  snprintf(obsDate, 80, "DATE-OBS= '%s' /Observation Date UTC", ts);
 
  hdulist = fits_add_hdu (ofp);
- if (hdulist == NULL) return (NULL);
+ if (!hdulist) return (nullptr);
 
  hdulist->used.simple = 1;
  hdulist->bitpix = 8;
diff --git a/kstars/kstars/indi/v4lphilips.cpp b/kstars/kstars/indi/v4lphilips.cpp
index cc15d43d..d55d4294 100644
--- a/kstars/kstars/indi/v4lphilips.cpp
+++ b/kstars/kstars/indi/v4lphilips.cpp
@@ -97,28 +97,28 @@ void V4L_Philips::ISGetProperties (const char *dev)
    #endif
 
   /* COMM_GROUP */
-  IDDefSwitch(&PowerSP, NULL);
-  IDDefText(&PortTP, NULL);
-  IDDefText(&camNameTP, NULL);
-  IDDefSwitch(&StreamSP, NULL);
-  IDDefNumber(&FrameRateNP, NULL);
-  IDDefNumber(&ExposeTimeNP, NULL);
-  IDDefNumber(&ShutterSpeedNP, NULL);
-  IDDefBLOB(&imageBP, NULL);
+  IDDefSwitch(&PowerSP, nullptr);
+  IDDefText(&PortTP, nullptr);
+  IDDefText(&camNameTP, nullptr);
+  IDDefSwitch(&StreamSP, nullptr);
+  IDDefNumber(&FrameRateNP, nullptr);
+  IDDefNumber(&ExposeTimeNP, nullptr);
+  IDDefNumber(&ShutterSpeedNP, nullptr);
+  IDDefBLOB(&imageBP, nullptr);
   
   /* Image Groups */
-  IDDefSwitch(&CompressSP, NULL);
-  IDDefSwitch(&ImageTypeSP, NULL);
-  IDDefNumber(&FrameNP, NULL);
-  IDDefNumber(&ImageAdjustNP, NULL);
+  IDDefSwitch(&CompressSP, nullptr);
+  IDDefSwitch(&ImageTypeSP, nullptr);
+  IDDefNumber(&FrameNP, nullptr);
+  IDDefNumber(&ImageAdjustNP, nullptr);
   
   /* Image Control */
-  IDDefSwitch(&WhiteBalanceModeSP, NULL);
-  IDDefNumber(&WhiteBalanceNP, NULL);
-  IDDefSwitch(&BackLightSP, NULL);
-  IDDefSwitch(&AntiFlickerSP, NULL);
-  IDDefSwitch(&NoiseReductionSP, NULL);
-  IDDefSwitch(&CamSettingSP, NULL);
+  IDDefSwitch(&WhiteBalanceModeSP, nullptr);
+  IDDefNumber(&WhiteBalanceNP, nullptr);
+  IDDefSwitch(&BackLightSP, nullptr);
+  IDDefSwitch(&AntiFlickerSP, nullptr);
+  IDDefSwitch(&NoiseReductionSP, nullptr);
+  IDDefSwitch(&CamSettingSP, nullptr);
 
 }
 
@@ -154,7 +154,7 @@ void V4L_Philips::ISNewSwitch (const char *dev, const char *name, ISState *state
 	 }
 	 
 	 AntiFlickerSP.s = IPS_OK;
-	 IDSetSwitch(&AntiFlickerSP, NULL);
+	 IDSetSwitch(&AntiFlickerSP, nullptr);
        }
        else
        {
@@ -166,7 +166,7 @@ void V4L_Philips::ISNewSwitch (const char *dev, const char *name, ISState *state
 	   return;
 	 }
 	 
-	 IDSetSwitch(&AntiFlickerSP, NULL);
+	 IDSetSwitch(&AntiFlickerSP, nullptr);
        }
        
        return;
@@ -194,7 +194,7 @@ void V4L_Philips::ISNewSwitch (const char *dev, const char *name, ISState *state
 	 }
 	 
 	 BackLightSP.s = IPS_OK;
-	 IDSetSwitch(&BackLightSP, NULL);
+	 IDSetSwitch(&BackLightSP, nullptr);
        }
        else
        {
@@ -206,7 +206,7 @@ void V4L_Philips::ISNewSwitch (const char *dev, const char *name, ISState *state
 	   return;
 	 }
 	 
-	 IDSetSwitch(&BackLightSP, NULL);
+	 IDSetSwitch(&BackLightSP, nullptr);
        }
        
        return;
@@ -240,7 +240,7 @@ void V4L_Philips::ISNewSwitch (const char *dev, const char *name, ISState *state
        
        NoiseReductionSP.s = IPS_OK;
        
-       IDSetSwitch(&NoiseReductionSP, NULL);
+       IDSetSwitch(&NoiseReductionSP, nullptr);
        return;
     }
     
@@ -322,7 +322,7 @@ void V4L_Philips::ISNewSwitch (const char *dev, const char *name, ISState *state
 	}
 	     
 	WhiteBalanceModeSP.s = IPS_OK;
-	IDSetSwitch(&WhiteBalanceModeSP, NULL);
+	IDSetSwitch(&WhiteBalanceModeSP, nullptr);
 	return;
 	
      }
@@ -417,7 +417,7 @@ void V4L_Philips::ISNewNumber (const char *dev, const char *name, double values[
      }
        
      FrameRateNP.s = IPS_OK;
-     IDSetNumber(&FrameRateNP, NULL);
+     IDSetNumber(&FrameRateNP, nullptr);
      return;
    }
   
@@ -436,7 +436,7 @@ void V4L_Philips::ISNewNumber (const char *dev, const char *name, double values[
      
      ShutterSpeedN[0].value = values[0];
      ShutterSpeedNP.s = IPS_OK;
-     IDSetNumber(&ShutterSpeedNP, NULL);
+     IDSetNumber(&ShutterSpeedNP, nullptr);
      return;
   }
   
@@ -474,8 +474,8 @@ void V4L_Philips::ISNewNumber (const char *dev, const char *name, double values[
      WhiteBalanceModeS[1].s = ISS_ON;
      WhiteBalanceModeSP.s   = IPS_OK;
      WhiteBalanceNP.s = IPS_OK;
-     IDSetSwitch(&WhiteBalanceModeSP, NULL);
-     IDSetNumber(&WhiteBalanceNP, NULL);
+     IDSetSwitch(&WhiteBalanceModeSP, nullptr);
+     IDSetNumber(&WhiteBalanceNP, nullptr);
      return;
    }
 
@@ -507,11 +507,11 @@ void V4L_Philips::getBasicData()
   FrameN[3].min = ymin;
   FrameN[3].max = ymax;
 
-  IDSetNumber(&FrameNP, NULL);
+  IDSetNumber(&FrameNP, nullptr);
   IUUpdateMinMax(&FrameNP);
   
   IUSaveText(&camNameT[0], v4l_pwc->getDeviceName());
-  IDSetText(&camNameTP, NULL);
+  IDSetText(&camNameTP, nullptr);
   
   IDLog("Raw values\n Contrast: %d \n Brightness %d \n Color %d \n Sharpness %d \n Gain %d \n Gamma %d \n", v4l_pwc->getContrast(), v4l_pwc->getBrightness(), v4l_pwc->getColor(), v4l_pwc->getSharpness(), v4l_pwc->getGain(), v4l_pwc->getGama());
   
@@ -525,7 +525,7 @@ void V4L_Philips::getBasicData()
   else
   {
     FrameRateNP.s = IPS_OK;
-    IDSetNumber(&FrameRateNP, NULL);
+    IDSetNumber(&FrameRateNP, nullptr);
   }
   
   result = v4l_pwc->getBackLight();
@@ -539,7 +539,7 @@ void V4L_Philips::getBasicData()
    BackLightS[0].s = ISS_OFF;
    BackLightS[1].s = ISS_ON;
   }
-  IDSetSwitch(&BackLightSP, NULL);
+  IDSetSwitch(&BackLightSP, nullptr);
   
   result = v4l_pwc->getFlicker();
   if (result)
@@ -552,12 +552,12 @@ void V4L_Philips::getBasicData()
     AntiFlickerS[0].s = ISS_OFF;
     AntiFlickerS[1].s = ISS_ON;
   }
-  IDSetSwitch(&AntiFlickerSP, NULL);
+  IDSetSwitch(&AntiFlickerSP, nullptr);
   
   index = v4l_pwc->getNoiseRemoval();
   IUResetSwitches(&NoiseReductionSP);
   NoiseReductionS[index].s = ISS_ON;
-  IDSetSwitch(&NoiseReductionSP, NULL);
+  IDSetSwitch(&NoiseReductionSP, nullptr);
   
   index = v4l_pwc->getWhiteBalance();
   IUResetSwitches(&WhiteBalanceModeSP);
@@ -579,7 +579,7 @@ void V4L_Philips::getBasicData()
      WhiteBalanceModeS[3].s = ISS_ON;
      break;
   }
-  IDSetSwitch(&WhiteBalanceModeSP, NULL);    
+  IDSetSwitch(&WhiteBalanceModeSP, nullptr);    
   
 }
 #endif
@@ -602,7 +602,7 @@ void V4L_Philips::updateV4L1Controls()
   ImageAdjustN[5].value = v4l_pwc->getGama() / 256.;
        
   ImageAdjustNP.s = IPS_OK;
-  IDSetNumber(&ImageAdjustNP, NULL);
+  IDSetNumber(&ImageAdjustNP, nullptr);
 
 
 }
diff --git a/kstars/kstars/indi/webcam/PPort.cpp b/kstars/kstars/indi/webcam/PPort.cpp
index b222a6f6..dabd9f81 100644
--- a/kstars/kstars/indi/webcam/PPort.cpp
+++ b/kstars/kstars/indi/webcam/PPort.cpp
@@ -26,7 +26,7 @@
 
 using namespace std;
 
-#define TEST_VALIDITY {if (this==NULL) return false;}
+#define TEST_VALIDITY {if (!this) return false;}
 
 PPort::PPort() {
    reset();
@@ -40,9 +40,9 @@ PPort::PPort(int ioPort) {
 void PPort::reset() {
    bitArray=0;
    for (int i=0;i<8;++i) {
-      assignedBit[i]=NULL;
+      assignedBit[i]=nullptr;
    }
-   currentPort=NULL;
+   currentPort=nullptr;
 }
 
 bool PPort::setPort(int ioPort) {
@@ -85,7 +85,7 @@ bool  PPort::setBit(const void * ID,int bit,bool stat) {
 
 bool PPort::registerBit(const void * ID,int bit) {
    TEST_VALIDITY;
-   if (assignedBit[bit] || currentPort==NULL) {
+   if (assignedBit[bit] || currentPort==nullptr) {
       return false;
    }
    assignedBit[bit]=ID;
@@ -97,7 +97,7 @@ bool PPort::unregisterBit(const void * ID,int bit) {
    if (assignedBit[bit] != ID) {
       return false;
    }
-   assignedBit[bit]=NULL;
+   assignedBit[bit]=nullptr;
    return true;
 }
 
diff --git a/kstars/kstars/indi/webcam/port.cpp b/kstars/kstars/indi/webcam/port.cpp
index 74d7196f..30fc9d3a 100644
--- a/kstars/kstars/indi/webcam/port.cpp
+++ b/kstars/kstars/indi/webcam/port.cpp
@@ -87,7 +87,7 @@ port_t::port_t(int iport) {
   }
 #endif /* !HAVE_IOPERM */
 #elif defined(FREEBSD)
-  if ((devio = fopen("/dev/io", "r+")) == NULL) {
+  if (!(devio = fopen("/dev/io", "r+"))) {
     perror("fopen /dev/io");
     return;
   }
@@ -129,7 +129,7 @@ port_t::~port_t(void) {
       perror("ioperm()");
 #endif /* !HAVE_IOPERM */
 #elif defined(FREEBSD)
-  if (devio != NULL)
+  if (devio)
     fclose(devio);
 #elif defined(SOLARIS)
   close(iopfd);
diff --git a/kstars/kstars/indi/webcam/v4l1_base.cpp b/kstars/kstars/indi/webcam/v4l1_base.cpp
index 12007870..48034308 100644
--- a/kstars/kstars/indi/webcam/v4l1_base.cpp
+++ b/kstars/kstars/indi/webcam/v4l1_base.cpp
@@ -50,11 +50,11 @@ V4L1_Base::V4L1_Base()
    //selectCallBackID = -1;
    //timerCallBackID  = -1;
 
-   YBuf       = NULL;
-   UBuf       = NULL;
-   VBuf       = NULL;
-   colorBuffer= NULL;
-   buffer_start=NULL;
+   YBuf       = nullptr;
+   UBuf       = nullptr;
+   VBuf       = nullptr;
+   colorBuffer= nullptr;
+   buffer_start=nullptr;
 
 }
 
@@ -72,7 +72,7 @@ int V4L1_Base::connectCam(const char * devpath, char *errmsg)
 {
    options= (haveBrightness|haveContrast|haveHue|haveColor|haveWhiteness);
 
-   buffer_start=NULL;
+   buffer_start=nullptr;
    frameRate=10;
    fd=-1;
    //usingTimer = false;
@@ -143,7 +143,7 @@ void V4L1_Base::disconnectCam()
    delete YBuf;
    delete UBuf;
    delete VBuf;
-   YBuf = UBuf = VBuf = NULL;
+   YBuf = UBuf = VBuf = nullptr;
    
    if (selectCallBackID != -1)
      rmCallback(selectCallBackID);
@@ -463,21 +463,21 @@ int V4L1_Base::mmapInit()
 
    mmap_sync_buffer=-1;
    mmap_capture_buffer=-1;
-   buffer_start=NULL;
+   buffer_start=nullptr;
 
    if (ioctl(fd, VIDIOCGMBUF, &mmap_buffer)) {
       // mmap not supported
       return -1;
    }
 
-   buffer_start = (unsigned char *) mmap (NULL, mmap_buffer.size, PROT_READ, MAP_SHARED, fd, 0);
+   buffer_start = (unsigned char *) mmap (nullptr, mmap_buffer.size, PROT_READ, MAP_SHARED, fd, 0);
 
    if (buffer_start == MAP_FAILED)
     {
       cerr << "mmap" << endl;
       mmap_buffer.size = 0;
       mmap_buffer.frames = 0;
-      buffer_start=NULL;
+      buffer_start=nullptr;
       return -1;
    }
 
diff --git a/kstars/kstars/indi/webcam/v4l1_pwc.cpp b/kstars/kstars/indi/webcam/v4l1_pwc.cpp
index 9f644885..7a770bb3 100644
--- a/kstars/kstars/indi/webcam/v4l1_pwc.cpp
+++ b/kstars/kstars/indi/webcam/v4l1_pwc.cpp
@@ -46,11 +46,11 @@ V4L1_PWC::V4L1_PWC()
    fd=-1;
    streamActive = true;
 
-   YBuf       = NULL;
-   UBuf       = NULL;
-   VBuf       = NULL;
-   colorBuffer= NULL;
-   buffer_start=NULL;
+   YBuf       = nullptr;
+   UBuf       = nullptr;
+   VBuf       = nullptr;
+   colorBuffer= nullptr;
+   buffer_start=nullptr;
 }
 
 V4L1_PWC::~V4L1_PWC()
@@ -66,7 +66,7 @@ int V4L1_PWC::connectCam(const char * devpath, char *errmsg)
    frameRate=15;
    fd=-1;
    streamActive = true;
-   buffer_start=NULL;
+   buffer_start=nullptr;
    
    if (-1 == (fd=open(devpath,
                            O_RDONLY | ((options & ioNoBlock) ? O_NONBLOCK : 0)))) {
diff --git a/kstars/kstars/indi/webcam/v4l2_base.cpp b/kstars/kstars/indi/webcam/v4l2_base.cpp
index a998fcc9..9a90de5f 100644
--- a/kstars/kstars/indi/webcam/v4l2_base.cpp
+++ b/kstars/kstars/indi/webcam/v4l2_base.cpp
@@ -55,15 +55,15 @@ V4L2_Base::V4L2_Base()
 
    io		= IO_METHOD_MMAP;
    fd           = -1;
-   buffers      = NULL;
+   buffers      = nullptr;
    n_buffers    = 0;
 
-   YBuf         = NULL;
-   UBuf         = NULL;
-   VBuf         = NULL;
-   colorBuffer  = NULL;
-   rgb24_buffer = NULL;
-   callback     = NULL;
+   YBuf         = nullptr;
+   UBuf         = nullptr;
+   VBuf         = nullptr;
+   colorBuffer  = nullptr;
+   rgb24_buffer = nullptr;
+   callback     = nullptr;
 
 }
 
@@ -120,7 +120,7 @@ void V4L2_Base::disconnectCam()
    delete YBuf;
    delete UBuf;
    delete VBuf;
-   YBuf = UBuf = VBuf = NULL;
+   YBuf = UBuf = VBuf = nullptr;
    
    if (selectCallBackID != -1)
      rmCallback(selectCallBackID);
@@ -457,7 +457,7 @@ int V4L2_Base::init_mmap(char *errmsg)
 
                 buffers[n_buffers].length = buf.length;
                 buffers[n_buffers].start =
-                        mmap (NULL /* start anywhere */,
+                        mmap (nullptr /* start anywhere */,
                               buf.length,
                               PROT_READ | PROT_WRITE /* required */,
                               MAP_SHARED /* recommended */,
@@ -729,11 +729,11 @@ char * V4L2_Base::getDeviceName()
 
 void V4L2_Base::allocBuffers()
 {
-   delete (YBuf); YBuf = NULL;
-   delete (UBuf); UBuf = NULL;
-   delete (VBuf); VBuf = NULL;
-   delete (colorBuffer); colorBuffer = NULL;
-   delete (rgb24_buffer); rgb24_buffer = NULL;
+   delete (YBuf); YBuf = nullptr;
+   delete (UBuf); UBuf = nullptr;
+   delete (VBuf); VBuf = nullptr;
+   delete (colorBuffer); colorBuffer = nullptr;
+   delete (rgb24_buffer); rgb24_buffer = nullptr;
    
    YBuf= new unsigned char[ fmt.fmt.pix.width * fmt.fmt.pix.height];
    UBuf= new unsigned char[ fmt.fmt.pix.width * fmt.fmt.pix.height];
@@ -1067,8 +1067,8 @@ int  V4L2_Base::queryINTControls(INumberVectorProperty *nvp)
    struct v4l2_control control;
    char errmsg[ERRMSGSIZ];
    CLEAR(queryctrl);
-   INumber *numbers = NULL;
-   unsigned int *num_ctrls = NULL;
+   INumber *numbers = nullptr;
+   unsigned int *num_ctrls = nullptr;
    int nnum=0;
 
   for (queryctrl.id = V4L2_CID_BASE; queryctrl.id < V4L2_CID_LASTP1; queryctrl.id++)
@@ -1083,10 +1083,10 @@ int  V4L2_Base::queryINTControls(INumberVectorProperty *nvp)
 
                 if (queryctrl.type == V4L2_CTRL_TYPE_INTEGER)
                 {
-                   numbers = (numbers == NULL) ? (INumber *) malloc (sizeof(INumber)) :
+                   numbers = !numbers ? (INumber *) malloc (sizeof(INumber)) :
                                                  (INumber *) realloc (numbers, (nnum+1) * sizeof (INumber));
 
-                   num_ctrls = (num_ctrls == NULL) ? (unsigned int *) malloc  (sizeof (unsigned int)) :
+                   num_ctrls = !num_ctrls ? (unsigned int *) malloc  (sizeof (unsigned int)) :
                                                      (unsigned int *) realloc (num_ctrls, (nnum+1) * sizeof (unsigned int));
 
                    strncpy(numbers[nnum].name, ((char *) queryctrl.name) , MAXINDINAME);
@@ -1128,10 +1128,10 @@ int  V4L2_Base::queryINTControls(INumberVectorProperty *nvp)
 
                 if (queryctrl.type == V4L2_CTRL_TYPE_INTEGER)
                 {
-                   numbers = (numbers == NULL) ? (INumber *) malloc (sizeof(INumber)) :
+                   numbers = !numbers ? (INumber *) malloc (sizeof(INumber)) :
                                                  (INumber *) realloc (numbers, (nnum+1) * sizeof (INumber));
 
-                   num_ctrls = (num_ctrls == NULL) ? (unsigned int *) malloc  (sizeof (unsigned int)) :
+                   num_ctrls = !num_ctrls ? (unsigned int *) malloc  (sizeof (unsigned int)) :
                                                      (unsigned int *) realloc (num_ctrls, (nnum+1) * sizeof (unsigned int));
 
                    strncpy(numbers[nnum].name, ((char *) queryctrl.name) , MAXINDINAME);
diff --git a/kstars/kstars/indidevice.cpp b/kstars/kstars/indidevice.cpp
index 1fb309f4..1d893070 100644
--- a/kstars/kstars/indidevice.cpp
+++ b/kstars/kstars/indidevice.cpp
@@ -107,7 +107,7 @@ INDI_D::INDI_D(INDIMenu *menuParent, DeviceManager *parentManager, TQString inNa
 
  stdDev 	= new INDIStdDevice(this, parent->ksw);
 
- curGroup       = NULL;
+ curGroup       = nullptr;
 
  INDIStdSupport = false;
 
@@ -119,9 +119,9 @@ INDI_D::~INDI_D()
    delete(deviceVBox);
    delete (stdDev);
    free (dataBuffer);
-   dataBuffer = NULL;
-   deviceVBox = NULL;
-   stdDev     = NULL;
+   dataBuffer = nullptr;
+   deviceVBox = nullptr;
+   stdDev     = nullptr;
 }
 
 void INDI_D::registerProperty(INDI_P *pp)
@@ -257,7 +257,7 @@ int INDI_D::setTextValue (INDI_P *pp, XMLEle *root, char errmsg[])
 	char iNumber[32];
 	double min, max;
 
-	for (ep = nextXMLEle (root, 1); ep != NULL; ep = nextXMLEle (root, 0))
+	for (ep = nextXMLEle (root, 1); ep; ep = nextXMLEle (root, 0))
 	{
 	    if (strcmp (tagXMLEle(ep), "oneText") && strcmp(tagXMLEle(ep), "oneNumber"))
 		continue;
@@ -353,12 +353,12 @@ int INDI_D::setLabelState (INDI_P *pp, XMLEle *root, char errmsg[])
 	unsigned i=0;
 	XMLEle *ep;
 	XMLAtt *ap;
-        INDI_E *lp = NULL;
+        INDI_E *lp = nullptr;
 	int islight;
 	PState state;
 
 	/* for each child element */
-	for (ep = nextXMLEle (root, 1), i=0; ep != NULL; ep = nextXMLEle (root, 0), i++)
+	for (ep = nextXMLEle (root, 1), i=0; ep; ep = nextXMLEle (root, 0), i++)
 	{
 
 	    /* only using light and switch */
@@ -483,7 +483,7 @@ int INDI_D::processBlob(INDI_E *blobEL, XMLEle *ep, char errmsg[])
   uLongf dataSize=0;
   TQString dataFormat;
   char *baseBuffer;
-  unsigned char *blobBuffer(NULL);
+  unsigned char *blobBuffer(nullptr);
   bool iscomp(false);
 
   ap = findXMLAtt(ep, "size");
@@ -576,33 +576,33 @@ bool INDI_D::isOn()
 
 INDI_P * INDI_D::addProperty (XMLEle *root, char errmsg[])
 {
-	INDI_P *pp = NULL;
-	INDI_G *pg = NULL;
-	XMLAtt *ap = NULL;
+	INDI_P *pp = nullptr;
+	INDI_G *pg = nullptr;
+	XMLAtt *ap = nullptr;
 
         // Search for group tag
 	ap = findAtt (root, "group", errmsg);
         if (!ap)
         {
                 kdDebug() << TQString(errmsg) << endl;
-                return NULL;
+                return nullptr;
         }
 	// Find an existing group, if none found, create one
         pg = findGroup(TQString(valuXMLAtt(ap)), 1, errmsg);
 
 	if (!pg)
-	 return NULL;
+	 return nullptr;
 
         /* get property name and add new property to dp */
 	ap = findAtt (root, "name", errmsg);
-	if (ap == NULL)
-	    return NULL;
+	if (!ap)
+	    return nullptr;
 
 	if (findProp (valuXMLAtt(ap)))
 	{
 	    snprintf (errmsg, ERRMSG_SIZE, "INDI: <%.64s %.64s %.64s> already exists.\n", tagXMLEle(root),
 							name.ascii(), valuXMLAtt(ap));
-	    return NULL;
+	    return nullptr;
 	}
 
 	/* Remove Vertical spacer from group layout, this is done everytime
@@ -617,7 +617,7 @@ INDI_P * INDI_D::addProperty (XMLEle *root, char errmsg[])
 	if (!ap)
 	{
 	    delete(pp);
-	    return (NULL);
+	    return (nullptr);
 	}
 
 	if (crackLightState (valuXMLAtt(ap), &pp->state) < 0)
@@ -625,11 +625,11 @@ INDI_P * INDI_D::addProperty (XMLEle *root, char errmsg[])
 	    snprintf (errmsg, ERRMSG_SIZE, "INDI: <%.64s> bogus state %.64s for %.64s %.64s",
 				tagXMLEle(root), valuXMLAtt(ap), pp->pg->dp->name.ascii(), pp->name.ascii());
 	    delete(pp);
-	    return (NULL);
+	    return (nullptr);
 	}
 
 	/* init timeout */
-	ap = findAtt (root, "timeout", NULL);
+	ap = findAtt (root, "timeout", nullptr);
 	/* default */
 	pp->timeout = ap ? atof(valuXMLAtt(ap)) : 0;
 
@@ -649,14 +649,14 @@ INDI_P * INDI_D::findProp (TQString name)
 	    if (name == gl.at(i)->pl.at(j)->name)
 		return (gl.at(i)->pl.at(j));
 
-	return NULL;
+	return nullptr;
 }
 
 INDI_G *  INDI_D::findGroup (TQString grouptag, int create, char errmsg[])
 {
   INDI_G *ig;
 
-  for (ig = gl.first(); ig != NULL; ig = gl.next() )
+  for (ig = gl.first(); ig; ig = gl.next() )
     if (ig->name == grouptag)
     {
       curGroup = ig;
@@ -675,7 +675,7 @@ INDI_G *  INDI_D::findGroup (TQString grouptag, int create, char errmsg[])
   }
 
   snprintf (errmsg, ERRMSG_SIZE, "INDI: group %.64s not found in %.64s", grouptag.ascii(), name.ascii());
-  return NULL;
+  return nullptr;
 }
 
 
@@ -766,13 +766,13 @@ int INDI_D::crackSwitchState (char *name, PState *psp)
 
 int INDI_D::buildTextGUI(XMLEle *root, char errmsg[])
 {
-       	INDI_P *pp = NULL;
+       	INDI_P *pp = nullptr;
 	PPerm p;
 
 	/* build a new property */
 	pp = addProperty (root, errmsg);
 
-	if (pp == NULL)
+	if (!pp)
 	    return (-1);
 
 	/* get the permission, it will determine layout issues */
@@ -802,13 +802,13 @@ int INDI_D::buildTextGUI(XMLEle *root, char errmsg[])
  */
 int INDI_D::buildNumberGUI (XMLEle *root, char *errmsg)
 {
-        INDI_P *pp = NULL;
+        INDI_P *pp = nullptr;
         PPerm p;
 
         /* build a new property */
 	pp = addProperty (root, errmsg);
 
-	if (pp == NULL)
+	if (!pp)
 	    return (-1);
 
 	/* get the permission, it will determine layout issues */
@@ -860,7 +860,7 @@ int INDI_D::buildSwitchesGUI (XMLEle *root, char errmsg[])
 	if (!strcmp (valuXMLAtt(ap), "OneOfMany") || !strcmp (valuXMLAtt(ap), "AtMostOne"))
 	{
 	    /* count number of switches -- make menu if too many */
-	    for ( ep = nextXMLEle(root, 1) , n = 0 ; ep != NULL; ep = nextXMLEle(root, 0))
+	    for ( ep = nextXMLEle(root, 1) , n = 0 ; ep; ep = nextXMLEle(root, 0))
 		if (!strcmp (tagXMLEle(ep), "defSwitch"))
 		    n++;
 
@@ -982,16 +982,16 @@ INDI_E * INDI_D::findElem(TQString name)
   INDI_P *prop;
   INDI_E *el;
 
-  for (grp = gl.first(); grp != NULL; grp = gl.next())
+  for (grp = gl.first(); grp; grp = gl.next())
 	{
-	   for (prop = grp->pl.first(); prop != NULL; prop = grp->pl.next())
+	   for (prop = grp->pl.first(); prop; prop = grp->pl.next())
 	   {
 	     el = prop->findElement(name);
-	     if (el != NULL) return el;
+	     if (el) return el;
 	   }
 	 }
 
-  return NULL;
+  return nullptr;
 
 }
 
diff --git a/kstars/kstars/indidriver.cpp b/kstars/kstars/indidriver.cpp
index 1241a322..2f09574e 100644
--- a/kstars/kstars/indidriver.cpp
+++ b/kstars/kstars/indidriver.cpp
@@ -53,8 +53,8 @@ INDIDriver::INDIDriver(TQWidget *parent) : devManager( parent )
 {
 
     lastPort = 7263;
-    lastGroup = NULL;
-    lastDevice = NULL;
+    lastGroup = nullptr;
+    lastDevice = nullptr;
 
     ksw = (KStars *) parent;
 
@@ -94,7 +94,7 @@ INDIDriver::INDIDriver(TQWidget *parent) : devManager( parent )
 
   }
 
-  lastGroup = NULL;
+  lastGroup = nullptr;
 
   TQObject::connect(addB, TQ_SIGNAL(clicked()), this, TQ_SLOT(addINDIHost()));
   TQObject::connect(modifyB, TQ_SIGNAL(clicked()), this, TQ_SLOT(modifyINDIHost()));
@@ -149,7 +149,7 @@ for (uint i=0; i < ksw->data()->INDIHostsList.count(); i++)
       affectedItem = localListView->findItem(devices[i]->label, 0);
       if (!affectedItem) return;
       affectedItem->setPixmap(1, stopPix);
-      affectedItem->setPixmap(2, NULL);
+      affectedItem->setPixmap(2, nullptr);
       affectedItem->setText(4, TQString(""));
       runServiceB->setEnabled(true);
       stopServiceB->setEnabled(false);
@@ -204,7 +204,7 @@ void INDIDriver::activateHostDisconnection()
 void INDIDriver::updateLocalButtons()
 {
   
-  if (localListView->selectedItem() == NULL)
+  if (!localListView->selectedItem())
    return;
  
   for (uint i=0; i < devices.size(); i++)
@@ -226,7 +226,7 @@ void INDIDriver::updateLocalButtons()
 void INDIDriver::updateClientButtons()
 {
  INDIHostsInfo *hostInfo;
- if (clientListView->currentItem() == NULL)
+ if (!clientListView->currentItem())
   return;
 
 
@@ -246,7 +246,7 @@ for (uint i=0; i < ksw->data()->INDIHostsList.count(); i++)
     
 void INDIDriver::processDeviceStatus(int id)
 {
-  if (localListView->selectedItem() == NULL)
+  if (!localListView->selectedItem())
     return;
 
    for (uint i=0; i < devices.size(); i++)
@@ -291,7 +291,7 @@ void INDIDriver::processDeviceStatus(int id)
 	  	ksw->getINDIMenu()->processServer();
 		
 	  localListView->selectedItem()->setPixmap(1, stopPix);
-	  localListView->selectedItem()->setPixmap(2, NULL);
+	  localListView->selectedItem()->setPixmap(2, nullptr);
 	  localListView->selectedItem()->setText(4, TQString(""));
 	  runServiceB->setEnabled(true);
 	  stopServiceB->setEnabled(false);
@@ -357,9 +357,9 @@ void INDIDriver::updateMenuActions()
   INDIMenu *devMenu = ksw->getINDIMenu();
   bool activeDevice = false;
   bool activeImaging = false;
-  INDI_P *imgProp = NULL;
+  INDI_P *imgProp = nullptr;
   
-  if (devMenu == NULL)
+  if (!devMenu)
      return;
   
   if (devMenu->mgr.count() > 0)
@@ -577,7 +577,7 @@ bool INDIDriver::readXMLDriver()
 
  signed char c;
  LilXML *xmlParser = newLilXML();
- XMLEle *root = NULL;
+ XMLEle *root = nullptr;
 
  while ( (c = (signed char) file.getch()) != -1)
  {
@@ -607,7 +607,7 @@ bool INDIDriver::buildDriversList( XMLEle *root, char* /*errmsg[]*/)
 
   XMLEle *ep;
 
-  for (ep = nextXMLEle (root, 1); ep != NULL; ep = nextXMLEle (root, 0))
+  for (ep = nextXMLEle (root, 1); ep; ep = nextXMLEle (root, 0))
       driversList << pcdataXMLEle(ep);
 
   return true;
@@ -663,7 +663,7 @@ bool INDIDriver::buildDeviceGroup(XMLEle *root, char errmsg[])
   //group->setOpen(true);
 
 
-  for (ep = nextXMLEle(root, 1) ; ep != NULL ; ep = nextXMLEle(root, 0))
+  for (ep = nextXMLEle(root, 1) ; ep ; ep = nextXMLEle(root, 0))
   /*for (int i = 0; i < root->nel; i++)*/
 	if (!buildDriverElement(ep, group, groupType, errmsg))
 	  return false;
@@ -807,7 +807,7 @@ void INDIDriver::modifyINDIHost()
 
   TQListViewItem *currentItem = clientListView->currentItem();
 
-  if (currentItem == NULL)
+  if (!currentItem)
    return;
 
   for (uint i=0; i < ksw->data()->INDIHostsList.count(); i++)
@@ -840,7 +840,7 @@ void INDIDriver::modifyINDIHost()
 void INDIDriver::removeINDIHost()
 {
 
- if (clientListView->currentItem() == NULL)
+ if (!clientListView->currentItem())
   return;
 
  for (uint i=0; i < ksw->data()->INDIHostsList.count(); i++)
@@ -931,7 +931,7 @@ IDevice::IDevice(TQString inLabel, TQString inDriver, TQString inVersion)
   focal_length = -1;
   aperture = -1;
 
-  proc = NULL;
+  proc = nullptr;
 
 }
 
@@ -961,7 +961,7 @@ void IDevice::restart()
   if (proc)
   	proc->kill();
 
-  proc = NULL;
+  proc = nullptr;
 
 }
 
diff --git a/kstars/kstars/indielement.cpp b/kstars/kstars/indielement.cpp
index 4e2a7759..eae70786 100644
--- a/kstars/kstars/indielement.cpp
+++ b/kstars/kstars/indielement.cpp
@@ -46,7 +46,7 @@ XMLAtt * findAtt (XMLEle *ep, const char *name, char errmsg[])
 	    return (ap);
 	if (errmsg)
 	    snprintf (errmsg, ERRMSG_SIZE, "INDI: <%.64s> missing attribute '%.64s'", tagXMLEle(ep),name);
-	return NULL;
+	return nullptr;
 }
 
 /* search element for given child. pp is just to build a better errmsg.
@@ -60,7 +60,7 @@ XMLEle * findEle (XMLEle *ep, INDI_P *pp, const char *child, char errmsg[])
 	if (errmsg)
 	    snprintf (errmsg, ERRMSG_SIZE, "INDI: <%.64s %.64s %.64s> missing child '%.64s'", tagXMLEle(ep),
 						pp->pg->dp->name.ascii(), pp->name.ascii(), child);
-	return (NULL);
+	return (nullptr);
 }
 
 /*******************************************************************
@@ -74,16 +74,16 @@ INDI_E::INDI_E(INDI_P *parentProperty, TQString inName, TQString inLabel)
   pp = parentProperty;
 
   EHBox     = new TQHBoxLayout(0, 0, KDialog::spacingHint());
-  label_w   = NULL;
-  read_w    = NULL;
-  write_w   = NULL;
-  spin_w    = NULL;
-  slider_w  = NULL;
-  push_w    = NULL;
-  browse_w  = NULL;
-  check_w   = NULL;
-  led_w     = NULL;
-  hSpacer   = NULL;
+  label_w   = nullptr;
+  read_w    = nullptr;
+  write_w   = nullptr;
+  spin_w    = nullptr;
+  slider_w  = nullptr;
+  push_w    = nullptr;
+  browse_w  = nullptr;
+  check_w   = nullptr;
+  led_w     = nullptr;
+  hSpacer   = nullptr;
 
 }
 
diff --git a/kstars/kstars/indimenu.cpp b/kstars/kstars/indimenu.cpp
index b1a59593..1dec9542 100644
--- a/kstars/kstars/indimenu.cpp
+++ b/kstars/kstars/indimenu.cpp
@@ -113,7 +113,7 @@ bool INDIMenu::processServer()
 INDIDriver *drivers = ksw->getINDIDriver();
 DeviceManager *dev;
 
-    if (drivers == NULL)
+    if (!drivers)
      return false;
 
     for (unsigned int i=0; i < drivers->devices.size(); i++)
@@ -199,7 +199,7 @@ INDI_D * INDIMenu::findDevice(TQString deviceName)
         if (mgr.at(i)->indi_dev.at(j)->name == deviceName)
        		return mgr.at(i)->indi_dev.at(j);
  }
-  return NULL;
+  return nullptr;
 }
 
 INDI_D * INDIMenu::findDeviceByLabel(TQString label)
@@ -211,7 +211,7 @@ INDI_D * INDIMenu::findDeviceByLabel(TQString label)
        		return mgr.at(i)->indi_dev.at(j);
   }
   
-  return NULL;
+  return nullptr;
 }
 
 
diff --git a/kstars/kstars/indiproperty.cpp b/kstars/kstars/indiproperty.cpp
index d828ca8f..c0a1d14f 100644
--- a/kstars/kstars/indiproperty.cpp
+++ b/kstars/kstars/indiproperty.cpp
@@ -63,11 +63,11 @@ INDI_P::INDI_P(INDI_G *parentGroup, TQString inName)
 
   PHBox           = new TQHBoxLayout(0, 0, KDialogBase::spacingHint());
   PVBox           = new TQVBoxLayout(0, 0, KDialogBase::spacingHint());
-  light           = NULL;
-  label_w         = NULL;
-  set_w           = NULL;
-  assosiatedPopup = NULL;
-  groupB          = NULL;
+  light           = nullptr;
+  label_w         = nullptr;
+  set_w           = nullptr;
+  assosiatedPopup = nullptr;
+  groupB          = nullptr;
 }
 
 /* INDI property desstructor, makes sure everything is "gone" right */
@@ -103,9 +103,9 @@ bool INDI_P::isOn(TQString component)
 
 INDI_E * INDI_P::findElement(TQString elementName)
 {
-  INDI_E *element = NULL;
+  INDI_E *element = nullptr;
 
-  for (element = el.first(); element != NULL; element = el.next())
+  for (element = el.first(); element; element = el.next())
      if (element->name == elementName || element->label == elementName)
      	break;
 
@@ -148,7 +148,7 @@ void INDI_P::newText()
 {
   INDI_E * lp;
 
-  for (lp = el.first(); lp != NULL; lp = el.next())
+  for (lp = el.first(); lp; lp = el.next())
   {
       /* If PG_SCALE */
       if (lp->spin_w)
@@ -206,7 +206,7 @@ void INDI_P::convertSwitch(int id)
  TQString mLabel;
  int switchIndex=0;
 
- if (assosiatedPopup == NULL)
+ if (!assosiatedPopup)
   return;
 
   mLabel = assosiatedPopup->text(id).replace("&", "");
@@ -223,7 +223,7 @@ void INDI_P::convertSwitch(int id)
  if (mLabel.find("Crosshair") != -1)
  {
         if (!indistd->stdDev->dp->isOn()) return;
-	if (indistd->stdDev->telescopeSkyObject == NULL) return;
+	if (!indistd->stdDev->telescopeSkyObject) return;
 	indistd->ksw->map()->setClickedObject(indistd->stdDev->telescopeSkyObject);
 	indistd->ksw->map()->setClickedPoint(indistd->stdDev->telescopeSkyObject);
 	indistd->ksw->map()->slotCenter();
@@ -352,7 +352,7 @@ void INDI_P::newBlob()
      binaryStream.setDevice(&fp);
 
      data_file = new char[fp.size()];
-     if (data_file == NULL)
+     if (!data_file)
      {
  	KMessageBox::error(0, i18n("Not enough memory to load %1").arg(filename));
 	fp.close();
@@ -364,7 +364,7 @@ void INDI_P::newBlob()
      data = (unsigned char *) data_file;
 
      data64 = new unsigned char[4*fp.size()/3+4];
-     if (data64 == NULL)
+     if (!data64)
      {
 	KMessageBox::error(0, i18n("Not enough memory to convert file %1 to base64").arg(filename));
         fp.close();
@@ -462,7 +462,7 @@ int INDI_P::buildTextGUI(XMLEle *root, char errmsg[])
         TQString textName, textLabel;
 	errmsg=errmsg;
 
-        for (text = nextXMLEle (root, 1); text != NULL; text = nextXMLEle (root, 0))
+        for (text = nextXMLEle (root, 1); text; text = nextXMLEle (root, 0))
 	{
 	    if (strcmp (tagXMLEle(text), "defText"))
 		continue;
@@ -530,7 +530,7 @@ int INDI_P::buildNumberGUI  (XMLEle *root, char errmsg[])
 	TQString numberName, numberLabel;
 	errmsg=errmsg;
 
-	for (number = nextXMLEle (root, 1); number != NULL; number = nextXMLEle (root, 0))
+	for (number = nextXMLEle (root, 1); number; number = nextXMLEle (root, 0))
 	{
 	    if (strcmp (tagXMLEle(number), "defNumber"))
 		continue;
@@ -609,7 +609,7 @@ void INDI_P::setupSetButton(TQString caption)
 
 int INDI_P::buildMenuGUI(XMLEle *root, char errmsg[])
 {
-	XMLEle *sep = NULL;
+	XMLEle *sep = nullptr;
 	XMLAtt *ap;
 	INDI_E *lp;
 	TQString switchName, switchLabel;
@@ -621,7 +621,7 @@ int INDI_P::buildMenuGUI(XMLEle *root, char errmsg[])
         // build pulldown menu first
 	// create each switch.
 	// N.B. can only be one in On state.
-	for (sep = nextXMLEle (root, 1), i=0; sep != NULL; sep = nextXMLEle (root, 0), i++)
+	for (sep = nextXMLEle (root, 1), i=0; sep; sep = nextXMLEle (root, 0), i++)
 	{
 	    /* look for switch tage */
 	    if (strcmp (tagXMLEle(sep), "defSwitch"))
@@ -692,7 +692,7 @@ int INDI_P::buildSwitchesGUI(XMLEle *root, char errmsg[])
         XMLEle *sep;
 	XMLAtt *ap;
 	INDI_E *lp;
-	KPushButton *button(NULL);
+	KPushButton *button(nullptr);
 	TQCheckBox   *checkbox;
 	TQFont buttonFont;
 	TQString switchName, switchLabel;
@@ -705,7 +705,7 @@ int INDI_P::buildSwitchesGUI(XMLEle *root, char errmsg[])
 
 	TQObject::connect(groupB, TQ_SIGNAL(clicked(int)), this, TQ_SLOT(newSwitch(int)));
 
-       for (sep = nextXMLEle (root, 1), j=-1; sep != NULL; sep = nextXMLEle (root, 0))
+       for (sep = nextXMLEle (root, 1), j=-1; sep; sep = nextXMLEle (root, 0))
        {
 	    /* look for switch tage */
 	    if (strcmp (tagXMLEle(sep), "defSwitch"))
@@ -806,7 +806,7 @@ int INDI_P::buildLightsGUI(XMLEle *root, char errmsg[])
 	INDI_E *lp;
 	TQString sname, slabel;
 
-   	for (lep = nextXMLEle (root, 1); lep != NULL; lep = nextXMLEle (root, 0))
+   	for (lep = nextXMLEle (root, 1); lep; lep = nextXMLEle (root, 0))
     	{
 	    if (strcmp (tagXMLEle(lep), "defLight"))
 		continue;
@@ -858,7 +858,7 @@ int INDI_P::buildBLOBGUI(XMLEle *root, char errmsg[])
   TQString blobName, blobLabel ;
   errmsg=errmsg;
 
-  for (blob = nextXMLEle (root, 1); blob != NULL; blob = nextXMLEle (root, 0))
+  for (blob = nextXMLEle (root, 1); blob; blob = nextXMLEle (root, 0))
   {
     if (strcmp (tagXMLEle(blob), "defBLOB"))
       continue;
@@ -911,7 +911,7 @@ void INDI_P::activateSwitch(TQString name)
   int iCounter = 0;
   INDI_E *element;
 
-  for (element = el.first(); element != NULL; element = el.next())
+  for (element = el.first(); element; element = el.next())
   {
      if (element->name == name && element->push_w)
        newSwitch(iCounter);
diff --git a/kstars/kstars/indistd.cpp b/kstars/kstars/indistd.cpp
index cc009405..31b08fd6 100644
--- a/kstars/kstars/indistd.cpp
+++ b/kstars/kstars/indistd.cpp
@@ -67,7 +67,7 @@
    batchMode 		= false;
    ISOMode   		= false;
 
-   currentObject  	= NULL;
+   currentObject  	= nullptr;
    streamWindow   	= new StreamWG(this, ksw);
    CCDPreviewWindow   	= new CCDPreviewWG(this, ksw);
 
@@ -80,7 +80,7 @@
    connect( devTimer, TQ_SIGNAL(timeout()), this, TQ_SLOT(timerDone()) );
    connect( seqLister, TQ_SIGNAL(newItems (const KFileItemList & )), this, TQ_SLOT(checkSeqBoundary(const KFileItemList &)));
 
-   downloadDialog = new KProgressDialog(NULL, 0, i18n("INDI"), i18n("Downloading Data..."));
+   downloadDialog = new KProgressDialog(nullptr, 0, i18n("INDI"), i18n("Downloading Data..."));
    downloadDialog->cancel();
 
    parser		= newLilXML();
@@ -133,7 +133,7 @@ void INDIStdDevice::handleBLOB(unsigned char *buffer, int bufferSize, TQString d
       strcpy(filename, "/tmp/fitsXXXXXX");
       if ((fd = mkstemp(filename)) < 0)
       {
-	KMessageBox::error(NULL, "Error making temporary filename.");
+	KMessageBox::error(nullptr, "Error making temporary filename.");
 	return;
       }
       close(fd);
@@ -182,7 +182,7 @@ void INDIStdDevice::handleBLOB(unsigned char *buffer, int bufferSize, TQString d
 
     fitsTempFile = fopen(filename, "w");
 
-    if (fitsTempFile == NULL) return;
+    if (!fitsTempFile) return;
 
     for (nr=0; nr < (int) bufferSize; nr += n)
       n = fwrite( ((unsigned char *) buffer) + nr, 1, bufferSize - nr, fitsTempFile);
@@ -385,7 +385,7 @@ void INDIStdDevice::handleBLOB(unsigned char *buffer, int bufferSize, TQString d
 	if (ksw->map()->focusObject() == telescopeSkyObject)
 	{
 		ksw->map()->stopTracking();
-		ksw->map()->setFocusObject(NULL);
+		ksw->map()->setFocusObject(nullptr);
 	}
 
 	drivers->updateMenuActions();
@@ -484,7 +484,7 @@ void INDIStdDevice::handleBLOB(unsigned char *buffer, int bufferSize, TQString d
        while (*t) { if (isdigit(*t)) break; t++; }
        //tempPrefix = t;
 
-       newFileIndex = strtol(t, NULL, 10);
+       newFileIndex = strtol(t, nullptr, 10);
 
         if (newFileIndex >= setCount)
 	  setCount = newFileIndex + 1;
@@ -730,7 +730,7 @@ void INDIStdDevice::timerDone()
        }
 
        prop = dp->findProp("ON_COORD_SET");
-       if (prop == NULL || !currentObject)
+       if (!prop || !currentObject)
         return;
 
        el   = prop->findElement("TRACK");
@@ -744,13 +744,13 @@ void INDIStdDevice::timerDone()
 
        prop = dp->findProp("EQUATORIAL_EOD_COORD");
 
-       if (prop == NULL)
+       if (!prop)
        {
          prop = dp->findProp("EQUATORIAL_COORD");
 	 if (prop) useJ2000 = true;
        }
 
-       if (prop == NULL || !currentObject)
+       if (!prop || !currentObject)
         return;
 
        // wait until slew is done
@@ -846,7 +846,7 @@ INDIStdProperty::INDIStdProperty(INDI_P *associatedProperty, KStars * kswPtr, IN
  bool INDIStdProperty::convertSwitch(int switchIndex, INDI_E *lp)
  {
 
-  INDI_E *RAEle(NULL), *DecEle(NULL), *AzEle(NULL), *AltEle(NULL), *nameEle(NULL);
+  INDI_E *RAEle(nullptr), *DecEle(nullptr), *AzEle(nullptr), *AltEle(nullptr), *nameEle(nullptr);
   INDI_P * prop;
   SkyPoint sp;
   int selectedCoord=0;				/* 0 for Equatorial, 1 for Horizontal */
@@ -857,19 +857,19 @@ INDIStdProperty::INDIStdProperty(INDI_P *associatedProperty, KStars * kswPtr, IN
     /* Handle Slew/Track/Sync */
     case ON_COORD_SET:
     	// #1 set current object to NULL
-    	stdDev->currentObject = NULL;
+    	stdDev->currentObject = nullptr;
    	// #2 Deactivate timer if present
    	if (stdDev->devTimer->isActive())
 		 	stdDev->devTimer->stop();
 
    	prop = pp->pg->dp->findProp("EQUATORIAL_EOD_COORD");
-       	if (prop == NULL)
+       	if (!prop)
 	{
 		  prop = pp->pg->dp->findProp("EQUATORIAL_COORD");
-		  if (prop == NULL)
+		  if (!prop)
                   {
                     prop = pp->pg->dp->findProp("HORIZONTAL_COORD");
-                    if (prop == NULL)
+                    if (!prop)
         		return false;
                     else
                         selectedCoord = 1;		/* Select horizontal */
diff --git a/kstars/kstars/ksasteroid.h b/kstars/kstars/ksasteroid.h
index 1b4245d1..d1027d14 100644
--- a/kstars/kstars/ksasteroid.h
+++ b/kstars/kstars/ksasteroid.h
@@ -79,7 +79,7 @@ class KSAsteroid : public KSPlanetBase
 	*@param Earth planet Earth (needed to calculate geocentric coords)
 	*@return true if position was successfully calculated.
 	*/
-		virtual bool findGeocentricPosition( const KSNumbers *num, const KSPlanetBase *Earth=NULL );
+		virtual bool findGeocentricPosition( const KSNumbers *num, const KSPlanetBase *Earth=nullptr );
 
 		//these set functions are needed for the new KSPluto subclass
 		void set_a( double newa ) { a = newa; }
diff --git a/kstars/kstars/kscomet.h b/kstars/kstars/kscomet.h
index 2f89c9cd..29f226d2 100644
--- a/kstars/kstars/kscomet.h
+++ b/kstars/kstars/kscomet.h
@@ -79,7 +79,7 @@ class KSComet : public KSPlanetBase
 		*@param Earth planet Earth (needed to calculate geocentric coords)
 		*@return true if position was successfully calculated.
 		*/
-		virtual bool findGeocentricPosition( const KSNumbers *num, const KSPlanetBase *Earth=NULL );
+		virtual bool findGeocentricPosition( const KSNumbers *num, const KSPlanetBase *Earth=nullptr );
 
 	private:
 		KStarsData *kd;
diff --git a/kstars/kstars/ksplanet.cpp b/kstars/kstars/ksplanet.cpp
index 0c0fcaa9..3c8945e7 100644
--- a/kstars/kstars/ksplanet.cpp
+++ b/kstars/kstars/ksplanet.cpp
@@ -220,7 +220,7 @@ void KSPlanet::calcEcliptic(double Tau, EclipticPosition &epret) const {
 
 bool KSPlanet::findGeocentricPosition( const KSNumbers *num, const KSPlanetBase *Earth ) {
 
-	if ( Earth != NULL ) {
+	if ( Earth ) {
 		double sinL, sinL0, sinB, sinB0;
 		double cosL, cosL0, cosB, cosB0;
 		double x = 0.0, y = 0.0, z = 0.0;
diff --git a/kstars/kstars/ksplanet.h b/kstars/kstars/ksplanet.h
index 23585821..f552b89f 100644
--- a/kstars/kstars/ksplanet.h
+++ b/kstars/kstars/ksplanet.h
@@ -80,7 +80,7 @@ protected:
 	*@param Earth pointer to the planet Earth (needed to calculate geocentric coords)
 	*@return true if position was successfully calculated.
 	*/
-	virtual bool findGeocentricPosition( const KSNumbers *num, const KSPlanetBase *Earth=NULL );
+	virtual bool findGeocentricPosition( const KSNumbers *num, const KSPlanetBase *Earth=nullptr );
 
 /**@class OrbitData 
 	*This class contains doubles A,B,C which represent a single term in a planet's
diff --git a/kstars/kstars/ksplanetbase.h b/kstars/kstars/ksplanetbase.h
index 8c5e0e69..ab797419 100644
--- a/kstars/kstars/ksplanetbase.h
+++ b/kstars/kstars/ksplanetbase.h
@@ -298,7 +298,7 @@ protected:
 	*@param Earth pointer to planet Earth (needed to calculate geocentric coords)
 	*@return true if position was successfully calculated.
 	*/
-	virtual bool findGeocentricPosition( const KSNumbers *num, const KSPlanetBase *Earth=NULL ) = 0;
+	virtual bool findGeocentricPosition( const KSNumbers *num, const KSPlanetBase *Earth=nullptr ) = 0;
 
 /**Determine the position angle of the planet for a given date
 	*(used internally by findPosition() )
diff --git a/kstars/kstars/kspluto.h b/kstars/kstars/kspluto.h
index 6f347c6b..d662e7db 100644
--- a/kstars/kstars/kspluto.h
+++ b/kstars/kstars/kspluto.h
@@ -62,7 +62,7 @@ protected:
 	*@param Earth planet Earth (needed to calculate geocentric coords)
 	*@return true if position was successfully calculated.
 	*/
-	virtual bool findGeocentricPosition( const KSNumbers *num, const KSPlanetBase *Earth=NULL );
+	virtual bool findGeocentricPosition( const KSNumbers *num, const KSPlanetBase *Earth=nullptr );
 
 private:
 	//The base orbital elements for J2000 (these don't change with time)
diff --git a/kstars/kstars/kspopupmenu.cpp b/kstars/kstars/kspopupmenu.cpp
index 34716d10..f242122c 100644
--- a/kstars/kstars/kspopupmenu.cpp
+++ b/kstars/kstars/kspopupmenu.cpp
@@ -140,16 +140,16 @@ bool KSPopupMenu::addINDI(void)
   DeviceManager *mgr;
   INDI_D *dev;
   INDI_G *grp;
-  INDI_P *prop(NULL);
+  INDI_P *prop(nullptr);
   INDI_E *element;
   int id=0;
 
   if (indiMenu->mgr.count() == 0)
    return false;
 
-  for (mgr = indiMenu->mgr.first(); mgr != NULL; mgr = indiMenu->mgr.next())
+  for (mgr = indiMenu->mgr.first(); mgr; mgr = indiMenu->mgr.next())
   {
-    for (dev = mgr->indi_dev.first(), id = 0; dev != NULL; dev = mgr->indi_dev.next())
+    for (dev = mgr->indi_dev.first(), id = 0; dev; dev = mgr->indi_dev.next())
     {
         if (!dev->INDIStdSupport)
 	 continue;
@@ -158,9 +158,9 @@ bool KSPopupMenu::addINDI(void)
 	
 	insertItem(dev->label, menuDevice);
 
-        for (grp = dev->gl.first(); grp != NULL; grp = dev->gl.next())
+        for (grp = dev->gl.first(); grp; grp = dev->gl.next())
 	{
-	   for (prop = grp->pl.first(); prop != NULL; prop = grp->pl.next())
+	   for (prop = grp->pl.first(); prop; prop = grp->pl.next())
 	   {
 	     /* Only std are allowed to show. Movement is somewhat problematic due to an issue with the LX200 telescopes (the telescope does not update RA/DEC while moving N/W/E/S) so it's better off the skymap. It's avaiable in the INDI control panel nonetheless.
 	     CCD_EXPOSE_DURATION is an INumber property, but it's so common that it's better to include in the context menu */
@@ -182,7 +182,7 @@ bool KSPopupMenu::addINDI(void)
 	     }
 	     else
 	     {
-	     for (element = prop->el.first(); element != NULL; element = prop->el.next(), id++)
+	     for (element = prop->el.first(); element; element = prop->el.next(), id++)
              {
 		menuDevice->insertItem (element->label, id);
 	 	if (element->state == PS_ON)
diff --git a/kstars/kstars/kssun.h b/kstars/kstars/kssun.h
index 5d4d24e4..f114f6d6 100644
--- a/kstars/kstars/kssun.h
+++ b/kstars/kstars/kssun.h
@@ -68,7 +68,7 @@ protected:
 	*@p Epoch current Julian Date
 	*@p Earth pointer to earth object
 	*/
-	virtual bool findGeocentricPosition( const KSNumbers *num, const KSPlanetBase *Earth=NULL );
+	virtual bool findGeocentricPosition( const KSNumbers *num, const KSPlanetBase *Earth=nullptr );
 };
 	long double equinox(int year, int d, int m, int angle);
 
diff --git a/kstars/kstars/kstarsactions.cpp b/kstars/kstars/kstarsactions.cpp
index ece09153..edbd2905 100644
--- a/kstars/kstars/kstarsactions.cpp
+++ b/kstars/kstars/kstarsactions.cpp
@@ -174,7 +174,7 @@ void KStars::slotDownload() {
 }
 
 void KStars::slotLCGenerator() {
-	if (AAVSODialog == NULL)
+	if (!AAVSODialog)
 		AAVSODialog = new LCGenerator(this);
 
 	AAVSODialog->show();
@@ -218,7 +218,7 @@ void KStars::slotJMoonTool() {
 
 void KStars::slotImageSequence()
 {
-  if (indiseq == NULL)
+  if (!indiseq)
     indiseq = new imagesequence(this);
 
   if (indiseq->updateStatus())
@@ -239,14 +239,14 @@ void KStars::slotTelescopeProperties()
 
 void KStars::slotINDIPanel() {
 
-   if (indimenu == NULL)
+   if (!indimenu)
      indimenu = new INDIMenu(this);
 
    indimenu->updateStatus();
 }
 
 void KStars::slotINDIDriver() {
-	if (indidriver == NULL)
+	if (!indidriver)
 		indidriver = new INDIDriver(this);
 	indidriver->show();
 }
@@ -641,13 +641,13 @@ void KStars::slotTrack() {
 			data()->temporaryTrail = false;
 		}
 
-		map()->setClickedObject( NULL );
-		map()->setFocusObject( NULL );//no longer tracking focusObject
-		map()->setFocusPoint( NULL );
+		map()->setClickedObject( nullptr );
+		map()->setFocusObject( nullptr );//no longer tracking focusObject
+		map()->setFocusPoint( nullptr );
 	} else {
 		map()->setClickedPoint( map()->focus() );
-		map()->setClickedObject( NULL );
-		map()->setFocusObject( NULL );//no longer tracking focusObject
+		map()->setClickedObject( nullptr );
+		map()->setFocusObject( nullptr );//no longer tracking focusObject
 		map()->setFocusPoint( map()->clickedPoint() );
 		Options::setIsTracking( true );
 		actionCollection()->action("track_object")->setText( i18n( "Stop &Tracking" ) );
@@ -918,7 +918,7 @@ void KStars::slotFullScreen()
 
 void KStars::slotClearAllTrails() {
 	//Exclude object with temporary trail
-	SkyObject *exOb( NULL );
+	SkyObject *exOb( nullptr );
 	if ( map()->focusObject() && map()->focusObject()->isSolarSystem() && data()->temporaryTrail ) {
 		exOb = map()->focusObject();
 	}
@@ -1024,10 +1024,10 @@ void KStars::removeColorMenuItem( TQString actionName ) {
 
 void KStars::establishINDI()
 {
-	if (indimenu == NULL)
+	if (!indimenu)
 	  indimenu = new INDIMenu(this);
 
-	if (indidriver == NULL)
+	if (!indidriver)
 	  indidriver = new INDIDriver(this);
 }
 
diff --git a/kstars/kstars/kstarsdata.cpp b/kstars/kstars/kstarsdata.cpp
index 68746191..f484f364 100644
--- a/kstars/kstars/kstarsdata.cpp
+++ b/kstars/kstars/kstarsdata.cpp
@@ -325,7 +325,7 @@ bool KStarsData::readINDIHosts(void)
   char errmsg[1024];
   signed char c;
   LilXML *xmlParser = newLilXML();
-  XMLEle *root = NULL;
+  XMLEle *root = nullptr;
   XMLAtt *ap;
 
   file.setName( locate( "appdata", indiFile ) );
@@ -2283,7 +2283,7 @@ void KStarsData::changeDateTime( const KStarsDateTime &newDate ) {
 }
 
 SkyObject* KStarsData::objectNamed( const TQString &name ) {
-	if ( (name== "star") || (name== "nothing") || name.isEmpty() ) return NULL;
+	if ( (name== "star") || (name== "nothing") || name.isEmpty() ) return nullptr;
 	if ( name== Moon->name() ) return Moon;
 
 	SkyObject *so = PCat->findByName(name);
@@ -2330,7 +2330,7 @@ SkyObject* KStarsData::objectNamed( const TQString &name ) {
         }
 
 	//reach here only if argument is not matched
-	return NULL;
+	return nullptr;
 }
 
 //"pseudo-execute" a shell script, ignoring all interactive aspects.  Just use
diff --git a/kstars/kstars/kstarsdcop.cpp b/kstars/kstars/kstarsdcop.cpp
index 3266370b..aa70c8c6 100644
--- a/kstars/kstars/kstarsdcop.cpp
+++ b/kstars/kstars/kstarsdcop.cpp
@@ -85,7 +85,7 @@ void KStars::lookTowards ( const TQString direction ) {
 		map()->slotCenter();
 	} else {
 		SkyObject *target = data()->objectNamed( direction );
-		if ( target != NULL ) {
+		if ( target ) {
 			map()->setClickedObject( target );
 			map()->setClickedPoint( target );
 			map()->slotCenter();
@@ -511,9 +511,9 @@ void KStars::startINDI (TQString deviceName, bool useLocal)
     return;
   }
 
-	TQListViewItem *driverItem = NULL;
+	TQListViewItem *driverItem = nullptr;
 	driverItem = indidriver->localListView->findItem(deviceName, 0);
-	if (driverItem == NULL)
+	if (!driverItem)
 	{
 	   kdDebug() << "Device " << deviceName << " not found!" << endl;
 	   return;
@@ -550,9 +550,9 @@ void KStars::shutdownINDI (TQString deviceName)
     return;
   }
 
-	TQListViewItem *driverItem = NULL;
+	TQListViewItem *driverItem = nullptr;
 	driverItem = indidriver->localListView->findItem(deviceName, 0);
-	if (driverItem == NULL)
+	if (!driverItem)
 	{
 	   kdDebug() << "Device " << deviceName << " not found!" << endl;
 	   return;
@@ -770,7 +770,7 @@ void KStars::waitForINDIAction(TQString deviceName, TQString action)
 
   prop = dev->findProp(action);
 
-  if (prop == NULL)
+  if (!prop)
   {
     el = dev->findElem(action);
     if (!el) return;
diff --git a/kstars/kstars/kstarsinit.cpp b/kstars/kstars/kstarsinit.cpp
index 5209b941..9dfc12f0 100644
--- a/kstars/kstars/kstarsinit.cpp
+++ b/kstars/kstars/kstarsinit.cpp
@@ -407,8 +407,8 @@ void KStars::datainitFinished(bool worked) {
 		TQString message = i18n( "The initial position is below the horizon.\nWould you like to reset to the default position?" );
 		if ( KMessageBox::warningYesNo( this, message, caption,
 				i18n("Reset Position"), i18n("Do Not Reset"), "dag_start_below_horiz" ) == KMessageBox::Yes ) {
-			map()->setClickedObject( NULL );
-			map()->setFocusObject( NULL );
+			map()->setClickedObject( nullptr );
+			map()->setFocusObject( nullptr );
 			Options::setIsTracking( false );
 
 			data()->setSnapNextFocus(true);
diff --git a/kstars/kstars/skymap.cpp b/kstars/kstars/skymap.cpp
index 16150d16..1ef6f6ed 100644
--- a/kstars/kstars/skymap.cpp
+++ b/kstars/kstars/skymap.cpp
@@ -82,8 +82,8 @@ SkyMap::SkyMap(KStarsData *d, TQWidget *parent, const char *name )
 	slewing = false;
 	clockSlewing = false;
 
-	ClickedObject = NULL;
-	FocusObject = NULL;
+	ClickedObject = nullptr;
+	FocusObject = nullptr;
 
 	sky = new TQPixmap();
 	sky2 = new TQPixmap();
@@ -173,7 +173,7 @@ void SkyMap::showFocusCoords( bool coordsOnly ) {
 		//display object info in infoBoxes
 		TQString oname;
 		oname = i18n( "nothing" );
-		if ( focusObject() != NULL && Options::isTracking() )
+		if ( focusObject() && Options::isTracking() )
 			oname = focusObject()->translatedLongName();
 
 		infoBoxes()->focusObjChanged(oname);
@@ -222,7 +222,7 @@ SkyObject* SkyMap::objectNearest( SkyPoint *p ) {
 	//Next, find the nearest solar system body within r0
 	double r = 0.0;
 	double rsolar_min = r0;
-	SkyObject *solarminobj = NULL;
+	SkyObject *solarminobj = nullptr;
 
 	if ( Options::showPlanets() )
 		solarminobj = data->PCat->findClosest( p, r );
@@ -230,7 +230,7 @@ SkyObject* SkyMap::objectNearest( SkyPoint *p ) {
 	if ( r < r0 ) {
 		rsolar_min = r;
 	} else {
-		solarminobj = NULL;
+		solarminobj = nullptr;
 	}
 
 	//Moon
@@ -388,7 +388,7 @@ SkyObject* SkyMap::objectNearest( SkyPoint *p ) {
 	}
 
 	//Solar system body overrides previous selection, unless previous selection is twice as close
-	if ( solarminobj != NULL && rmin > 0.5*rsolar_min ) {
+	if ( solarminobj && rmin > 0.5*rsolar_min ) {
 		rmin = rsolar_min;
 		icat = 3; //set catalog to solar system
 	}
@@ -414,7 +414,7 @@ SkyObject* SkyMap::objectNearest( SkyPoint *p ) {
 			break;
 
 		default: //no object found
-			return NULL;
+			return nullptr;
 			break;
 	}
 }
@@ -452,7 +452,7 @@ void SkyMap::slotTransientLabel( void ) {
 void SkyMap::slotTransientTimeout( void ) {
 	//Don't fade label if the transientObject is now the focusObject!
 	if ( transientObject() == focusObject() && Options::useAutoLabel() ) {
-		setTransientObject( NULL );
+		setTransientObject( nullptr );
 		TransientTimer.stop();
 		return;
 	}
@@ -471,7 +471,7 @@ void SkyMap::slotTransientTimeout( void ) {
 	//Check to see if we have arrived at the target color (SkyColor).
 	//If so, point TransientObject to NULL.
 	if ( abs(newRed-c2.red()) < abs(dRed) || abs(newGreen-c2.green()) < abs(dGreen) || abs(newBlue-c2.blue()) < abs(dBlue) ) {
-		setTransientObject( NULL );
+		setTransientObject( nullptr );
 		TransientTimer.stop();
 	} else {
 		TransientColor.setRgb( newRed, newGreen, newBlue );
@@ -509,8 +509,8 @@ void SkyMap::slotCenter( void ) {
 		TQString message = i18n( "The requested position is below the horizon.\nWould you like to go there anyway?" );
 		if ( KMessageBox::warningYesNo( this, message, caption,
 				i18n("Go Anyway"), i18n("Keep Position"), "dag_focus_below_horiz" )==KMessageBox::No ) {
-			setClickedObject( NULL );
-			setFocusObject( NULL );
+			setClickedObject( nullptr );
+			setFocusObject( nullptr );
 			Options::setIsTracking( false );
 
 			return;
@@ -715,7 +715,7 @@ void SkyMap::slotRemoveObjectLabel( void ) {
 void SkyMap::slotAddObjectLabel( void ) {
 	data->ObjLabelList.append( clickedObject() );
 	//Since we just added a permanent label, we don't want it to fade away!
-	if ( transientObject() == clickedObject() ) setTransientObject( NULL );
+	if ( transientObject() == clickedObject() ) setTransientObject( nullptr );
 	forceUpdate();
 }
 
@@ -833,7 +833,7 @@ void SkyMap::setDestinationAltAz(double alt, double az) {
 }
 
 void SkyMap::updateFocus() {
-	if ( Options::isTracking() && focusObject() != NULL ) {
+	if ( Options::isTracking() && focusObject() != nullptr ) {
 		if ( Options::useAltAz() ) {
 			//Tracking any object in Alt/Az mode requires focus updates
 			double dAlt = focusObject()->alt()->Degrees();
@@ -848,7 +848,7 @@ void SkyMap::updateFocus() {
 			focus()->EquatorialToHorizontal( data->LST, data->geo()->lat() );
 			setDestination( focus() );
 		}
-	} else if ( Options::isTracking() && focusPoint() != NULL ) {
+	} else if ( Options::isTracking() && focusPoint() != nullptr ) {
 		if ( Options::useAltAz() ) {
 			//Tracking on empty sky in Alt/Az mode
 			setFocus( focusPoint() );
diff --git a/kstars/kstars/skymapdraw.cpp b/kstars/kstars/skymapdraw.cpp
index d9a2a25d..91454d00 100644
--- a/kstars/kstars/skymapdraw.cpp
+++ b/kstars/kstars/skymapdraw.cpp
@@ -140,7 +140,7 @@ void SkyMap::drawTelescopeSymbols(TQPainter &psky) {
 		bool useJ2000 (false), useAltAz(false);
 		SkyPoint indi_sp;
 
-		if (!Options::indiCrosshairs() || devMenu == NULL)
+		if (!Options::indiCrosshairs() || !devMenu)
 			return;
 
 		psky.setPen( TQPen( TQColor( data->colorScheme()->colorNamed("TargetColor" ) ) ) );
@@ -168,13 +168,13 @@ void SkyMap::drawTelescopeSymbols(TQPainter &psky) {
 
 					eqNum = devMenu->mgr.at(i)->indi_dev.at(j)->findProp("EQUATORIAL_EOD_COORD");
 					
-					if (eqNum == NULL)
+					if (!eqNum)
 					{
 						eqNum = devMenu->mgr.at(i)->indi_dev.at(j)->findProp("EQUATORIAL_COORD");
-						if (eqNum == NULL)
+						if (!eqNum)
                                                 {
 						  eqNum = devMenu->mgr.at(i)->indi_dev.at(j)->findProp("HORIZONTAL_COORD");
-                                                  if (eqNum == NULL) continue;
+                                                  if (!eqNum) continue;
                                                   else
 							useAltAz = true;
 						}
@@ -1484,7 +1484,7 @@ void SkyMap::drawAttachedLabels( TQPainter &psky, double scale ) {
 	}
 
 	//Attach a label to the centered object
-	if ( focusObject() != NULL && Options::useAutoLabel() ) {
+	if ( focusObject() && Options::useAutoLabel() ) {
 		TQPoint o = getXY( focusObject(), Options::useAltAz(), Options::useRefraction(), scale );
 		if ( o.x() >= 0 && o.x() <= Width && o.y() >= 0 && o.y() <= Height )
 			drawNameLabel( psky, focusObject(), o.x(), o.y(), scale );
diff --git a/kstars/kstars/skymapevents.cpp b/kstars/kstars/skymapevents.cpp
index 8e4d0220..4e9bab1f 100644
--- a/kstars/kstars/skymapevents.cpp
+++ b/kstars/kstars/skymapevents.cpp
@@ -681,7 +681,7 @@ void SkyMap::mousePressEvent( TQMouseEvent *e ) {
 		} else {
 			//Empty sky selected.  If left-click, display "nothing" in the status bar.
 			//If right-click, open "empty" popup menu.
-			setClickedObject( NULL );
+			setClickedObject( nullptr );
 
 			switch (e->button()) {
 				case TQt::LeftButton:
diff --git a/kstars/kstars/streamwg.cpp b/kstars/kstars/streamwg.cpp
index a8a2a9fb..fb4d3c7b 100644
--- a/kstars/kstars/streamwg.cpp
+++ b/kstars/kstars/streamwg.cpp
@@ -270,7 +270,7 @@ void StreamWG::captureImage()
 
 VideoWG::VideoWG(TQWidget * parent, const char * name) : TQFrame(parent, name, TQt::WNoAutoErase)
 {
-  streamImage    = NULL;
+  streamImage    = nullptr;
   grayTable=new TQRgb[256];
   for (int i=0;i<256;i++)
         grayTable[i]=tqRgb(i,i,i);
@@ -307,7 +307,7 @@ void VideoWG::paintEvent(TQPaintEvent */*ev*/)
   	//qPix = kPixIO.convertToPixmap(*streamImage);/*streamImage->smoothScale(width(), height()));*/
 	qPix = kPixIO.convertToPixmap(streamImage->scale(width(), height()));
 	delete (streamImage);
-	streamImage = NULL;
+	streamImage = nullptr;
    }
    
    bitBlt(this, 0, 0, &qPix);
diff --git a/kstars/kstars/telescopeprop.cpp b/kstars/kstars/telescopeprop.cpp
index 28cd1313..bd33147e 100644
--- a/kstars/kstars/telescopeprop.cpp
+++ b/kstars/kstars/telescopeprop.cpp
@@ -84,25 +84,25 @@ void telescopeProp::newScope()
 
 void telescopeProp::saveScope()
 {
-  IDevice *dev (NULL);
+  IDevice *dev (nullptr);
   double focal_length(-1), aperture(-1);
   int finalIndex = -1;
 
   if (labelEdit->text().isEmpty())
     {
-       KMessageBox::error(NULL, i18n("Telescope label is missing."));
+       KMessageBox::error(nullptr, i18n("Telescope label is missing."));
        return;
     }
 
     if (driverCombo->currentText().isEmpty())
     {
-      KMessageBox::error(NULL, i18n("Telescope driver is missing."));
+      KMessageBox::error(nullptr, i18n("Telescope driver is missing."));
       return;
     }
 
    if (versionEdit->text().isEmpty())
    {
-     KMessageBox::error(NULL, i18n("Telescope driver version is missing."));
+     KMessageBox::error(nullptr, i18n("Telescope driver version is missing."));
      return;
    }
 
@@ -158,7 +158,7 @@ void telescopeProp::saveScope()
   focalEdit->clearFocus();
   apertureEdit->clearFocus();
 
-  KMessageBox::information(NULL, i18n("You need to restart KStars for changes to take effect."));
+  KMessageBox::information(nullptr, i18n("You need to restart KStars for changes to take effect."));
 
 }
 
diff --git a/kstars/kstars/telescopewizardprocess.cpp b/kstars/kstars/telescopewizardprocess.cpp
index becd8ade..096e4948 100644
--- a/kstars/kstars/telescopewizardprocess.cpp
+++ b/kstars/kstars/telescopewizardprocess.cpp
@@ -44,8 +44,8 @@ telescopeWizardProcess::telescopeWizardProcess( TQWidget* parent, const char* na
 {
    currentPort  = -1;
    timeOutCount = 0;
-   indiDev = NULL;
-   progressScan = NULL;
+   indiDev = nullptr;
+   progressScan = nullptr;
    linkRejected = false;
 
    TQString locStr;
@@ -229,9 +229,9 @@ int telescopeWizardProcess::establishLink()
 	if (!indidriver || !indimenu)
 	  return (0);
 	  
-	TQListViewItem *driverItem = NULL;
+	TQListViewItem *driverItem = nullptr;
 	driverItem = indidriver->localListView->findItem(telescopeCombo->currentText(), 0);
-	if (driverItem == NULL) return -1;
+	if (!driverItem) return -1;
 
 	// If device is already running, we need to shut it down first
 	if (indidriver->isDeviceRunning(telescopeCombo->currentText()))
@@ -376,7 +376,7 @@ void telescopeWizardProcess::Reset()
   if (progressScan)
   	progressScan->close();
 
-  indiDev = NULL;
+  indiDev = nullptr;
 
 }
 
diff --git a/kstars/kstars/timebox.cpp b/kstars/kstars/timebox.cpp
index aeacb209..79774468 100644
--- a/kstars/kstars/timebox.cpp
+++ b/kstars/kstars/timebox.cpp
@@ -59,7 +59,7 @@ TQTime timeBox::createTime ( bool *ok )
 	bool valueFound = false, badEntry = false , checkValue = false;
 
 //Initialize bool for result
-	if ( ok != NULL ) *ok = false;
+	if ( ok ) *ok = false;
 
 //	TQString errMsg = i18n( "Unable to parse %1 entry. Specify a %1 value as a simple integer, a floating-point number, or a triplet of values using colons or spaces as separators." );
 
@@ -71,7 +71,7 @@ TQTime timeBox::createTime ( bool *ok )
 	if ( checkValue ) {
 		qt = TQTime( h, 0, 0 );
 		valueFound = true;
-		if ( ok != NULL ) *ok = true;
+		if ( ok ) *ok = true;
 		return qt;
 	} else {
 		double x = entry.toDouble( &checkValue );
@@ -80,7 +80,7 @@ TQTime timeBox::createTime ( bool *ok )
 			TQTime qt(0,0,0);
 			qt.addSecs(seconds);
 			valueFound = true;
-			if ( ok != NULL ) *ok = true;
+			if ( ok ) *ok = true;
 			return qt;
 		}
 	}
@@ -130,13 +130,13 @@ TQTime timeBox::createTime ( bool *ok )
 			valueFound = true;
 			is = (int)s;
 
-			if ( ok != NULL ) *ok = true;
+			if ( ok ) *ok = true;
 
 			TQTime qt(h,m,is);
 			return qt;
 
 		} else {
-			if ( ok != NULL ) *ok = false;
+			if ( ok ) *ok = false;
 		}
 	}
 
diff --git a/kstars/kstars/tools/observinglist.cpp b/kstars/kstars/tools/observinglist.cpp
index 5aae1f0c..ee2f3ee1 100644
--- a/kstars/kstars/tools/observinglist.cpp
+++ b/kstars/kstars/tools/observinglist.cpp
@@ -338,9 +338,9 @@ void ObservingList::slotCenterObject() {
 void ObservingList::slotSlewToObject()
 {
 
-  INDI_D *indidev(NULL);
-  INDI_P *prop(NULL), *onset(NULL);
-  INDI_E *RAEle(NULL), *DecEle(NULL), *AzEle(NULL), *AltEle(NULL), *ConnectEle(NULL), *nameEle(NULL);
+  INDI_D *indidev(nullptr);
+  INDI_P *prop(nullptr), *onset(nullptr);
+  INDI_E *RAEle(nullptr), *DecEle(nullptr), *AzEle(nullptr), *AltEle(nullptr), *ConnectEle(nullptr), *nameEle(nullptr);
   bool useJ2000( false);
   int selectedCoord(0);
   SkyPoint sp;
@@ -356,15 +356,15 @@ void ObservingList::slotSlewToObject()
     for (unsigned int j=0; j < imenu->mgr.at(i)->indi_dev.count(); j++)
     {
        indidev = imenu->mgr.at(i)->indi_dev.at(j);
-       indidev->stdDev->currentObject = NULL;
+       indidev->stdDev->currentObject = nullptr;
        prop = indidev->findProp("EQUATORIAL_EOD_COORD");
-       	if (prop == NULL)
+       	if (!prop)
 	{
 		  prop = indidev->findProp("EQUATORIAL_COORD");
-		  if (prop == NULL)
+		  if (!prop)
                   {
                     prop = indidev->findProp("HORIZONTAL_COORD");
-                    if (prop == NULL)
+                    if (!prop)
         		continue;
                     else
                         selectedCoord = 1;		/* Select horizontal */
@@ -505,7 +505,7 @@ void ObservingList::saveCurrentUserLog() {
 
 		ui->NotesEdit->clear();
 		ui->NotesLabel->setText( i18n( "Observing notes for object:" ) );
-		LogObject = NULL;
+		LogObject = nullptr;
 	}
 }
 
diff --git a/kstars/kstars/tools/observinglist.h b/kstars/kstars/tools/observinglist.h
index 719c4850..1e17b466 100644
--- a/kstars/kstars/tools/observinglist.h
+++ b/kstars/kstars/tools/observinglist.h
@@ -95,7 +95,7 @@ public slots:
 /**@short add a new object to list
 	*@p o pointer to the object to add to the list
 	*/
-	void slotAddObject( SkyObject *o=NULL );
+	void slotAddObject( SkyObject *o=nullptr );
  
 /**@short Remove skyobjects which are highlighted in the 
 	*observing list tool from the observing list.
@@ -106,7 +106,7 @@ public slots:
 	*@p o pointer to the SkyObject to be removed.
 	*Use SkyMap::clickedObject() if o is NULL (default)
 	*/
-	void slotRemoveObject( SkyObject *o=NULL );
+	void slotRemoveObject( SkyObject *o=nullptr );
 
 /**@short center the selected object in the display
 	*/
diff --git a/kstars/kstars/tools/scriptbuilder.cpp b/kstars/kstars/tools/scriptbuilder.cpp
index df3cfff1..1b19e1cd 100644
--- a/kstars/kstars/tools/scriptbuilder.cpp
+++ b/kstars/kstars/tools/scriptbuilder.cpp
@@ -145,7 +145,7 @@ ScriptBuilder::ScriptBuilder( TQWidget *parent, const char *name )
 	KStarsFunctionList.append( new ScriptFunction( "setClockScale", i18n( "Set the timescale of the simulation clock to %1.  1.0 means real-time; 2.0 means twice real-time; etc." ), true, "double", "scale" ) );
 
 	// INDI fuctions
-	ScriptFunction *startINDIFunc(NULL), *shutdownINDIFunc(NULL), *switchINDIFunc(NULL), *setINDIPortFunc(NULL), *setINDIScopeActionFunc(NULL), *setINDITargetCoordFunc(NULL), *setINDITargetNameFunc(NULL), *setINDIGeoLocationFunc(NULL), *setINDIUTCFunc(NULL), *setINDIActionFunc(NULL), *waitForINDIActionFunc(NULL), *setINDIFocusSpeedFunc(NULL), *startINDIFocusFunc(NULL), *setINDIFocusTimeoutFunc(NULL), *setINDICCDTempFunc(NULL), *setINDIFilterNumFunc(NULL), *setINDIFrameTypeFunc(NULL), *startINDIExposureFunc(NULL);
+	ScriptFunction *startINDIFunc(nullptr), *shutdownINDIFunc(nullptr), *switchINDIFunc(nullptr), *setINDIPortFunc(nullptr), *setINDIScopeActionFunc(nullptr), *setINDITargetCoordFunc(nullptr), *setINDITargetNameFunc(nullptr), *setINDIGeoLocationFunc(nullptr), *setINDIUTCFunc(nullptr), *setINDIActionFunc(nullptr), *waitForINDIActionFunc(nullptr), *setINDIFocusSpeedFunc(nullptr), *startINDIFocusFunc(nullptr), *setINDIFocusTimeoutFunc(nullptr), *setINDICCDTempFunc(nullptr), *setINDIFilterNumFunc(nullptr), *setINDIFrameTypeFunc(nullptr), *startINDIExposureFunc(nullptr);
 
 	startINDIFunc = new ScriptFunction( "startINDI", i18n("Establish an INDI device either in local mode or server mode."), false, "TQString", "deviceName", "bool", "useLocal");
 	INDIFunctionList.append ( startINDIFunc );
@@ -1129,17 +1129,17 @@ void ScriptBuilder::slotRemoveFunction() {
 
 void ScriptBuilder::slotAddFunction() {
 
-        ScriptFunction *sc = NULL;
+        ScriptFunction *sc = nullptr;
 	TQListViewItem *currentItem = sb->FunctionListView->currentItem();
 
-	if ( currentItem == NULL || currentItem->depth() == 0)
+	if ( !currentItem || currentItem->depth() == 0)
 	  return;
 
 	for (sc = KStarsFunctionList.first(); sc; sc = KStarsFunctionList.next())
 	  if (sc->prototype() == currentItem->text(0))
 	    break;
 
-	 if (sc == NULL)
+	 if (!sc)
 	 {
 	   for (sc = INDIFunctionList.first(); sc; sc = INDIFunctionList.next())
 	     if (sc->prototype() == currentItem->text(0))
@@ -1147,7 +1147,7 @@ void ScriptBuilder::slotAddFunction() {
 
 	 }
 
-	 if (sc == NULL) return;
+	 if (!sc) return;
 
 	  setUnsavedChanges( true );
 
@@ -1773,24 +1773,24 @@ void ScriptBuilder::slotArgWidget() {
 }
 
 void ScriptBuilder::slotShowDoc() {
-  ScriptFunction *sc = NULL;
+  ScriptFunction *sc = nullptr;
   TQListViewItem *currentItem = sb->FunctionListView->currentItem();
 
-  if ( currentItem == NULL || currentItem->depth() == 0)
+  if ( !currentItem || currentItem->depth() == 0)
     return;
 
   for (sc = KStarsFunctionList.first(); sc; sc = KStarsFunctionList.next())
     if (sc->prototype() == currentItem->text(0))
       break;
 
-  if (sc == NULL)
+  if (!sc)
   {
   for (sc = INDIFunctionList.first(); sc; sc = INDIFunctionList.next())
     if (sc->prototype() == currentItem->text(0))
       break;
   }
 
-  if (sc == NULL)
+  if (!sc)
   {
     sb->AddButton->setEnabled( false );
     kdWarning() << i18n( "Function index out of bounds." ) << endl;
diff --git a/ktouch/src/ktouch.cpp b/ktouch/src/ktouch.cpp
index 01792d3a..0ecea288 100644
--- a/ktouch/src/ktouch.cpp
+++ b/ktouch/src/ktouch.cpp
@@ -56,13 +56,13 @@
 #include "prefs.h"
 #include "ktouchcolorscheme.h"
 
-KTouch * KTouchPtr = NULL;
+KTouch * KTouchPtr = nullptr;
 
 KTouch::KTouch()
   : TDEMainWindow( 0, "KTouch" ),
-    m_statusWidget(NULL),
-    m_keyboardWidget(NULL),
-	m_trainer(NULL)
+    m_statusWidget(nullptr),
+    m_keyboardWidget(nullptr),
+	m_trainer(nullptr)
 {
 	setFocusPolicy(TQWidget::StrongFocus);
 	setInputMethodEnabled(true);
@@ -131,7 +131,7 @@ KTouch::KTouch()
 // Free memory of objects that are not owned by the main KTouch object
 KTouch::~KTouch() {
 	delete m_trainer;
-	m_trainer = NULL;
+	m_trainer = nullptr;
 }
 // ----------------------------------------------------------------------------
 
@@ -670,7 +670,7 @@ void KTouch::initTrainingSession() {
     m_keyboardWidget->applyPreferences(this, true);  // set preferences silently here
 
     // create our trainer, the master object for the training stuff...
-	if (m_trainer != NULL)  delete m_trainer;
+	if (m_trainer)  delete m_trainer;
     m_trainer = new KTouchTrainer(m_statusWidget, m_slideLineWidget, m_keyboardWidget, &m_lecture);
 
     // Setup status bar
diff --git a/ktouch/src/ktouchcoloreditor.cpp b/ktouch/src/ktouchcoloreditor.cpp
index 8fee8e91..e73e5548 100644
--- a/ktouch/src/ktouchcoloreditor.cpp
+++ b/ktouch/src/ktouchcoloreditor.cpp
@@ -58,7 +58,7 @@ void KTouchColorEditor::colorSchemeChanged(TQListBoxItem *) {
 //	kdDebug() << "[KTouchColorEditor::colorSchemeChanged]" << endl;
     int num = schemeListBox->currentItem();
 	if (num < 0 || num >= static_cast<int>(m_schemes.count())) {
-		updateControls(NULL);
+		updateControls(nullptr);
 		return;
 	}
 	TQValueList<KTouchColorScheme>::const_iterator it = m_schemes.begin();
@@ -108,7 +108,7 @@ void KTouchColorEditor::updateClicked() {
 
 	updateListBox();
 	schemeListBox->setCurrentItem( TQMIN(old_num, static_cast<int>(m_schemes.count())-1) );
-	colorSchemeChanged(NULL);
+	colorSchemeChanged(nullptr);
 }
 // ----------------------------------------------------------------------------
 
@@ -122,7 +122,7 @@ void KTouchColorEditor::removeBtnClicked() {
 	}
 	updateListBox();
 	schemeListBox->setCurrentItem( TQMIN(old_num, static_cast<int>(m_schemes.count())-1) );
-	colorSchemeChanged(NULL);
+	colorSchemeChanged(nullptr);
 }
 // ----------------------------------------------------------------------------
 
@@ -132,7 +132,7 @@ void KTouchColorEditor::addBtnClicked() {
 	m_schemes.append(s);
 	updateListBox();
 	schemeListBox->setCurrentItem( m_schemes.count() - 1 );
-	colorSchemeChanged(NULL);
+	colorSchemeChanged(nullptr);
 }
 // ----------------------------------------------------------------------------
 
@@ -173,7 +173,7 @@ void KTouchColorEditor::updateListBox() {
 
 void KTouchColorEditor::updateControls(const KTouchColorScheme * cs) {
 //	kdDebug() << "[KTouchColorEditor::updateControls]" << endl;
-	if (cs==NULL) {
+	if (!cs) {
 		// TODO : also set all colors back to defaults
 		editGroupBox->setEnabled(false);
 		return;
diff --git a/ktouch/src/ktouchkeyboardwidget.cpp b/ktouch/src/ktouchkeyboardwidget.cpp
index bf13c0e7..8a1f933f 100644
--- a/ktouch/src/ktouchkeyboardwidget.cpp
+++ b/ktouch/src/ktouchkeyboardwidget.cpp
@@ -50,12 +50,12 @@ bool KTouchKeyboardWidget::loadKeyboard(TQWidget * window, const KURL& url, TQSt
         TQString msg;
         bool result = readKeyboard(target, msg);
         TDEIO::NetAccess::removeTempFile(target);
-        if (!result && errorMsg!=NULL)
+        if (!result && errorMsg)
             *errorMsg = i18n("Could not read the keyboard layout file '%1'. ").arg(url.url()) + msg;
         return result;
     }
     else {
-        if (errorMsg!=NULL)
+        if (errorMsg)
             *errorMsg = i18n("Could not download/open keyboard layout file from '%1'.").arg(url.url());
         return false;
     }
@@ -118,7 +118,7 @@ void KTouchKeyboardWidget::applyPreferences(TQWidget * window, bool silent) {
 		//kdDebug() << "[KTouchKeyboardWidget::applyPreferences]  keyboard = " << Prefs::currentKeyboardFile() << endl;
         if (Prefs::currentKeyboardFile()=="number.keyboard") {
             createDefaultKeyboard();
-            resizeEvent(NULL);
+            resizeEvent(nullptr);
             return;
         }
         // ok, let's load this layout
@@ -150,7 +150,7 @@ void KTouchKeyboardWidget::applyPreferences(TQWidget * window, bool silent) {
 			key->m_font = Prefs::font();
 	}
 	// kdDebug() << "[KTouchKeyboard::applyPreferences]  Assigned key font" << endl;
-    resizeEvent(NULL);  // paint the keyboard
+    resizeEvent(nullptr);  // paint the keyboard
     newKey(m_nextKey);  // and finally display the "next to be pressed" key again
 }
 
@@ -471,8 +471,8 @@ void KTouchKeyboardWidget::updateColours() {
 			continue; // skips keys that don't have finger keys assigned
 		}
 
-        KTouchBaseKey * self=NULL;
-        KTouchBaseKey * colorSource=NULL;
+        KTouchBaseKey * self=nullptr;
+        KTouchBaseKey * colorSource=nullptr;
         // loop over all keys to find the key pointers
         for (KTouchBaseKey * key = m_keyList.first(); key; key = m_keyList.next()) {
             if (key->m_keyChar==targetChar) self=key;
diff --git a/ktouch/src/ktouchkeyboardwidget.h b/ktouch/src/ktouchkeyboardwidget.h
index a629e44c..5eb6f838 100644
--- a/ktouch/src/ktouchkeyboardwidget.h
+++ b/ktouch/src/ktouchkeyboardwidget.h
@@ -48,7 +48,7 @@ class KTouchKeyboardWidget : public TQWidget {
     /// Reads a keyboard layout from the given URL.
     /// The function returns 'true' when the reading was successful or 'false' if not. In this
     /// case the optional parameter errorMsg contains the error message.
-    bool loadKeyboard(TQWidget * window, const KURL& url, TQString* errorMsg=NULL);
+    bool loadKeyboard(TQWidget * window, const KURL& url, TQString* errorMsg=nullptr);
     /// Saves the keyboard layout to the URL.
     void saveKeyboard(TQWidget * window, const KURL& url);
     /// Applies preferences to the keyboard layout and the keys.
diff --git a/ktouch/src/ktouchslideline.cpp b/ktouch/src/ktouchslideline.cpp
index 366fbd77..ed19edd0 100644
--- a/ktouch/src/ktouchslideline.cpp
+++ b/ktouch/src/ktouchslideline.cpp
@@ -43,8 +43,8 @@
 
 KTouchSlideLine::KTouchSlideLine(TQWidget *parent)
   : TQWidget( parent ),
-    m_teacherPixmap(NULL),
-    m_studentPixmap(NULL),
+    m_teacherPixmap(nullptr),
+    m_studentPixmap(nullptr),
     m_slideTimer(this),
     m_cursorVisible(false),
     m_cursorTimer(this)
@@ -166,7 +166,7 @@ void KTouchSlideLine::toggleCursor() {
 
 void KTouchSlideLine::slide() {
 	KD_DEBUG( "[KTouchSlideLine::slide]" << endl );
-    if (m_studentPixmap==NULL || m_teacherPixmap==NULL) return;
+    if (!m_studentPixmap || !m_teacherPixmap) return;
     // calculate new x positions depending on slide speed
     double speed = 1.0 + 0.2*Prefs::slidingSpeed();
 
@@ -226,7 +226,7 @@ void KTouchSlideLine::slide() {
 
 void KTouchSlideLine::paintEvent(TQPaintEvent*) {
     KD_DEBUG( "[KTouchSlideLine::paintEvent]" << endl );
-    if (m_studentPixmap==NULL || m_teacherPixmap==NULL)
+    if (!m_studentPixmap || !m_teacherPixmap)
         updateSlidingLines();
     else
         slide();
@@ -399,9 +399,9 @@ void KTouchSlideLine::updateSlidingLines() {
 
     // delete old pixmaps because we have to change their sizes anyway
     delete m_teacherPixmap;
-	m_teacherPixmap = NULL; // just a precaution
+	m_teacherPixmap = nullptr; // just a precaution
     delete m_studentPixmap;
-	m_studentPixmap = NULL; // just a precaution
+	m_studentPixmap = nullptr; // just a precaution
 
 	// create the teacher pixmap
 	int w = 2*m_marginCursor + m_teacherTextLen; // TODO : add size of enter character
@@ -450,7 +450,7 @@ void KTouchSlideLine::updateSlidingLines() {
 
 void KTouchSlideLine::updateStudentLine() {
 	KD_DEBUG( "[KTouchSlideLine::updateStudentLine]" << endl );
-	if (m_teacherPixmap == NULL || m_studentPixmap == NULL)  return;
+	if (!m_teacherPixmap || !m_studentPixmap)  return;
 
 	// required input member variables:  m_teacherText, m_studentText, m_marginCursor, m_cursorRangeLen
 	//									 m_slideLineHeight, m_xCharWidth, m_teacherTextLen
diff --git a/kturtle/src/executer.cpp b/kturtle/src/executer.cpp
index d98f5df8..0d361f00 100644
--- a/kturtle/src/executer.cpp
+++ b/kturtle/src/executer.cpp
@@ -640,12 +640,12 @@ TQString Executer::runCommand(const TQString& command)
 {
 	FILE *pstream;
 	
-	if ( ( pstream = popen( command.ascii(), "r" ) ) == NULL ) return ("");
+	if (!( pstream = popen( command.ascii(), "r" ) )) return ("");
 	
 	TQString Line;
 	char buf[100];
 	
-	while( fgets(buf, sizeof(buf), pstream) !=NULL) {
+	while(fgets(buf, sizeof(buf), pstream)) {
 		if (bAbort) return ("");
 		tdeApp->processEvents();
 		
diff --git a/kturtle/src/kturtle.h b/kturtle/src/kturtle.h
index f42cbe81..1c75c5b9 100644
--- a/kturtle/src/kturtle.h
+++ b/kturtle/src/kturtle.h
@@ -60,7 +60,7 @@ class MainWindow : public KParts::MainWindow
 
 	protected slots:
 		void slotNewFile();
-		void slotOpenFile(const KURL& url = NULL);
+		void slotOpenFile(const KURL& url = nullptr);
 		void slotOpenExample();
 		void slotSaveFile();
 		void slotSaveAs();
diff --git a/kturtle/src/parser.cpp b/kturtle/src/parser.cpp
index 77de3b04..ec24a291 100644
--- a/kturtle/src/parser.cpp
+++ b/kturtle/src/parser.cpp
@@ -312,8 +312,8 @@ TreeNode* Parser::Term()
 {
 	TreeNode* termNode = signedFactor();
 	TreeNode* pos = termNode;
-	TreeNode* left = NULL;
-	TreeNode* right = NULL;
+	TreeNode* left = nullptr;
+	TreeNode* right = nullptr;
 
 	while ( (currentToken.type == tokMul) || (currentToken.type == tokDev) || (currentToken.type == tokAnd) )
 	{
@@ -348,7 +348,7 @@ TreeNode* Parser::Term()
 				return pos;
 				break;
 		}
-		if (right != NULL) pos->appendChild(right);
+		if (right) pos->appendChild(right);
 		termNode = pos;
 	}
 	return termNode;
@@ -377,8 +377,8 @@ TreeNode* Parser::Expression()
 {
 	TreeNode* retExp = Term(); // preset the base-TreeNode as it eventually will be returned
 	TreeNode* pos = retExp;
-	TreeNode* left = NULL;
-	TreeNode* right = NULL;
+	TreeNode* left = nullptr;
+	TreeNode* right = nullptr;
 
 	while ( isAddOp(currentToken) )
 	{
@@ -447,7 +447,7 @@ TreeNode* Parser::Expression()
 				return pos;
 				break;
 		}
-		if (right != NULL) pos->appendChild(right);
+		if (right) pos->appendChild(right);
 		retExp = pos;
 	}
 	return retExp;
@@ -460,7 +460,7 @@ TreeNode* Parser::Assignment(Token t)
 	matchToken(tokAssign); // match the '='
 
 	// the child is the expression or RHV of assignment
-	TreeNode* expr = NULL;
+	TreeNode* expr = nullptr;
 // 	if (currentToken.type == tokUnknown) expr = Other(); // in case of an functioncall
 // 	else expr = Expression();               -------> fuctioncalls get caught in Expression() and co.
 	
diff --git a/kturtle/src/treenode.cpp b/kturtle/src/treenode.cpp
index 0b5619a5..f7ccbe31 100644
--- a/kturtle/src/treenode.cpp
+++ b/kturtle/src/treenode.cpp
@@ -58,7 +58,7 @@ TreeNode::~TreeNode()
 void TreeNode::init()
 {
 	clear();
-	parent = NULL;
+	parent = nullptr;
 	// fTok.look (TQString) and fTok.value (Value) are properly init'ed when constructed
 	fTok.start.row = 0;
 	fTok.start.col = 0;
@@ -78,7 +78,7 @@ void TreeNode::appendChild(TreeNode* node)
 void TreeNode::appendSibling(TreeNode* node)
 {
 	node->parent = parent;
-	if (parent != NULL) parent->push_back(node);
+	if (parent) parent->push_back(node);
 }
 
 
@@ -96,7 +96,7 @@ TreeNode* TreeNode::nextSibling()
 			if ( i != parent->end() ) return *i;
 		}
 	}
-	return NULL;
+	return nullptr;
 }
 
 TreeNode* TreeNode::prevSibling()
@@ -113,7 +113,7 @@ TreeNode* TreeNode::prevSibling()
 			return *i;
 		}
 	}
-	return NULL;
+	return nullptr;
 }
 
 
@@ -125,7 +125,7 @@ TreeNode* TreeNode::firstChild()
 		TreeNode::const_iterator child = begin();
 		return *child;
 	}
-	return NULL;
+	return nullptr;
 }
 
 TreeNode* TreeNode::secondChild()
@@ -135,7 +135,7 @@ TreeNode* TreeNode::secondChild()
 		TreeNode::const_iterator child = begin();
 		return (*child)->nextSibling();
 	}
-	return NULL;
+	return nullptr;
 }
 
 TreeNode* TreeNode::thirdChild()
@@ -143,9 +143,9 @@ TreeNode* TreeNode::thirdChild()
 	if ( !empty() )
 	{
 		TreeNode* child = secondChild();
-		if (child != NULL) return child->nextSibling();
+		if (child) return child->nextSibling();
 	}
-	return NULL;
+	return nullptr;
 }
 
 TreeNode* TreeNode::fourthChild()
@@ -153,9 +153,9 @@ TreeNode* TreeNode::fourthChild()
 	if ( !empty() )
 	{
 		TreeNode* child = thirdChild();
-		if (child != NULL) return child->nextSibling();
+		if (child) return child->nextSibling();
 	}
-	return NULL;
+	return nullptr;
 }
 
 TreeNode* TreeNode::fifthChild()
@@ -163,9 +163,9 @@ TreeNode* TreeNode::fifthChild()
 	if ( !empty() )
 	{
 		TreeNode* child = fourthChild();
-		if(child != NULL) return child->nextSibling();
+		if(child) return child->nextSibling();
 	}
-	return NULL;
+	return nullptr;
 }
 
 TreeNode* TreeNode::lastChild()
@@ -176,7 +176,7 @@ TreeNode* TreeNode::lastChild()
 		TreeNode::const_reverse_iterator child = rbegin();
 		return *child;
 	}
-	return NULL;
+	return nullptr;
 }
 
 
@@ -184,7 +184,7 @@ TreeNode* TreeNode::lastChild()
 
 TreeNode::iterator TreeNode::lookup()
 {
-	if (parent != NULL)
+	if (parent)
 	{
 		TreeNode::iterator i = parent->begin();
 		while ( (*i != this) && (i != parent->end() ) ) ++i;
@@ -219,7 +219,7 @@ TreeNode& TreeNode::operator= (const TreeNode& t)
 void TreeNode::showTree(TreeNode* node, int indent) const
 {
 	indent++;
-	if ( (node != NULL) && (node->size() > 0) )
+	if (node && node->size() > 0)
 	{
 		for ( TreeNode::const_iterator i = node->begin(); i != node->end(); ++i )
 		{
@@ -243,7 +243,7 @@ void TreeNode::show(int indent)
 //recursively walk down tree and delete every node bottom up
 void TreeNode::destroy(TreeNode* node)
 {
-	if ( (node != NULL) && (node->size() > 0) )
+	if (node && node->size() > 0)
 	{
 		for ( TreeNode::iterator i = node->begin(); i != node->end(); ++i )
 		{
diff --git a/kverbos/kverbos/kverbosdoc.cpp b/kverbos/kverbos/kverbosdoc.cpp
index 33e9b865..b4bd2d45 100644
--- a/kverbos/kverbos/kverbosdoc.cpp
+++ b/kverbos/kverbos/kverbosdoc.cpp
@@ -47,7 +47,7 @@ KVerbosDoc::KVerbosDoc(TQWidget *parent, const char *name) : TQObject(parent, na
 	};
 	pViewList->setAutoDelete(true);
 	// Zufallsgenerator mit einem seed-Wert versorgen
-	srand((unsigned int)time((time_t *)NULL));
+	srand((unsigned int)time((time_t *)nullptr));
 	// Den Zeiger auf einen Benutzer initialisieren
 	benutzer = new KVerbosUser(getList(), DEFAULTUSER);
 }
diff --git a/kvoctrain/kvoctrain/common-dialogs/ProgressDlg.h b/kvoctrain/kvoctrain/common-dialogs/ProgressDlg.h
index 80e78aa5..c635a776 100644
--- a/kvoctrain/kvoctrain/common-dialogs/ProgressDlg.h
+++ b/kvoctrain/kvoctrain/common-dialogs/ProgressDlg.h
@@ -44,8 +44,8 @@ public:
         const TQString &doctitle,
         const TQString &filename,
         const TQString &title,
-        TQWidget* parent = NULL,
-        const char* name = NULL
+        TQWidget* parent = nullptr,
+        const char* name = nullptr
     );
 
  public slots:
diff --git a/kvoctrain/kvoctrain/docprop-dialogs/DocPropDlg.h b/kvoctrain/kvoctrain/docprop-dialogs/DocPropDlg.h
index e6e95b01..0d91ecb4 100644
--- a/kvoctrain/kvoctrain/docprop-dialogs/DocPropDlg.h
+++ b/kvoctrain/kvoctrain/docprop-dialogs/DocPropDlg.h
@@ -60,8 +60,8 @@ public:
     vector<TQString>  types,
     vector<TQString>  tenses,
     vector<TQString>  usages,
-    TQWidget         *parent = NULL,
-    const char      *name = NULL,
+    TQWidget         *parent = nullptr,
+    const char      *name = nullptr,
     bool             modal = true
   );
 
diff --git a/kvoctrain/kvoctrain/docprop-dialogs/DocPropLangDlg.h b/kvoctrain/kvoctrain/docprop-dialogs/DocPropLangDlg.h
index 921c6a77..416789fd 100644
--- a/kvoctrain/kvoctrain/docprop-dialogs/DocPropLangDlg.h
+++ b/kvoctrain/kvoctrain/docprop-dialogs/DocPropLangDlg.h
@@ -43,7 +43,7 @@ class DocPropsLangDlg : public KDialogBase
 
 public:
 
-  DocPropsLangDlg(kvoctrainDoc *doc, LangSet *langset, TQWidget *parent = NULL, const char *name = NULL, bool modal = true);
+  DocPropsLangDlg(kvoctrainDoc *doc, LangSet *langset, TQWidget *parent = nullptr, const char *name = nullptr, bool modal = true);
 
   Conjugation getConjugation(int idx) const;
   Article     getArticle(int idx) const;
diff --git a/kvoctrain/kvoctrain/docprop-dialogs/LangPropPage.h b/kvoctrain/kvoctrain/docprop-dialogs/LangPropPage.h
index 055f5673..cac1c35f 100644
--- a/kvoctrain/kvoctrain/docprop-dialogs/LangPropPage.h
+++ b/kvoctrain/kvoctrain/docprop-dialogs/LangPropPage.h
@@ -46,8 +46,8 @@ public:
     TQString            curr_lang,
     const Conjugation &conjugations,
     const Article     &article,
-    TQWidget           *parent = NULL,
-    const char        *name = NULL
+    TQWidget           *parent = nullptr,
+    const char        *name = nullptr
   );
 
   Conjugation getConjugation();
diff --git a/kvoctrain/kvoctrain/docprop-dialogs/LessOptPage.h b/kvoctrain/kvoctrain/docprop-dialogs/LessOptPage.h
index 8fbaabeb..5dc25cc9 100644
--- a/kvoctrain/kvoctrain/docprop-dialogs/LessOptPage.h
+++ b/kvoctrain/kvoctrain/docprop-dialogs/LessOptPage.h
@@ -45,8 +45,8 @@ public:
   (
     TQComboBox     *lessons,
     kvoctrainDoc  *doc,
-    TQWidget       *parent = NULL,
-    const char    *name = NULL
+    TQWidget       *parent = nullptr,
+    const char    *name = nullptr
   );
 
   void getLesson (TQComboBox *ret_lesson, vector<int>& ret_Index);
diff --git a/kvoctrain/kvoctrain/docprop-dialogs/TenseOptPage.h b/kvoctrain/kvoctrain/docprop-dialogs/TenseOptPage.h
index a6d9dccf..5f4b2468 100644
--- a/kvoctrain/kvoctrain/docprop-dialogs/TenseOptPage.h
+++ b/kvoctrain/kvoctrain/docprop-dialogs/TenseOptPage.h
@@ -46,8 +46,8 @@ public:
   (
     const vector<TQString> &tenses,
     kvoctrainDoc    *doc,
-    TQWidget         *parent = NULL,
-    const char      *name = NULL
+    TQWidget         *parent = nullptr,
+    const char      *name = nullptr
   );
 
   void getTenseNames (vector<TQString> &ret_types, vector<int> &ret_Index);
diff --git a/kvoctrain/kvoctrain/docprop-dialogs/TitlePage.h b/kvoctrain/kvoctrain/docprop-dialogs/TitlePage.h
index 997b4213..efb35ab6 100644
--- a/kvoctrain/kvoctrain/docprop-dialogs/TitlePage.h
+++ b/kvoctrain/kvoctrain/docprop-dialogs/TitlePage.h
@@ -42,8 +42,8 @@ public:
     TQString      author,
     TQString      license,
     TQString      doc_remark,
-    TQWidget     *parent = NULL,
-    const char  *name = NULL
+    TQWidget     *parent = nullptr,
+    const char  *name = nullptr
   );
 
   TQString getTitle() { return title; }
diff --git a/kvoctrain/kvoctrain/docprop-dialogs/TypeOptPage.h b/kvoctrain/kvoctrain/docprop-dialogs/TypeOptPage.h
index bb591bb5..03c1ac6e 100644
--- a/kvoctrain/kvoctrain/docprop-dialogs/TypeOptPage.h
+++ b/kvoctrain/kvoctrain/docprop-dialogs/TypeOptPage.h
@@ -45,8 +45,8 @@ public:
   (
     const vector<TQString> &types,
     kvoctrainDoc    *doc,
-    TQWidget         *parent = NULL,
-    const char      *name = NULL
+    TQWidget         *parent = nullptr,
+    const char      *name = nullptr
   );
 
   void getTypeNames (vector<TQString> &ret_types, vector<int> &ret_Index);
diff --git a/kvoctrain/kvoctrain/docprop-dialogs/UsageOptPage.h b/kvoctrain/kvoctrain/docprop-dialogs/UsageOptPage.h
index 8cf78607..5ddac651 100644
--- a/kvoctrain/kvoctrain/docprop-dialogs/UsageOptPage.h
+++ b/kvoctrain/kvoctrain/docprop-dialogs/UsageOptPage.h
@@ -47,8 +47,8 @@ public:
   (
     const vector<TQString> &usages,
     kvoctrainDoc    *doc,
-    TQWidget         *parent = NULL,
-    const char      *name = NULL
+    TQWidget         *parent = nullptr,
+    const char      *name = nullptr
   );
 
   void getUsageLabels (vector<TQString> &ret_usages, vector<int> &ret_Index);
diff --git a/kvoctrain/kvoctrain/entry-dialogs/AdjEntryPage.h b/kvoctrain/kvoctrain/entry-dialogs/AdjEntryPage.h
index 659286b7..14b3193b 100644
--- a/kvoctrain/kvoctrain/entry-dialogs/AdjEntryPage.h
+++ b/kvoctrain/kvoctrain/entry-dialogs/AdjEntryPage.h
@@ -38,7 +38,7 @@ class AdjEntryPage : public AdjEntryPageForm
   
 
 public:
-  AdjEntryPage(EntryDlg *_dlgbook, bool multi_sel, const Comparison &comp, TQWidget *parent = NULL, const char *name = NULL);
+  AdjEntryPage(EntryDlg *_dlgbook, bool multi_sel, const Comparison &comp, TQWidget *parent = nullptr, const char *name = nullptr);
 
   void setData (bool multi_sel, const Comparison  &comp);
 
diff --git a/kvoctrain/kvoctrain/entry-dialogs/CommonEntryPage.h b/kvoctrain/kvoctrain/entry-dialogs/CommonEntryPage.h
index 5021832a..2ed130a2 100644
--- a/kvoctrain/kvoctrain/entry-dialogs/CommonEntryPage.h
+++ b/kvoctrain/kvoctrain/entry-dialogs/CommonEntryPage.h
@@ -56,8 +56,8 @@ public:
     QueryManager &querymanager,
     bool          active,
     const TQFont&  ipafont,
-    TQWidget* parent = NULL,
-    const char* name = NULL
+    TQWidget* parent = nullptr,
+    const char* name = nullptr
   );
 
   void setData(
diff --git a/kvoctrain/kvoctrain/entry-dialogs/FromToEntryPage.h b/kvoctrain/kvoctrain/entry-dialogs/FromToEntryPage.h
index 2326b860..bed412f0 100644
--- a/kvoctrain/kvoctrain/entry-dialogs/FromToEntryPage.h
+++ b/kvoctrain/kvoctrain/entry-dialogs/FromToEntryPage.h
@@ -52,8 +52,8 @@ public:
       count_t     _bcount,
       TQString     faux,
       TQString     label,
-      TQWidget    *parent = NULL,
-      const char *name = NULL
+      TQWidget    *parent = nullptr,
+      const char *name = nullptr
   );
 
   void setData(
diff --git a/kvoctrain/kvoctrain/entry-dialogs/MCEntryPage.h b/kvoctrain/kvoctrain/entry-dialogs/MCEntryPage.h
index 476a3694..285b0582 100644
--- a/kvoctrain/kvoctrain/entry-dialogs/MCEntryPage.h
+++ b/kvoctrain/kvoctrain/entry-dialogs/MCEntryPage.h
@@ -38,7 +38,7 @@ class MCEntryPage : public MCEntryPageForm
   
 
 public:
-  MCEntryPage(EntryDlg *dlgbook, bool multi_sel, const MultipleChoice &mc, TQWidget *parent = NULL, const char *name = NULL);
+  MCEntryPage(EntryDlg *dlgbook, bool multi_sel, const MultipleChoice &mc, TQWidget *parent = nullptr, const char *name = nullptr);
 
   void setData(bool multi_sel, const MultipleChoice &mc);
 
diff --git a/kvoctrain/kvoctrain/entry-dialogs/TenseEntryPage.h b/kvoctrain/kvoctrain/entry-dialogs/TenseEntryPage.h
index 9bfa4219..7a3e2305 100644
--- a/kvoctrain/kvoctrain/entry-dialogs/TenseEntryPage.h
+++ b/kvoctrain/kvoctrain/entry-dialogs/TenseEntryPage.h
@@ -44,8 +44,8 @@ public:
     bool               multi_sel,
     const Conjugation &con_prefix,
     const Conjugation &conjugations,
-    TQWidget           *parent = NULL,
-    const char        *name = NULL
+    TQWidget           *parent = nullptr,
+    const char        *name = nullptr
   );
 
   void setData(bool multi_sel, const Conjugation &conjugations);
diff --git a/kvoctrain/kvoctrain/kvoctrain.h b/kvoctrain/kvoctrain/kvoctrain.h
index 48ad8b56..902f5575 100644
--- a/kvoctrain/kvoctrain/kvoctrain.h
+++ b/kvoctrain/kvoctrain/kvoctrain.h
@@ -80,7 +80,7 @@ class kvoctrainApp : public TDEMainWindow
 
 public:
   /** construtor */
-  kvoctrainApp(TQWidget *parent = NULL, const char *name = NULL);
+  kvoctrainApp(TQWidget *parent = nullptr, const char *name = nullptr);
   /** destructor */
   ~kvoctrainApp();
   void initActions();
diff --git a/kvoctrain/kvoctrain/kvoctraintable.h b/kvoctrain/kvoctrain/kvoctraintable.h
index bd941179..07aee119 100644
--- a/kvoctrain/kvoctrain/kvoctraintable.h
+++ b/kvoctrain/kvoctrain/kvoctraintable.h
@@ -43,7 +43,7 @@ TQ_OBJECT
   
 public:
   public:
-    KVocTrainTable( kvoctrainDoc *_doc, const LangSet *ls, TQWidget *parent = NULL, const char *name = NULL );
+    KVocTrainTable( kvoctrainDoc *_doc, const LangSet *ls, TQWidget *parent = nullptr, const char *name = nullptr );
 
     friend class kvoctrainView;
 
diff --git a/kvoctrain/kvoctrain/query-dialogs/MCQueryDlg.cpp b/kvoctrain/kvoctrain/query-dialogs/MCQueryDlg.cpp
index 98ad7916..d370de04 100644
--- a/kvoctrain/kvoctrain/query-dialogs/MCQueryDlg.cpp
+++ b/kvoctrain/kvoctrain/query-dialogs/MCQueryDlg.cpp
@@ -187,7 +187,7 @@ void MCQueryDlg::setQuery(TQString org,
      vector<kvoctrainExpr*> exprlist;
      solution = 0;
 
-     srand((unsigned int)time((time_t *)NULL));
+     srand((unsigned int)time((time_t *)nullptr));
      int count = MAX_MULTIPLE_CHOICE;
      // gather random expressions for the choice
      while (count > 0) {
diff --git a/kvoctrain/kvoctrain/statistik-dialogs/GenStatPage.h b/kvoctrain/kvoctrain/statistik-dialogs/GenStatPage.h
index dc5b796c..01c179b5 100644
--- a/kvoctrain/kvoctrain/statistik-dialogs/GenStatPage.h
+++ b/kvoctrain/kvoctrain/statistik-dialogs/GenStatPage.h
@@ -38,7 +38,7 @@ class GenStatPage : public GenStatPageForm
 
 public:
 
-  GenStatPage(kvoctrainDoc *doc, TQWidget* parent = NULL, const char* name = NULL);
+  GenStatPage(kvoctrainDoc *doc, TQWidget* parent = nullptr, const char* name = nullptr);
 
 };
 #endif // GenStatPage_included
diff --git a/kvoctrain/kvoctrain/statistik-dialogs/StatistikDlg.h b/kvoctrain/kvoctrain/statistik-dialogs/StatistikDlg.h
index fbe695ea..2d99a070 100644
--- a/kvoctrain/kvoctrain/statistik-dialogs/StatistikDlg.h
+++ b/kvoctrain/kvoctrain/statistik-dialogs/StatistikDlg.h
@@ -41,7 +41,7 @@ class StatistikDlg : public KDialogBase
   
 
 public:
-  StatistikDlg(LangSet &langset, kvoctrainDoc *doc, TQWidget *parent = NULL, const char *name = NULL, bool modal = true);
+  StatistikDlg(LangSet &langset, kvoctrainDoc *doc, TQWidget *parent = nullptr, const char *name = nullptr, bool modal = true);
 
 };
 
diff --git a/kvoctrain/kvoctrain/statistik-dialogs/StatistikPage.h b/kvoctrain/kvoctrain/statistik-dialogs/StatistikPage.h
index a8084a74..c5493765 100644
--- a/kvoctrain/kvoctrain/statistik-dialogs/StatistikPage.h
+++ b/kvoctrain/kvoctrain/statistik-dialogs/StatistikPage.h
@@ -41,7 +41,7 @@ class StatistikPage : public StatistikPageForm
   
 
 public:
-  StatistikPage(int col, kvoctrainDoc *doc, TQWidget *parent = NULL, const char *name = NULL);
+  StatistikPage(int col, kvoctrainDoc *doc, TQWidget *parent = nullptr, const char *name = nullptr);
 
 public slots:
   void slotPopupMenu(int row, int col);
diff --git a/libtdeedu/extdate/testwidget.h b/libtdeedu/extdate/testwidget.h
index 04d045f3..d00b38ed 100644
--- a/libtdeedu/extdate/testwidget.h
+++ b/libtdeedu/extdate/testwidget.h
@@ -33,7 +33,7 @@ class TestWidget : public TDEMainWindow {
 	TQ_OBJECT
   
 	public:
-		TestWidget(TQWidget *parent = NULL, const char *name = NULL);
+		TestWidget(TQWidget *parent = nullptr, const char *name = nullptr);
 		~TestWidget() {}
 
 	public slots:
-- 
cgit v1.2.3

