Bug 161369 - Quick filter indicator lamp is not working properly in recursive image folder view mode
Summary: Quick filter indicator lamp is not working properly in recursive image folder...
Status: RESOLVED FIXED
Alias: None
Product: digikam
Classification: Applications
Component: Albums-Filters (show other bugs)
Version: unspecified
Platform: unspecified Linux
: NOR normal
Target Milestone: ---
Assignee: Digikam Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-04-28 14:43 UTC by Andi Clemens
Modified: 2012-08-02 09:11 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In: 0.9.5


Attachments
folder structure (16.84 KB, image/png)
2008-04-28 14:43 UTC, Andi Clemens
Details
OBSOLETE: report showing the different states of the quick filter indicator (20.16 KB, application/pdf)
2008-04-28 14:44 UTC, Andi Clemens
Details
OBSOLETE: report showing the different states of the quick filter indicator (30.56 KB, application/pdf)
2008-04-28 15:45 UTC, Andi Clemens
Details
test cases (78.94 KB, application/pdf)
2008-04-29 12:49 UTC, Andi Clemens
Details
possible patch for filter indicator lamp issue (717 bytes, patch)
2008-04-30 20:07 UTC, Andi Clemens
Details
Backtrace (2.43 KB, application/octet-stream)
2008-05-20 10:21 UTC, Andi Clemens
Details
Backtrace (2.43 KB, text/plain)
2008-05-20 10:22 UTC, Andi Clemens
Details
after applying the patch (2.43 KB, text/plain)
2008-05-25 15:49 UTC, Andi Clemens
Details
backtrace after applying SVN changes (2.43 KB, text/plain)
2008-05-25 15:59 UTC, Andi Clemens
Details
valgrind output (including normal debugging output from digikam) (27.04 KB, text/plain)
2008-05-25 16:13 UTC, Andi Clemens
Details
video showing the indicator issue (847.05 KB, application/octet-stream)
2008-05-25 22:06 UTC, Andi Clemens
Details
possible fix (1.08 KB, patch)
2008-06-17 14:54 UTC, Andi Clemens
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Andi Clemens 2008-04-28 14:43:06 UTC
Version:           0.9.4-beta4 (using 3.5.9, Arch Linux)
Compiler:          Target: i686-pc-linux-gnu
OS:                Linux (i686) release 2.6.24-ARCH

I discovered that the "quick filter lamp / indicator" is not working properly in recursive album view mode.
I have a folder structure that can be seen in my attached screenshot.
In album3c is an image rated with 5 stars. When I enable the quick filter for ratings >=5 and click on the toplevel album 'root' (which is not the album root of digikam, just a normal folder), the former green lamp becomes red, although the image rated with 5 stars is visible in the image list window. When I click on the parent folder of album3c ('album3'), the lamp is green again.
The strange thing is that this problem is not reproducible in all of my image folders. I have another folder, lets call it 'root2', that has nearly the same structure and folder depth. When I tag an image in '/root2/album3/album3c' with a rating of 5 stars, activate the quick filter and click on 'root2', the lamp stays green.
My first thought was that maybe the folder depth might be an issue so I rebuild the structure of 'root' (lets call it 'root3' for now) and copied one image in every folder. I rated the image in '/root3/album3/album3c' with 5 stars, activated the quick filter and clicked on the 'root3' folder. But surprisingly the lamp staid green as well, although the original tree turned the lamp to red.
In the next step I copied the exact amount of images into the folders (like in the screenshot) and then the problem was reproducible again. So not only the folder depth might be the problem, also the amount of images in those folders could be an issue. I played around with the images in the 'root3' folder, rated some images and recognized that when I rate an image in folder '/root3/album9' (the last one in the tree) and click with the quick filter activated on the 'root3' folder, the lamp turns green. Un-rating the image in 'album9' and clicking on the 'root3' folder turns the lamp red again. One thing that can be recognized is that the lamp turns green for half a second, then red, then green again and finally red (it flickers). So I guess while running through the underlaying folders, the status of the lamp is changed 4 times, resulting in "the red state" altough this is wrong.
So to sum it up: Not only the structure and depth of the folders seem to be an issue, also the amount of images and even the "position" of the rated or tagged images is responsible for this bug.
It is hard to describe and even harder for you guys to reproduce it I think, but if you build a folder structure like in my screenshot and copy the same amount of images in there, you hopefully see what I'm trying to tell you here :-)
I also attach a PDF were I try to show what ratings in which folder turn the light / lamp / indicator green and red.
Hope you understand what I want to say here, my bad english even got worse today... I don't understand a single thing I'm writing here... :-)

PS.: I found another issue: When quick filter is enabled and I remove a rating from >70 images, digiKam crashes, if I disable the quick filter, everything is fine and I am able to un-rate the images.
Comment 1 Andi Clemens 2008-04-28 14:43:41 UTC
Created attachment 24541 [details]
folder structure
Comment 2 Andi Clemens 2008-04-28 14:44:36 UTC
Created attachment 24542 [details]
OBSOLETE: report showing the different states of the quick filter indicator
Comment 3 Andi Clemens 2008-04-28 15:45:43 UTC
Created attachment 24543 [details]
OBSOLETE: report showing the different states of the quick filter indicator 

somehow the PDF seems to be broken, I was not able to open it anymore. I'll
attach a new version...
Comment 4 Andi Clemens 2008-04-29 12:49:48 UTC
Created attachment 24554 [details]
test cases

added some more test cases and a screenshot showing the problem
Comment 5 caulier.gilles 2008-04-29 13:17:58 UTC
Andi,

Thanks for this great document.

If you want to hack code, all is in ImageFilter :

http://websvn.kde.org/branches/extragear/kde3/graphics/digikam/digikam/albumlister.cpp?revision=786938&view=markup

especially look signals :

    void signalItemsTextFilterMatch(bool); // dedicated to toogle background color of status bar search text filter.

    void signalItemsFilterMatch(bool);     // dedicated to toogle status bar filter light color.

Gilles Caulier
Comment 6 caulier.gilles 2008-04-29 13:23:56 UTC
>If you want to hack code, all is in ImageFilter :

Sorry, AlbumLister class i want mean (:=)))

Gilles
Comment 7 Andi Clemens 2008-04-29 13:27:56 UTC
Well I already looked in AlbumLister and played around with gdb to find the problem... Maybe I'll come to a conclusion and post a patch here.
Comment 8 Andi Clemens 2008-04-30 20:07:47 UTC
Created attachment 24578 [details]
possible patch for filter indicator lamp issue
Comment 9 Andi Clemens 2008-05-01 18:46:59 UTC
Hi Mik,

Gilles asked me to leave a comment here to ask you to test this patch.
If you want to test it, make sure to have the same folder structure and amount of images in there like in my attached screenshot, otherwise the bug might not be seen at all. It is not happening all the time, so creating this folder structure is necessary (you do not have to name all folders like shown in the image, but the depth and amount of images is really important).

Thanks in advance

Andi
Comment 10 caulier.gilles 2008-05-16 16:20:11 UTC
Mik,

Please take a look in patch from Andi (look message from #9). Please test indeep status bar indicator and report if all is fine for you. 

Thanks in advance.

Gilles Caulier
Comment 11 Mikolaj Machowski 2008-05-17 17:40:48 UTC
Sorry, didn't notice this message earlier.

1) couldn't reproduce original bug
2) applied patch, nothing seems broken so if it fixes this corner
   case...
3) cannot confirm crash when de-tagging many images at once; it takes
   some times, rating widget in right panel flickers but everything
   works
Comment 12 Andi Clemens 2008-05-20 10:09:18 UTC
Hi,

I still can confirm the crashing while the rating quick filter is enabled. If I set this filter to (=1) and remove or change the rating of the displayed images, digiKam just crashes, but only if I remove / change the rating of more than 7 images... very strange.
Comment 13 Arnd Baecker 2008-05-20 10:18:20 UTC
Andi, could you run this with a debug build of digikam to
obtain a proper backtrace with gdb? Maybe Gilles can make
a sense of the backtrace to solve the issue .... 
Thanks a lot, Arnd
Comment 14 caulier.gilles 2008-05-20 10:18:44 UTC
Andi,

What's the GDB backtrace exactly ?

Gilles
Comment 15 Andi Clemens 2008-05-20 10:21:44 UTC
Created attachment 24860 [details]
Backtrace
Comment 16 Andi Clemens 2008-05-20 10:22:47 UTC
Created attachment 24861 [details]
Backtrace

the first one is not opening in my browser, hopefully this attachment works now
Comment 17 Andi Clemens 2008-05-20 10:25:49 UTC
Just a comment: When I run digiKam in Kdevelop using the debugger, it crashes here:

=============================
itemgroupitem.cpp (line 115)
=============================
IconItem* IconGroupItem::firstItem() const
{
    return d->firstItem;    
}
Comment 18 Andi Clemens 2008-05-20 10:27:37 UTC
I mean icongroupitem.cpp
Comment 19 Andi Clemens 2008-05-20 10:35:19 UTC
Sometimes it crashes in iconitem.cpp as well:

============
iconitem.cpp
============
bool IconItem::isSelected() const
{
    return m_selected;
}
Comment 20 Andi Clemens 2008-05-21 13:16:14 UTC
I just reverted the file 'albumlister.cpp' to check if my patch may be responsible for the crash, but still the same behavior. So I don't think it has anything to do with the indicator lamp issue... maybe a new bugreport would be better?
Comment 21 caulier.gilles 2008-05-21 13:25:37 UTC
Andy,

The crash is not reproductible here. I use Kdevelop everyday to hack digiKam...

clean up all source code, make a fresh checkout, and recompile and install all.

... and try to reproduce it

Gilles
Comment 22 Andi Clemens 2008-05-21 13:29:46 UTC
It crashes with the official packages from archlinux (0.9.3) as well as with the tarball from the digikam website (beta4) and the SVN version (beta5). All of the three versions show this behavior.
Comment 23 Andi Clemens 2008-05-21 13:32:06 UTC
Ok maybe I should demonstrate how I reproduce the effect:

1. Select an album in the album view
2. select more than 10 images, to make it easy just select all
3. Assign a rating of 3
4. Assign a quick filter with a rating (>=3)
5. select all images again 
6. remove the rating from all images while quickfilter is active

It should crash right now.
Comment 24 Andi Clemens 2008-05-21 13:55:08 UTC
I just fired up my Ubuntu virtualbox, installed digikam (0.9.3), copied some images in there and created a new database... This version also crashes, so I don't think it has anything to do with my system here, it seems to be a "real" bug.
Comment 25 caulier.gilles 2008-05-21 14:08:48 UTC
to Andy, #23

I confirm : no crash here... after step 6. all icons diseapear and status indicator become red... as espected.

Gilles 
Comment 26 Andi Clemens 2008-05-21 14:15:05 UTC
It is not always, sometimes I have to redo all the steps... but 10 minutes ago as I checked the package from Ubuntu 8.04 it crashed immediately.
Comment 27 caulier.gilles 2008-05-21 14:19:08 UTC
Marcel, Gerhard, Arnd, Mik,

Are you able to reproduce the crash from #23 ?

Gilles Caulier
Comment 28 Julien Narboux 2008-05-21 14:29:17 UTC
Gilles,

I could not reproduce this bug...

Julien
Comment 29 Andi Clemens 2008-05-21 14:30:57 UTC
This is interesting, though I don't know why it happens: DigiKam only crashes when the window is maximized (not fullscreen), if I shrink the window so that only 4 or 6 images are listed in the album view, the crash is not reproducible. If I maximize it (15 images are listed), it crashes.
This behavior can be reproduced in Archlinux using all three versions mentioned in #22 and in Ubuntu 8.04 using the official package.
Comment 30 Andi Clemens 2008-05-21 14:36:39 UTC
Another interesting fact: It only crashes when using the keyboard shortcut, NOT when using the menu item. Again can be reproduced in all mentioned versions and linux distributions.
Comment 31 caulier.gilles 2008-05-21 14:39:10 UTC
Julien, thanks for the feedback

Andy, which keyboard shortcuts exactly ?

Gilles


Comment 32 Andi Clemens 2008-05-21 14:43:42 UTC
The one for removing a rating (CTRL+0), I also used an alternate one (just the 0), but it also crashes. When using the context menu, it does not crash.
Comment 33 Julien Narboux 2008-05-21 14:51:42 UTC
I can reproduce the bug with keyboard shortcuts.

Gilles, if you want a proper backtrace I can recompile with debug symbols.

Julien
Comment 34 caulier.gilles 2008-05-21 14:55:40 UTC
Yes, a backtrace can be suitable

Gilles
Comment 35 Andi Clemens 2008-05-21 14:55:48 UTC
What can be recognized just by watching the program do its job: When using the keyboard shortcut, images are removed from the view while assigning the rating.
When using the context menu, no images are removed until the rating is done completely.
Comment 36 caulier.gilles 2008-05-21 15:01:04 UTC
Andi, Julien,

I'm still not able to reproduce the crash here, using keyboard shortcuts... 

Gilles
Comment 37 Andi Clemens 2008-05-21 15:05:30 UTC
Hmm so its 2:1... we win!!! ;-)
I don't know why it is happening, but I tried it on a totally different computer now (my fileserver, where I installed KDE just for this test). It is a Debian system. Crash can be confirmed as well.
Comment 38 Julien Narboux 2008-05-21 15:33:03 UTC
Gilles, 

Tell me if this helps.

Julien

Using host libthread_db library "/lib/tls/i686/cmov/libthread_db.so.1".
[Thread debugging using libthread_db enabled]
[New Thread -1250280832 (LWP 29304)]
[KCrash handler]
#6  0xb7c68cba in Digikam::IconItem::isSelected (this=0x2f0032)
    at iconitem.cpp:126
#7  0xb7c12f80 in Digikam::AlbumIconView::slotAssignRating (this=0x81324a0, 
    rating=1) at albumiconview.cpp:2370
#8  0xb7c52472 in Digikam::DigikamView::slotAssignRatingOneStar (
    this=0x812e388) at digikamview.cpp:1423
#9  0xb7c58be7 in Digikam::DigikamView::qt_invoke (this=0x812e388, _id=96, 
    _o=0xbfceb3ac) at digikamview.moc:535
#10 0xb6104893 in QObject::activate_signal () from /usr/lib/libqt-mt.so.3
#11 0xb6105338 in QObject::activate_signal () from /usr/lib/libqt-mt.so.3
#12 0xb6a6f3d9 in KAction::activated () from /usr/lib/libkdeui.so.4
#13 0xb6ab1ca2 in KAction::slotActivated () from /usr/lib/libkdeui.so.4
#14 0xb6bafb2f in KAction::qt_invoke () from /usr/lib/libkdeui.so.4
#15 0xb6104893 in QObject::activate_signal () from /usr/lib/libqt-mt.so.3
#16 0xb6105338 in QObject::activate_signal () from /usr/lib/libqt-mt.so.3
#17 0xb6793109 in KAccelPrivate::menuItemActivated ()
   from /usr/lib/libkdecore.so.4
#18 0xb67e0b17 in KAccelPrivate::emitActivatedSignal ()
   from /usr/lib/libkdecore.so.4
#19 0xb684b17e in KAccelPrivate::eventFilter () from /usr/lib/libkdecore.so.4
#20 0xb6103e40 in QObject::activate_filters () from /usr/lib/libqt-mt.so.3
#21 0xb6103ebe in QObject::event () from /usr/lib/libqt-mt.so.3
#22 0xb613b5b3 in QWidget::event () from /usr/lib/libqt-mt.so.3
#23 0xb6211c5a in QMainWindow::event () from /usr/lib/libqt-mt.so.3
#24 0xb609baf0 in QApplication::internalNotify () from /usr/lib/libqt-mt.so.3
#25 0xb609dac0 in QApplication::notify () from /usr/lib/libqt-mt.so.3
#26 0xb687ccd2 in KApplication::notify () from /usr/lib/libkdecore.so.4
#27 0xb67eeaf7 in KAccelEventHandler::x11Event ()
   from /usr/lib/libkdecore.so.4
#28 0xb687b103 in KApplication::x11EventFilter ()
   from /usr/lib/libkdecore.so.4
#29 0xb601a153 in ?? () from /usr/lib/libqt-mt.so.3
#30 0xbfcebee0 in ?? ()
#31 0xbfcebca8 in ?? ()
#32 0x00000001 in ?? ()
#33 0xb65cc8d0 in ?? () from /usr/lib/libqt-mt.so.3
#34 0xbfcebca8 in ?? ()
#35 0xb65cc8d0 in ?? () from /usr/lib/libqt-mt.so.3
#36 0xbfcebb48 in ?? ()
#37 0xb602a8e2 in QApplication::x11ProcessEvent () from /usr/lib/libqt-mt.so.3
Backtrace stopped: frame did not save the PC
Comment 39 Andi Clemens 2008-05-21 15:36:05 UTC
Well this is nearly the same backtrace I posted before... so we have the same issue going on here...
Comment 40 Andi Clemens 2008-05-25 15:33:15 UTC
Just to be sure, here is a new backtrace (because of huge differences dicussed in IRC):

Using host libthread_db library "/lib/libthread_db.so.1".
[Thread debugging using libthread_db enabled]
[New Thread 0xb5a1f8e0 (LWP 25033)]
[KCrash handler]
#6  0xb7cb41b3 in Digikam::AlbumIconItem::imageInfo (this=0x89fb2d0)
    at albumiconitem.cpp:159
#7  0xb7cbcd55 in Digikam::AlbumIconView::slotAssignRating (this=0x8795020, 
    rating=0) at albumiconview.cpp:2248
#8  0xb7cfbeb6 in Digikam::DigikamView::slotAssignRatingNoStar (this=0x8790fd0)
    at digikamview.cpp:1418
#9  0xb7d026b7 in Digikam::DigikamView::qt_invoke (this=0x8790fd0, _id=94, 
    _o=0xbfc407f4) at digikamview.moc:534
#10 0xb628b558 in QObject::activate_signal () from /opt/qt/lib/libqt-mt.so.3
#11 0xb628d3e3 in QObject::activate_signal () from /opt/qt/lib/libqt-mt.so.3
#12 0xb6afafa4 in KAction::activated () from /opt/kde/lib/libkdeui.so.4
#13 0xb6b406eb in KAction::slotActivated () from /opt/kde/lib/libkdeui.so.4
#14 0xb6be4f05 in KAction::qt_invoke () from /opt/kde/lib/libkdeui.so.4
#15 0xb628b558 in QObject::activate_signal () from /opt/qt/lib/libqt-mt.so.3
#16 0xb628d3e3 in QObject::activate_signal () from /opt/qt/lib/libqt-mt.so.3
#17 0xb683bd6e in KAccelPrivate::menuItemActivated ()
   from /opt/kde/lib/libkdecore.so.4
#18 0xb685db99 in KAccelPrivate::emitActivatedSignal ()
   from /opt/kde/lib/libkdecore.so.4
#19 0xb692f7c1 in KAccelPrivate::eventFilter ()
   from /opt/kde/lib/libkdecore.so.4
#20 0xb628b5fb in QObject::activate_filters () from /opt/qt/lib/libqt-mt.so.3
#21 0xb628b664 in QObject::event () from /opt/qt/lib/libqt-mt.so.3
#22 0xb62c1c4d in QWidget::event () from /opt/qt/lib/libqt-mt.so.3
#23 0xb6378273 in QMainWindow::event () from /opt/qt/lib/libqt-mt.so.3
#24 0xb622b7c3 in QApplication::internalNotify ()
   from /opt/qt/lib/libqt-mt.so.3
#25 0xb622d2df in QApplication::notify () from /opt/qt/lib/libqt-mt.so.3
#26 0xb6927154 in KApplication::notify () from /opt/kde/lib/libkdecore.so.4
#27 0xb68515fc in KAccelEventHandler::x11Event ()
   from /opt/kde/lib/libkdecore.so.4
#28 0xb692c54d in KApplication::x11EventFilter ()
   from /opt/kde/lib/libkdecore.so.4
#29 0xb61b7f5d in ?? () from /opt/qt/lib/libqt-mt.so.3
#30 0xbfc41194 in ?? ()
#31 0xbfc41088 in ?? ()
#32 0x00000001 in ?? ()
#33 0xb66d75a4 in ?? () from /opt/qt/lib/libqt-mt.so.3
#34 0xb66d75a4 in ?? () from /opt/qt/lib/libqt-mt.so.3
#35 0x00000013 in ?? ()
#36 0xbfc40f38 in ?? ()
#37 0xb61c62dc in QApplication::x11ProcessEvent ()
   from /opt/qt/lib/libqt-mt.so.3
Backtrace stopped: frame did not save the PC
Comment 41 caulier.gilles 2008-05-25 15:49:00 UTC
SVN commit 812423 by cgilles:

try to fix crash with rating keyboard shortcuts.
CCBUGS: 161369


 M  +13 -10    albumiconview.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=812423
Comment 42 Andi Clemens 2008-05-25 15:49:01 UTC
Created attachment 24931 [details]
after applying the patch
Comment 43 Andi Clemens 2008-05-25 15:59:05 UTC
Created attachment 24932 [details]
backtrace after applying SVN changes
Comment 44 caulier.gilles 2008-05-25 16:07:51 UTC
==> Marcel, 

What do you think about the backtrace reproted by Andy. It's sound like a race condition. Or...

...something change iconviewitem instance in memory (corruption) ?

Can you reproduce the crash ? (me i cannot). Look #23 for details.

==> Mik, 

Are you able to reproduce the crash on your computer ?

Gilles
Comment 45 Andi Clemens 2008-05-25 16:13:39 UTC
Created attachment 24933 [details]
valgrind output (including normal debugging output from digikam)
Comment 46 Andi Clemens 2008-05-25 16:38:07 UTC
Some notes concerning the crashing of digikam while rating images using a quickfilter:

When using valgrind, the program is running very slow, so you can actually see exactly what is going on.
When using the context menu, the images are displayed in the quick filter until all rating is done, using the keyboard shortcut, they disappear while assigning the rating.
For example the first row in the iconview contains 4 images. The quickfilter is set and the rating will be removed with the keyboard shortcut. After a while, the first row disappears from the iconview, while the forth image (the last in the row) is still assigned with the new rating.
After that, digiKam crashes.
Using the context menu, everything is displayed until the rating is done completely.
Comment 47 Andi Clemens 2008-05-25 16:46:36 UTC
One little note, for those of you who are not able to reproduce the crash.

When you have enabled the following setting:
Settings->Metadata->Common Metadata Actions->save image rating as tags

the chance is that digiKam runs so slow that the error will not appear. So try to uncheck this option and redo the steps from #23
Comment 48 caulier.gilles 2008-05-25 18:02:15 UTC
SVN commit 812500 by cgilles:

second try to fix Rating assign from keybord shortcuts
CCBUGS: 161369


 M  +5 -3      albumiconview.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=812500
Comment 49 caulier.gilles 2008-05-25 18:19:32 UTC
SVN commit 812506 by cgilles:

same problem here. we need to block AlbumLister when Rating is assigned
CCBUGS: 161369


 M  +3 -0      imagedescedittab.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=812506
Comment 50 caulier.gilles 2008-05-25 18:31:35 UTC
SVN commit 812510 by cgilles:

Same problem here with tags assignement and tags filter about AlbumLister handling
CCBUGS: 161369


 M  +2 -0      digikam/albumiconview.cpp  
 M  +2 -0      digikam/tagfilterview.cpp  
 M  +4 -1      digikam/tagfolderview.cpp  
 M  +3 -0      libs/imageproperties/talbumlistview.cpp  
 M  +2 -2      project/project.kdevelop  


WebSVN link: http://websvn.kde.org/?view=rev&revision=812510
Comment 51 caulier.gilles 2008-05-25 19:41:01 UTC
SVN commit 812535 by cgilles:

backport commits #812500, 812506, 812510 from KDE branch
CCBUGS: 161369


 M  +25 -23    digikam/albumiconview.cpp  
 M  +15 -15    digikam/tagfilterview.cpp  
 M  +16 -15    digikam/tagfolderview.cpp  
 M  +30 -24    libs/imageproperties/imagedescedittab.cpp  
 M  +16 -15    libs/imageproperties/talbumlistview.cpp  
 M  +18 -2     project/project.kdevelop  


WebSVN link: http://websvn.kde.org/?view=rev&revision=812535
Comment 52 caulier.gilles 2008-05-25 20:00:16 UTC
Andy, i'm back to the origin problem from this thread. 

Can you check if your can reproduce the problem to enable all Metadata settings in config panel ? Note : this is my configuration...

Gilles
Comment 53 Andi Clemens 2008-05-25 22:06:34 UTC
Created attachment 24939 [details]
video showing the indicator issue
Comment 54 Andi Clemens 2008-06-17 14:42:14 UTC
I tested again the indicator lamp issue, and the problem is that filtering is done for every single image... look at albumlister.cpp:617-632:

ImageInfo* info = new ImageInfo(imageID, albumID, name,
                                        QDateTime::fromString(date, Qt::ISODate),
                                        size, dims);

        if (matchesFilter(info, foundText))
        {
            match = true;
            newFilteredItemsList.append(info);
        }

        newItemsList.append(info);
        d->itemList.append(info);

        if (foundText)
            matchForText = true;

Every single time the two boolean vars matchForText and match are set so in recursive album view this results in the described problem.
We have to call the slotFilterItems() or the timer instead of emitting the two signals in line 634 so the new filtered imagelist is scanned and the lamp is set to either green or red.
Comment 55 Andi Clemens 2008-06-17 14:54:57 UTC
Created attachment 25403 [details]
possible fix
Comment 56 caulier.gilles 2008-06-17 15:03:15 UTC
Your patch sound fine. i will test it on my computers to be sure...

Gilles
Comment 57 Andi Clemens 2008-07-09 17:48:20 UTC
SVN commit 830037 by aclemens:

When using a quick filter on an album in recursive view mode, the indicator lamp sometimes shows a wrong status. Filtering is now done after the whole recursive album view is generated, so that the lamp can set its state correctly.

CCBUGS:161369

 M  +2 -11     albumlister.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=830037
Comment 58 Andi Clemens 2008-07-09 17:57:45 UTC
SVN commit 830040 by aclemens:

backport commit #830037 from KDE3 branch

BUGS:161369

 M  +2 -11     albumlister.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=830040