Index: trunk/BNC/RTCM/GPSDecoder.h
===================================================================
--- trunk/BNC/RTCM/GPSDecoder.h	(revision 464)
+++ trunk/BNC/RTCM/GPSDecoder.h	(revision 621)
@@ -26,7 +26,8 @@
 #define GPSDECODER_H
 
-#include <list>
+#include <QPointer>
+#include <QList>
 
-class Observation {
+class Observation : public QObject{
   public:
   Observation() {
@@ -68,9 +69,11 @@
 };
 
+typedef QPointer<Observation> p_obs;
+
 class GPSDecoder {
   public:
     virtual void Decode(char* buffer, int bufLen) = 0;
     virtual ~GPSDecoder() {}
-    std::list<Observation*> _obsList;
+    QList<p_obs> _obsList;
 };
 
Index: trunk/BNC/RTCM/RTCM2Decoder.cpp
===================================================================
--- trunk/BNC/RTCM/RTCM2Decoder.cpp	(revision 464)
+++ trunk/BNC/RTCM/RTCM2Decoder.cpp	(revision 621)
@@ -58,5 +58,9 @@
 
 RTCM2Decoder::~RTCM2Decoder() {
-
+  QListIterator<p_obs> it(_obsList);
+  while (it.hasNext()) {
+    delete it.next();
+  }
+  _obsList.clear();
 }
 
