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: