Bug 138747 - Crash on Add Camera
Summary: Crash on Add Camera
Status: RESOLVED WORKSFORME
Alias: None
Product: digikam
Classification: Applications
Component: ColorManagement-Backend (show other bugs)
Version: 0.9.0
Platform: Slackware Linux
: NOR crash
Target Milestone: ---
Assignee: Digikam Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-12-13 14:40 UTC by David Lee
Modified: 2022-02-01 11:23 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In: 0.9.0


Attachments
patch to always use a QListBox in QComboBox depending of GUI theme (692 bytes, patch)
2006-12-13 22:55 UTC, caulier.gilles
Details

Note You need to log in before you can comment on or make changes to this bug.
Description David Lee 2006-12-13 14:40:31 UTC
Version:           0.9.0-rc2 (using KDE KDE 3.5.4)
Installed from:    Slackware Packages
Compiler:          gcc-3.4.6 
OS:                Linux

Application crashes when I try to add a new camera.

Compiled with:
autoconf 2.60
automake 1.9.6
kde 3.5.4
sqlite-3.3.8
exiv2 0.12
libgphoto2 2.3.0
libkipi 0.1.4
lcms 1.16
libtiff 3.8.2
libpng 1.2.12
Comment 1 caulier.gilles 2006-12-13 14:46:36 UTC
David,

Without a GDB backtrace, we cannot do it for you. take a look at this url :

http://www.digikam.org/?q=contrib

Thanks in advance

Gilles Caulier
Comment 2 David Lee 2006-12-13 15:53:35 UTC
Also forgot to mention above: qt-3.3.6.

gdb digikam
GNU gdb 6.5
Copyright (C) 2006 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i486-slackware-linux"...Using host libthread_db library "/lib/tls/libthread_db.so.1".

(gdb) run
Starting program: /opt/kde/bin/digikam
[Thread debugging using libthread_db enabled]
[New Thread -1241003456 (LWP 18843)]
digikam: ScanLib: Finding non-existing Albums: 23 ms
digikam: ScanLib: Finding items not in the database or disk: 81 ms
digikam: ScanLib: Updating items without date: 0 ms
digikam: Found dcraw version: 8.41
digikam: ImagePlugin_Core plugin loaded
digikam: ImagePluginLoader: Loaded plugin ImagePlugin_Core

##Click on "Add Camera" Here.

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1241003456 (LWP 18843)]
0xb6a812c6 in QScrollView::viewport () from /usr/lib/qt/lib/libqt-mt.so.3


(gdb) bt
#0  0xb6a812c6 in QScrollView::viewport () from /usr/lib/qt/lib/libqt-mt.so.3
#1  0xb7e43e44 in SqueezedComboBox (this=0x8388130, parent=0x838fd98, name=0x0)
    at squeezedcombobox.cpp:66
#2  0xb7f48f49 in SetupICC (this=0x83847a0, parent=0x8387ed8,
    dialog=0xbfe410d0) at setupicc.cpp:235
#3  0xb7f3677f in Setup (this=0xbfe410d0, parent=0x811ad98, name=0x0,
    page=Digikam::Setup::Camera) at setup.cpp:176
#4  0xb7d5e2e2 in Digikam::DigikamApp::slotSetupCamera (this=0x811ad98)
    at digikamapp.cpp:1373
#5  0xb7d5573f in Digikam::DigikamApp::qt_invoke (this=0x811ad98, _id=83,
    _o=0xbfe41270) at digikamapp.moc:248
#6  0xb6962d44 in QObject::activate_signal ()
   from /usr/lib/qt/lib/libqt-mt.so.3
#7  0xb69634dc in QObject::activate_signal ()
   from /usr/lib/qt/lib/libqt-mt.so.3
#8  0xb7239429 in KAction::activated () from /opt/kde/lib/libkdeui.so.4
#9  0xb7239e8a in KAction::slotActivated () from /opt/kde/lib/libkdeui.so.4
#10 0xb723e719 in KAction::slotPopupActivated ()
   from /opt/kde/lib/libkdeui.so.4
#11 0xb723e925 in KAction::qt_invoke () from /opt/kde/lib/libkdeui.so.4
#12 0xb6962d44 in QObject::activate_signal ()
   from /usr/lib/qt/lib/libqt-mt.so.3
#13 0xb6ca28ed in QSignal::signal () from /usr/lib/qt/lib/libqt-mt.so.3
---Type <return> to continue, or q <return> to quit---
#14 0xb697d7a1 in QSignal::activate () from /usr/lib/qt/lib/libqt-mt.so.3
#15 0xb6a75a27 in QPopupMenu::mouseReleaseEvent ()
   from /usr/lib/qt/lib/libqt-mt.so.3
#16 0xb72291a1 in KPopupMenu::mouseReleaseEvent ()
   from /opt/kde/lib/libkdeui.so.4
#17 0xb699caa4 in QWidget::event () from /usr/lib/qt/lib/libqt-mt.so.3
#18 0xb68fe23f in QApplication::internalNotify ()
   from /usr/lib/qt/lib/libqt-mt.so.3
#19 0xb68fe496 in QApplication::notify () from /usr/lib/qt/lib/libqt-mt.so.3
#20 0xb6f49ac5 in KApplication::notify () from /opt/kde/lib/libkdecore.so.4
#21 0xb689860a in QETWidget::translateMouseEvent ()
   from /usr/lib/qt/lib/libqt-mt.so.3
#22 0xb6896821 in QApplication::x11ProcessEvent ()
   from /usr/lib/qt/lib/libqt-mt.so.3
#23 0xb68a9f25 in QEventLoop::processEvents ()
   from /usr/lib/qt/lib/libqt-mt.so.3
#24 0xb6914961 in QEventLoop::enterLoop () from /usr/lib/qt/lib/libqt-mt.so.3
#25 0xb69148b6 in QEventLoop::exec () from /usr/lib/qt/lib/libqt-mt.so.3
#26 0xb68fd39f in QApplication::exec () from /usr/lib/qt/lib/libqt-mt.so.3
#27 0x0804a9af in main (argc=1, argv=0xbfe421d4) at main.cpp:269
(gdb)
Comment 3 caulier.gilles 2006-12-13 16:02:33 UTC
Ok the problem is relevant of Color Management setup, not Camera Gui setup.

Can you give me a copy of  "~/.kde/share/config/digikamrc" file ?

Gilles
Comment 4 David Lee 2006-12-13 16:19:56 UTC
[Album Settings]
Album Collections=Family,Friends,Holidays,Miscellaneous,Nature,Party,Todo,Travel
Album Path=$HOME/Pictures
Album Sort Order=0
Audio File Filter=*.ogg *.mp3 *.wma *.wav
Default Icon Size=100
File Filter=*.png *.jpg *.jpeg *.jpe *.tif *.tiff *.gif *.bmp *.xpm *.ppm *.pnm *.xcf *.pcx
Icon Show Comments=true
Icon Show Date=true
Icon Show Modification Date=true
Icon Show Name=false
Icon Show Rating=true
Icon Show Resolution=false
Icon Show Size=false
Icon Show Tags=true
Image Sort Order=0
Movie File Filter=*.mpeg *.mpg *.mpo *.mpe *.avi *.mov *.wmf *.asf
Raw File Filter=*.bay *.bmq *.cr2 *.crw *.cs1 *.dc2 *.dcr *.dng *.erf *.fff *.hdr *.k25 *.kdc *.mdc *.mos *.mrw *.nef *.orf *.pef *.pxn *.raf *.raw *.rdc *.sr2 *.srf *.x3f *.arw
Show ToolTips=false
Theme=Default
ToolTips Show Album Name=false
ToolTips Show Comments=true
ToolTips Show File Date=false
ToolTips Show File Name=true
ToolTips Show File Size=false
ToolTips Show Image Dim=true
ToolTips Show Image Type=false
ToolTips Show Photo Date=true
ToolTips Show Photo Expo=true
ToolTips Show Photo Flash=false
ToolTips Show Photo Focal=true
ToolTips Show Photo Make=true
ToolTips Show Photo Mode=true
ToolTips Show Photo WB=false
ToolTips Show Rating=true
ToolTips Show Tags=true

[AlbumFolderView]
LastSelectedItem=0
OpenFolders=0

[DateFolderView]
OpenFolders=

[Digikam Left Sidebar]
ActiveTab=0
Minimized=false

[Digikam Right Sidebar]
ActiveTab=0
Minimized=true

[EXIF Settings]
EXIF Rotate=true
EXIF Set Orientation=true

[FolderView]
LastSelectedItem=0
OpenFolders=

[General Settings]
Scan At Start=true
Show Splash=true
Show Trash Delete Dialog=true
Use Trash=true
Version=0.9.0-rc2

[Image Properties SideBar]
Current EXIF Item=
Current GPS Item=
Current ICC Item=
Current IPTC Item=
Current MAKERNOTE Item=
Current Web GPS Locator=0
EXIF Level=0
GPS Level=0
Histogram Channel=0
Histogram Color=0
Histogram Rendering=0
Histogram Scale=1
ICC Level=0
IPTC Level=0
ImagePropertiesColors Tab=0
ImagePropertiesMetaData Tab=0
MAKERNOTE Level=0

[ImageViewer Settings]
ImagePlugins List=digikamimageplugin_raindrop,digikamimageplugin_inpainting,digikamimageplugin_infrared,digikamimageplugin_texture,digikamimageplugin_border,digikamimageplugin_oilpaint,digikamimageplugin_inserttext,digikamimageplugin_emboss,digikamimageplugin_despeckle,digikamimageplugin_unsharp,digikamimageplugin_hotpixels,digikamimageplugin_adjustlevels,digikamimageplugin_sheartool,digikamimageplugin_solarize,digikamimageplugin_distortionfx,digikamimageplugin_lensdistortion,digikamimageplugin_core,digikamimageplugin_filmgrain,digikamimageplugin_blowup,digikamimageplugin_restoration,digikamimageplugin_superimpose,digikamimageplugin_refocus,digikamimageplugin_whitebalance,digikamimageplugin_blurfx,digikamimageplugin_antivignetting,digikamimageplugin_adjustcurves,digikamimageplugin_freerotation,digikamimageplugin_perspective,digikamimageplugin_channelmixer,digikamimageplugin_charcoal

[MainWindow]
Height 800=801
InitialAlbumID=10000
SplitterSizes=200,1020,1
Width 1280=1281

[MainWindow Toolbar ToolBar]
IconText=IconOnly

[Metadata Settings]
IPTC Author=
IPTC Author Title=
IPTC Copyright=
IPTC Credit=
IPTC Source=
Save Date Time=false
Save EXIF Comments=false
Save IPTC Credits=false
Save IPTC Photographer ID=false
Save IPTC Rating=false
Save IPTC Tags=false

[SearchFolderView]
LastSelectedItem=0
OpenFolders=

[Tag Filters View]
Matching Condition=0

[TagFolderView]
LastSelectedItem=0
OpenFolders=0

[TipOfDay]
TipLastShown=2006,12,12,21,15,1
Comment 5 caulier.gilles 2006-12-13 16:29:43 UTC
David,

There is no reason to crash digiKam in CM setup page. The source code is right...

There is no CM config in your RC file. Here, in this condition i cannot crash digiKam.

Do you have compiled digiKam with specific options using .configure script ?

Gilles
Comment 6 David Lee 2006-12-13 16:50:28 UTC
No special configure options:

./configure --prefix=/opt/kde
Comment 7 David Lee 2006-12-13 16:51:15 UTC
This is with fresh slack 11 installs on 2 different computers, also.
Comment 8 caulier.gilles 2006-12-13 19:52:23 UTC
And are you a crash when you start Settings/Configure digiKam menu entry ?

If showfoto crash also when you do the same things (Settings/Configure Showfoto) ?

Gilles
Comment 9 David Lee 2006-12-13 20:15:28 UTC
Yes, Both applications crash when selecting Settings/Configure.
Comment 10 caulier.gilles 2006-12-13 20:25:41 UTC
Ok...

Now, look at end of HACKING file, the is a command line to debug digikam using 'valgrind'. Just copy and paste this command line in a console, and go in setup stuff to crash digiKam (note than under valgrind, digiKam will be very ssslllooowww)

Report me all valgrind messages. Thanks in advance

Gilles
Comment 11 David Lee 2006-12-13 21:23:13 UTC
Ok, here we go...

valgrind --tool=memcheck --leak-check=full --error-limit=no digikam
==11827== Memcheck, a memory error detector.
==11827== Copyright (C) 2002-2006, and GNU GPL'd, by Julian Seward et al.
==11827== Using LibVEX rev 1658, a library for dynamic binary translation.
==11827== Copyright (C) 2004-2006, and GNU GPL'd, by OpenWorks LLP.
==11827== Using valgrind-3.2.1, a dynamic binary instrumentation framework.
==11827== Copyright (C) 2000-2006, and GNU GPL'd, by Julian Seward et al.
==11827== For more details, rerun with: -v
==11827==
--11827-- DWARF2 CFI reader: unhandled CFI instruction 0:50
--11827-- DWARF2 CFI reader: unhandled CFI instruction 0:50
--11827-- DWARF2 CFI reader: unhandled CFI instruction 0:50
--11827-- DWARF2 CFI reader: unhandled CFI instruction 0:50
digikam: ScanLib: Finding non-existing Albums: 969 ms
digikam: ScanLib: Finding items not in the database or disk: 8315 ms
digikam: ScanLib: Updating items without date: 99 ms
digikam: Found dcraw version: 8.41
digikam: ImagePlugin_Core plugin loaded
digikam: ImagePluginLoader: Loaded plugin ImagePlugin_Core
digikam: ImagePlugin_RainDrop plugin loaded
digikam: ImagePluginLoader: Loaded plugin ImagePlugin_RainDrop
digikam: ImagePlugin_InPainting plugin loaded
digikam: ImagePluginLoader: Loaded plugin ImagePlugin_InPainting
digikam: ImagePlugin_Infrared plugin loaded
digikam: ImagePluginLoader: Loaded plugin ImagePlugin_Infrared
digikam: ImagePlugin_Texture plugin loaded
digikam: ImagePluginLoader: Loaded plugin ImagePlugin_Texture
digikam: ImagePlugin_Border plugin loaded
digikam: ImagePluginLoader: Loaded plugin ImagePlugin_Border
digikam: ImagePlugin_OilPaint plugin loaded
digikam: ImagePluginLoader: Loaded plugin ImagePlugin_OilPaint
digikam: ImagePlugin_InsertText plugin loaded
digikam: ImagePluginLoader: Loaded plugin ImagePlugin_InsertText
digikam: ImagePlugin_Emboss plugin loaded
digikam: ImagePluginLoader: Loaded plugin ImagePlugin_Emboss
digikam: ImagePlugin_NoiseReduction plugin loaded
digikam: ImagePluginLoader: Loaded plugin ImagePlugin_NoiseReduction
digikam: ImagePlugin_Unsharp plugin loaded
digikam: ImagePluginLoader: Loaded plugin ImagePlugin_Unsharp
digikam: ImagePlugin_HotPixels plugin loaded
digikam: ImagePluginLoader: Loaded plugin ImagePlugin_HotPixels
digikam: ImagePlugin_AdjustLevels plugin loaded
digikam: ImagePluginLoader: Loaded plugin ImagePlugin_AdjustLevels
digikam: ImagePlugin_ShearTool plugin loaded
digikam: ImagePluginLoader: Loaded plugin ImagePlugin_ShearTool
digikam: ImagePlugin_Solarize plugin loaded
digikam: ImagePluginLoader: Loaded plugin ImagePlugin_Solarize
digikam: ImagePlugin_DistortionFX plugin loaded
digikam: ImagePluginLoader: Loaded plugin ImagePlugin_DistortionFX
digikam: ImagePlugin_LensDistortion plugin loaded
digikam: ImagePluginLoader: Loaded plugin ImagePlugin_LensDistortion
digikam: ImagePlugin_FilmGrain plugin loaded
digikam: ImagePluginLoader: Loaded plugin ImagePlugin_FilmGrain
digikam: ImagePlugin_BlowUp plugin loaded
digikam: ImagePluginLoader: Loaded plugin ImagePlugin_BlowUp
digikam: ImagePlugin_Restoration plugin loaded
digikam: ImagePluginLoader: Loaded plugin ImagePlugin_Restoration
digikam: ImagePlugin_SuperImpose plugin loaded
digikam: ImagePluginLoader: Loaded plugin ImagePlugin_SuperImpose
digikam: ImagePlugin_Refocus plugin loaded
digikam: ImagePluginLoader: Loaded plugin ImagePlugin_Refocus
digikam: ImagePlugin_WhiteBalance plugin loaded
digikam: ImagePluginLoader: Loaded plugin ImagePlugin_WhiteBalance
digikam: ImagePlugin_BlurFX plugin loaded
digikam: ImagePluginLoader: Loaded plugin ImagePlugin_BlurFX
digikam: ImagePlugin_AntiVignetting plugin loaded
digikam: ImagePluginLoader: Loaded plugin ImagePlugin_AntiVignetting
digikam: ImagePlugin_AdjustCurves plugin loaded
digikam: ImagePluginLoader: Loaded plugin ImagePlugin_AdjustCurves
digikam: ImagePlugin_FreeRotation plugin loaded
digikam: ImagePluginLoader: Loaded plugin ImagePlugin_FreeRotation
digikam: ImagePlugin_Perspective plugin loaded
digikam: ImagePluginLoader: Loaded plugin ImagePlugin_Perspective
digikam: ImagePlugin_ChannelMixer plugin loaded
digikam: ImagePluginLoader: Loaded plugin ImagePlugin_ChannelMixer
digikam: ImagePlugin_Charcoal plugin loaded
digikam: ImagePluginLoader: Loaded plugin ImagePlugin_Charcoal
==11827== Invalid read of size 4
==11827==    at 0x55A82C6: QScrollView::viewport() const (in /usr/lib/qt-3.3.6/lib/libqt-mt.so.3.3.6)
==11827==    by 0x4274E53: Digikam::SqueezedComboBox::SqueezedComboBox(QWidget*, char const*) (squeezedcombobox.cpp:66)
==11827==    by 0x4379F58: Digikam::SetupICC::SetupICC(QWidget*, KDialogBase*) (setupicc.cpp:235)
==11827==    by 0x436778E: Digikam::Setup::Setup(QWidget*, char const*, Digikam::Setup::Page) (setup.cpp:176)
==11827==    by 0x418F171: Digikam::DigikamApp::setup(bool) (digikamapp.cpp:1353)
==11827==    by 0x418F119: Digikam::DigikamApp::slotSetup() (digikamapp.cpp:1348)
==11827==    by 0x418673B: Digikam::DigikamApp::qt_invoke(int, QUObject*) (digikamapp.moc:247)
==11827==    by 0x5489D43: QObject::activate_signal(QConnectionList*, QUObject*) (in /usr/lib/qt-3.3.6/lib/libqt-mt.so.3.3.6)
==11827==    by 0x548A4DB: QObject::activate_signal(int) (in /usr/lib/qt-3.3.6/lib/libqt-mt.so.3.3.6)
==11827==    by 0x4D07428: KAction::activated() (in /opt/kde/lib/libkdeui.so.4.2.0)
==11827==    by 0x4D07E89: KAction::slotActivated() (in /opt/kde/lib/libkdeui.so.4.2.0)
==11827==    by 0x4D0C718: KAction::slotPopupActivated() (in /opt/kde/lib/libkdeui.so.4.2.0)
==11827==  Address 0x94 is not stack'd, malloc'd or (recently) free'd
KCrash: Application 'digikam' crashing...
==11827==
==11827== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 294 from 5)
==11827== malloc/free: in use at exit: 6,379,622 bytes in 77,319 blocks.
==11827== malloc/free: 623,920 allocs, 546,601 frees, 70,865,477 bytes allocated.
==11827== For counts of detected errors, rerun with: -v
==11827== searching for pointers to 77,319 not-freed blocks.
==11827== checked 8,146,988 bytes.
==11827==
==11827==
==11827== 216 bytes in 1 blocks are definitely lost in loss record 1,372 of 2,080
==11827==    at 0x401C52E: malloc (in /usr/local/lib/valgrind/x86-linux/vgpreload_memcheck.so)
==11827==    by 0x60A5675: _XimOpenIM (in /usr/X11R6/lib/X11/locale/lib/common/ximcp.so.2)
==11827==    by 0x5B8C07D: _XDynamicOpenIM (in /usr/X11R6/lib/libX11.so.6.2)
==11827==    by 0x60A5209: _XimRegisterIMInstantiateCallback (in /usr/X11R6/lib/X11/locale/lib/common/ximcp.so.2)
==11827==    by 0x5B8C19B: _XDynamicRegisterIMInstantiateCallback (in /usr/X11R6/lib/libX11.so.6.2)
==11827==    by 0x5B5B117: XRegisterIMInstantiateCallback (in /usr/X11R6/lib/libX11.so.6.2)
==11827==    by 0x53C0DA7: qt_init_internal(int*, char**, _XDisplay*, unsigned long, unsigned long) (in /usr/lib/qt-3.3.6/lib/libqt-mt.so.3.3.6)
==11827==    by 0x53C1ED5: qt_init(int*, char**, QApplication::Type) (in /usr/lib/qt-3.3.6/lib/libqt-mt.so.3.3.6)
==11827==    by 0x5429506: QApplication::construct(int&, char**, QApplication::Type) (in /usr/lib/qt-3.3.6/lib/libqt-mt.so.3.3.6)
==11827==    by 0x542986F: QApplication::QApplication(int&, char**, bool) (in /usr/lib/qt-3.3.6/lib/libqt-mt.so.3.3.6)
==11827==    by 0x4FB8BB3: KApplication::KApplication(bool, bool) (in /opt/kde/lib/libkdecore.so.4.2.0)
==11827==    by 0x804A4B6: main (main.cpp:214)
==11827==
==11827==
==11827== 312 (72 direct, 240 indirect) bytes in 2 blocks are definitely lost in loss record 1,433 of 2,080
==11827==    at 0x401C52E: malloc (in /usr/local/lib/valgrind/x86-linux/vgpreload_memcheck.so)
==11827==    by 0x5EB415B: nss_parse_service_list (in /lib/tls/libc-2.3.6.so)
==11827==    by 0x5EB4777: __nss_database_lookup (in /lib/tls/libc-2.3.6.so)
==11827==    by 0x61C7168: ???
==11827==    by 0x5E65271: getpwuid_r@@GLIBC_2.1.2 (in /lib/tls/libc-2.3.6.so)
==11827==    by 0x5E64C90: getpwuid (in /lib/tls/libc-2.3.6.so)
==11827==    by 0x53B82DC: (within /usr/lib/qt-3.3.6/lib/libqt-mt.so.3.3.6)
==11827==    by 0x53B8C00: (within /usr/lib/qt-3.3.6/lib/libqt-mt.so.3.3.6)
==11827==    by 0x5BDABAB: _SmcProcessMessage (in /usr/X11R6/lib/libSM.so.6.0)
==11827==    by 0x5BE6F67: IceProcessMessages (in /usr/X11R6/lib/libICE.so.6.4)
==11827==    by 0x53B2773: QSmSocketReceiver::socketActivated(int) (in /usr/lib/qt-3.3.6/lib/libqt-mt.so.3.3.6)
==11827==    by 0x53B2A34: QSmSocketReceiver::qt_invoke(int, QUObject*) (in /usr/lib/qt-3.3.6/lib/libqt-mt.so.3.3.6)
==11827==
==11827==
==11827== 360 bytes in 21 blocks are possibly lost in loss record 1,659 of 2,080
==11827==    at 0x401C8EB: operator new(unsigned) (in /usr/local/lib/valgrind/x86-linux/vgpreload_memcheck.so)
==11827==    by 0x5D60215: std::string::_Rep::_S_create(unsigned, unsigned, std::allocator<char> const&) (in /usr/lib/libstdc++.so.6.0.3)
==11827==    by 0x5D62906: (within /usr/lib/libstdc++.so.6.0.3)
==11827==    by 0x5D62A2B: std::string::string(char const*, std::allocator<char> const&) (in /usr/lib/libstdc++.so.6.0.3)
==11827==    by 0x469F42E: _GLOBAL__I__ZN44_GLOBAL__N_tiffvisitor.cpp_00000000_2D25B27F5rcsIdE (new_allocator.h:62)
==11827==    by 0x46A6CE4: (within /usr/lib/libexiv2-0.12.so)
==11827==    by 0x4632B14: (within /usr/lib/libexiv2-0.12.so)
==11827==    by 0x400C2A7: _dl_init (in /lib/ld-2.3.6.so)
==11827==    by 0x40007EE: (within /lib/ld-2.3.6.so)
==11827==
==11827== LEAK SUMMARY:
==11827==    definitely lost: 288 bytes in 3 blocks.
==11827==    indirectly lost: 240 bytes in 20 blocks.
==11827==      possibly lost: 360 bytes in 21 blocks.
==11827==    still reachable: 6,378,734 bytes in 77,275 blocks.
==11827==         suppressed: 0 bytes in 0 blocks.
==11827== Reachable blocks (those to which a pointer was found) are not shown.
==11827== To see them, rerun with: --show-reachable=yes
Comment 12 caulier.gilles 2006-12-13 22:55:00 UTC
Created attachment 18922 [details]
patch to always use a QListBox in QComboBox depending of GUI theme

ok,

i suspect a problemm with your KDE GUI theme. try this patch to apply on
digikam/libs/widgets/common folder using this command line :

# patch -p0 < 138747.patch

Gilles
Comment 13 David Lee 2006-12-13 23:54:11 UTC
That fixed it.  Thank you for all of your help.  Should I mark this resolved?
Comment 14 David Lee 2006-12-14 00:05:14 UTC
Thanks again for your effort.  All of the developers hard work is greatly appreciated.
Comment 15 caulier.gilles 2006-12-14 07:47:06 UTC
SVN commit 613590 by cgilles:

digikam from trunk : Force QComboBox to use internaly a QListBox independantly of current widget style used by QT.
CCBUGS: 138747

 M  +20 -14    squeezedcombobox.cpp  
 M  +6 -6      squeezedcombobox.h  


--- trunk/extragear/graphics/digikam/libs/widgets/common/squeezedcombobox.cpp #613589:613590
@@ -38,9 +38,11 @@
 // Local includes.
 
 #include "squeezedcombobox.h"
+#include "squeezedcombobox.moc"
 
 namespace Digikam
 {
+
 class SqueezedComboBoxPriv
 {
 public:
@@ -58,12 +60,17 @@
     SqueezedComboBoxTip *tooltip;
 };
 
-SqueezedComboBox::SqueezedComboBox( QWidget *parent, const char *name )
-                : QComboBox( parent, name )
+SqueezedComboBox::SqueezedComboBox(QWidget *parent, const char *name)
+                : QComboBox(parent, name)
 {
     d = new SqueezedComboBoxPriv;
-    d->timer   = new QTimer(this);
-    d->tooltip = new SqueezedComboBoxTip( listBox()->viewport(), this );
+    d->timer = new QTimer(this);
+
+    // See B.K.O #138747 : always for QComboBox instance to use a QListbox to 
+    // render content independently of Widget style used. 
+    setListBox(new QListBox(this));
+
+    d->tooltip = new SqueezedComboBoxTip(listBox()->viewport(), this);
     setMinimumWidth(100);
 
     connect(d->timer, SIGNAL(timeout()),
@@ -102,7 +109,7 @@
         slotUpdateToolTip(0);
 }
 
-void SqueezedComboBox::resizeEvent( QResizeEvent * )
+void SqueezedComboBox::resizeEvent(QResizeEvent *)
 {
     d->timer->start(200, true);
 }
@@ -113,15 +120,15 @@
     for (it = d->originalItems.begin() ; it != d->originalItems.end();
          ++it)
     {
-        changeItem( squeezeText( it.data() ), it.key() );
+        changeItem(squeezeText(it.data()), it.key());
     }
 }
 
-QString SqueezedComboBox::squeezeText( const QString& original)
+QString SqueezedComboBox::squeezeText(const QString& original)
 {
     // not the complete widgetSize is usable. Need to compensate for that.
     int widgetSize = width()-30;
-    QFontMetrics fm( fontMetrics() );
+    QFontMetrics fm(fontMetrics());
 
     // If we can fit the full text, return that.
     if (fm.width(original) < widgetSize)
@@ -132,7 +139,7 @@
     widgetSize = widgetSize-fm.width("...");
     for (uint i = 0 ; i != original.length(); ++i)
     {
-        if ( (int)fm.width(original.right(i)) > widgetSize)
+        if ((int)fm.width(original.right(i)) > widgetSize)
         {
             sqItem = QString("..." + original.right(--i));
             break;
@@ -141,7 +148,7 @@
     return sqItem;
 }
 
-void SqueezedComboBox::slotUpdateToolTip( int index )
+void SqueezedComboBox::slotUpdateToolTip(int index)
 {
     QToolTip::remove(this);
     QToolTip::add(this, d->originalItems[index]);
@@ -155,13 +162,13 @@
 
 // ------------------------------------------------------------------------
 
-SqueezedComboBoxTip::SqueezedComboBoxTip( QWidget * parent, SqueezedComboBox* name )
+SqueezedComboBoxTip::SqueezedComboBoxTip(QWidget *parent, SqueezedComboBox *name)
                    : QToolTip( parent )
 {
     m_originalWidget = name;
 }
 
-void SqueezedComboBoxTip::maybeTip( const QPoint &pos )
+void SqueezedComboBoxTip::maybeTip(const QPoint &pos)
 {
     QListBox* listBox = m_originalWidget->listBox();
     if (!listBox)
@@ -170,7 +177,7 @@
     QListBoxItem* selectedItem = listBox->itemAt( pos );
     if (selectedItem)
     {
-        QRect positionToolTip = listBox->itemRect( selectedItem );
+        QRect positionToolTip = listBox->itemRect(selectedItem);
         QString toolTipText = m_originalWidget->itemHighlighted();
         if (!toolTipText.isNull())
             tip(positionToolTip, toolTipText);
@@ -179,4 +186,3 @@
 
 }  // namespace Digikam
 
-#include "squeezedcombobox.moc"
--- trunk/extragear/graphics/digikam/libs/widgets/common/squeezedcombobox.h #613589:613590
@@ -80,7 +80,7 @@
      * highlighted item.
      * @return full text of the highlighted item
      */
-    QString itemHighlighted( );
+    QString itemHighlighted();
 
     /**
      * Sets the sizeHint() of this widget.
@@ -90,12 +90,12 @@
 private slots:
 
     void slotTimeOut();
-    void slotUpdateToolTip( int index );
+    void slotUpdateToolTip(int index);
 
 private:
 
-    void resizeEvent( QResizeEvent * );
-    QString squeezeText( const QString& original);
+    void resizeEvent(QResizeEvent *);
+    QString squeezeText(const QString& original);
 
 private:
 
@@ -127,7 +127,7 @@
      * @param parent parent widget (viewport)
      * @param name parent widget
      */
-    SqueezedComboBoxTip( QWidget *parent, SqueezedComboBox *name );
+    SqueezedComboBoxTip(QWidget *parent, SqueezedComboBox *name);
 
 protected:
     /**
@@ -135,7 +135,7 @@
      * tooltip when needed.
      * @param  pos the point where the mouse currently is
      */
-    void maybeTip( const QPoint& pos );
+    void maybeTip(const QPoint& pos);
 
 private:
     
Comment 16 Andreas Huggel 2006-12-14 10:50:56 UTC
Not related to this bug:

David,

The valgrind output in comment #11 shows what looks like a memory leak in exiv2 (tiffparser.cpp). I would like to investigate this, it would help if you can answer these questions:

Do you have TIFF or RAW images in this album camera? With what camera make/model were they taken? Did digikam write anything to the console while you were doing these steps, do you still have that output? Did you modify the Exif / IPTC data of these images in any way?

Thanks,
Andreas
Comment 17 David Lee 2006-12-14 13:22:25 UTC
Andreas,

There are no TIFF or RAW images in the album, only jpeg.  The camera is a Sony H1.  I didn't save any console output beyond the gdb and valgrind messages I have already posted.  The images are unmodified for the most part.  There are a few that have been edited in Gimp, and a few .xcf images here and there.

I will be happy to rerun this and help in any way I can.  Do you need me to recompile rc2 without the patch, and then try it?
Comment 18 Andreas Huggel 2006-12-18 07:03:04 UTC
Thanks, for the clarification. 
It's not an issue, the rcsId is only used for admin purposes.
-ahu.