summaryrefslogtreecommitdiff
path: root/noncore/net
Side-by-side diff
Diffstat (limited to 'noncore/net') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/wellenreiter/gui/packetview.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/noncore/net/wellenreiter/gui/packetview.cpp b/noncore/net/wellenreiter/gui/packetview.cpp
index f0f16ff..69438fa 100644
--- a/noncore/net/wellenreiter/gui/packetview.cpp
+++ b/noncore/net/wellenreiter/gui/packetview.cpp
@@ -64,35 +64,37 @@ PacketView::PacketView( QWidget * parent, const char * name, WFlags f )
connect( _number, SIGNAL( valueChanged( int ) ), this, SLOT( showPacket( int ) ) );
connect( parent, SIGNAL( currentChanged( QWidget *) ), this, SLOT( activated( QWidget* ) ) );
clear();
}
void PacketView::add( const OPacket* p, int size )
{
odebug << "PacketView::add() size = " << size << oendl;
if ( size == -1 ) // unlimited buffer
{
_packets.append( p );
}
else
- // limited buffer, limit = size
- if ( _packets.count() < size )
- {
+ { // limited buffer, limit = size
+ while ( _packets.count() >= size )
+ {
+ _packets.removeFirst();
+ }
_packets.append( p );
}
_number->setMinValue( 1 );
_number->setMaxValue( _packets.count() );
_number->setValue( _packets.count() );
}
void PacketView::showPacket( int number )
{
_list->clear();
_hex->setText("");
const OPacket* p = _packets.at( number-1 );
if ( p )
{