[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#529435: QListBox::current set in insertItem without currentChanged emiting



Package: qt-x11-free
Severity: normal

Hi,
I have just noticed that buggy behavior in my application is caused by
QListBox::current being set during insertItem without triggering currentChanged.
My application uses currentChanged handler for enable/disable logic and
so this doesn't work in case that box was empty.

I am not sure whether this is correct or not, but it is at least
inconsistent for cases like:

box->insertItem(item, pos);
box->setCurrentItem(pos);

because this will trigger currentChanged signal only if box wasn't empty
before.

I have checked the source and really QListBox::insertItem does something
like:

    if ( hasFocus() && !d->current ) {
	d->current = d->head;
	updateItem( d->current );
	emit highlighted( d->current );
	emit highlighted( d->current->text() );
	emit highlighted( index );
    }

I think that we are missing emit currentChanged there.

-- System Information:
Debian Release: squeeze/sid
  APT prefers testing
  APT policy: (990, 'testing'), (500, 'unstable'), (500, 'stable')
Architecture: i386 (i686)

Kernel: Linux 2.6.30-rc6-22ef37eed673587ac984965dc88ba94c68873291 (SMP w/2 CPU cores; PREEMPT)
Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968) (ignored: LC_ALL set to C)
Shell: /bin/sh linked to /bin/bash



Reply to: