Version: 1.2.0 (using KDE KDE 3.5.2) Installed from: Gentoo Packages Compiler: gcc 3.4.6 OS: Linux If a bar graph is chosen, only a small orange lightning flash in the top left corner is displayed. State of the sensor is: Error.
That's usually because the data that the graph was monitoring has disappeared. The bar graph works for me. What steps did you take to cause this error?
Well, I have done nothing. I just started ksysguard and tried to use a bar graph with some of the sensors. No sensor worked (but they work with other types of graphs). It seems, I am not the only one with this problem, see http://forums.gentoo.org/viewtopic-t-466716-highlight-.html
I am confirming that problem on a different platform: SuSE 10.1 works ok (kdebase3-3.5.1-69.15) After upgrading to the latest KDE packages built by OpenSuSE http://software.opensuse.org/download/KDE:/KDE3/ to kdebase3-3.5.3-21.2 I see the exact same behaviour. The sensor is working fine as Signal Plotter or as Multimeter but as BarGraph I get an error and the orange lightning flash is displayed in the top left corner.
I have the same problem with Debian testing and Debian unstable since kde 3.5.3
I just upgraded my Fedora 5 system to kdebase-3.4.0-5, and I have the problem too. No sensors work in a bar graph, but the same sensors work fine in a signal plotter or multimeter. As reported by others, the sensor status is "error", and there is a lightning bolt in the upper left.
Arggg... That should have been kdebase-3.5.3-0.4.fc5. Sorry.
Created attachment 17141 [details] patch
I have attached a patch that fixes the problem. The QBitArray does not want a bit-shift, it wants the integer value itself.
Created attachment 17142 [details] corrected patch Here is a corrected patch. What is wanted is to check to be sure that all bits of the mFlags have been set. So, I added a loop to verify that all updates have been received before applying the updated samples.
SVN commit 568458 by tokoe: Fixed bug #128306 like proposed in the patch, just with a small cleanup ;) Thank you very much! BUGS: 128306 M +5 -1 DancingBars.cc --- branches/KDE/3.5/kdebase/ksysguard/gui/SensorDisplayLib/DancingBars.cc #568457:568458 @@ -253,7 +253,11 @@ } mFlags.setBit( id, true ); - if ( mFlags.testBit( ( 1 << mBars ) - 1 ) == true ) { + bool allBitsAvailable = true; + for ( uint i = 0; i < mBars; ++i ) + allBitsAvailable &= mFlags.testBit( i ); + + if ( allBitsAvailable ) { mPlotter->updateSamples( mSampleBuffer ); mFlags.fill( false ); }
Glad to be able to help! And I like your cleanup - it is a very readable way to code that test.