[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    KDE/kdebase/workspace/ksysguard/gui/SensorDisplayLib
From:       John Tapsell <john.tapsell () kdemail ! net>
Date:       2008-04-24 21:51:16
Message-ID: 1209073876.313206.12857.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 800818 by johnflux:

Discard when data has the wrong number of beams.

BUG:160832


 M  +1 -2      FancyPlotter.cc  
 M  +6 -1      SignalPlotter.cc  


--- trunk/KDE/kdebase/workspace/ksysguard/gui/SensorDisplayLib/FancyPlotter.cc #800817:800818
@@ -254,9 +254,8 @@
   }
 
   mPlotter->removeBeam( pos );
-  mBeams--;
+  --mBeams;
   KSGRD::SensorDisplay::removeSensor( pos );
-
   return true;
 }
 
--- trunk/KDE/kdebase/workspace/ksysguard/gui/SensorDisplayLib/SignalPlotter.cc #800817:800818
@@ -128,8 +128,11 @@
     if(mSamples < 4)
       return;
   }
+  if(sampleBuf.count() != mBeamColors.count()) {
+	  kDebug(1215) << "Sample data discarded - contains wrong number of beams";
+	  return;
+  }
   mBeamData.prepend(sampleBuf);
-  Q_ASSERT(sampleBuf.count() == mBeamColors.count());
   if((unsigned int)mBeamData.size() > mSamples) {
     mBeamData.removeLast(); // we have too many.  Remove the last item
     if((unsigned int)mBeamData.size() > mSamples)
@@ -191,7 +194,9 @@
 void KSignalPlotter::removeBeam( uint pos )
 {
   if(pos >= (uint)mBeamColors.size()) return;
+  if(pos >= (uint)mBeamColorsDark.size()) return;
   mBeamColors.removeAt( pos );
+  mBeamColorsDark.removeAt(pos);
 
   QLinkedList< QList<double> >::Iterator i;
   for(i = mBeamData.begin(); i != mBeamData.end(); ++i) {
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic