[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    Re: extragear/graphics/digikam/libs/widgets/metadata
From:       "Gilles Caulier" <caulier.gilles () gmail ! com>
Date:       2007-06-30 19:47:16
Message-ID: b4b1230e0706301247m69d28e17x1296fd579146221d () mail ! gmail ! com
[Download RAW message or body]

Marcel,

Showfoto crash when you use thumbbar.

I have seen 2 problems. first is the dialog with thumb kioslave witch cannot
be done properlly. Look message on the console :

[gilles@localhost showfoto]$ ./showfoto IMG_3675.JPG
kio (KDirWatch): Available methods: Stat, FAM, INotify
Found dcraw version: 8.60
showfoto: KMultiTabBarTab::updateState(): setting text to an empty
QString***************
showfoto: KMultiTabBarTab::updateState(): setting text to an empty
QString***************
showfoto: KMultiTabBarTab::updateState(): setting text to an empty
QString***************
Object::connect: No such slot ShowFoto::ShowFoto::slotRestore()
Object::connect:  (sender name:   'file_revert')
Object::connect:  (receiver name: 'Showfoto')
kio (KSycoca): Trying to open ksycoca from
/home/gilles/.kde4/cache-localhost/ksycoca4
QFSFileEngine::open: No file name specified
QFSFileEngine::open: No file name specified
showfoto:
/home/gilles/Documents/devel/SVN/trunk/graphics/digikam/showfoto/IMG_3675.JPG
: JPEG file identified
QPixmap::scaled: Pixmap is a null pixmap
QPixmap::scaled: Pixmap is a null pixmap
QPainter::begin: Cannot paint on a null pixmap
QPainter::end: Painter not active, aborted
QPainter::begin: Cannot paint on a null pixmap
showfoto: Exif color-space tag is sRGB. Using default sRGB ICC profile.
QPixmap::scaled: Pixmap is a null pixmap
QPixmap::scaled: Pixmap is a null pixmap
QPainter::begin: Cannot paint on a null pixmap
QPainter::end: Painter not active, aborted
QPainter::begin: Cannot paint on a null pixmap
kio (KDirWatch): Added File
/home/gilles/Documents/devel/SVN/trunk/graphics/digikam/showfoto/IMG_3675.JPG
[KDirWatch-1]
kio (KDirWatch):  Setup FAM (Req 1) for
/home/gilles/Documents/devel/SVN/trunk/graphics/digikam/showfoto/IMG_3675.JPG
Exif Orientation: 1
kio (KIOJob): Job::kill this=Digikam::ThumbnailJob(0x8663c00)
Digikam::ThumbnailJob
kio (Slave): createSlave 'digikamthumbnail' for
digikamthumbnail:///home/gilles/Documents/devel/SVN/trunk/graphics/digikam/showfoto/IMG_3675.JPG
QPixmap::scaled: Pixmap is a null pixmap
QPixmap::scaled: Pixmap is a null pixmap
QPainter::begin: Cannot paint on a null pixmap
QPainter::end: Painter not active, aborted
QPainter::begin: Cannot paint on a null pixmap
kio (KIOJob): Job::kill this=Digikam::ThumbnailJob(0x82c89c0)
Digikam::ThumbnailJob
[gilles@localhostshowfoto]$

The second problem is about the mouse tracking in thumbbar area... Not yet a
suitable backtrace to hack

Gilles

2007/6/30, Marcel Wiesweg <marcel.wiesweg@gmx.de>:
>
> SVN commit 681896 by mwiesweg:
>
> Fix crash when backward-traversing a QMap
>
>
> M  +5 -8      metadatalistview.cpp
>
>
> ---
> trunk/extragear/graphics/digikam/libs/widgets/metadata/metadatalistview.cpp
> #681895:681896
> @@ -202,11 +202,11 @@
>      {
>          subItems = 0;
>          parentifDItem = new MdKeyListViewItem(this, *itKeysFilter);
> -
> -        DMetadata::MetaDataMap::iterator it = ifds.end();
>
> -        while(1)
> +        DMetadata::MetaDataMap::const_iterator it = ifds.constEnd();
> +        while (it != ifds.constBegin())
>          {
> +            --it;
>              if ( *itKeysFilter == it.key().section('.', 1, 1) )
>              {
>                  // We ignore all unknown tags if necessary.
> @@ -215,7 +215,7 @@
>                      if (!tagsFilter.isEmpty())
>                      {
>                          // We using the filter to make a more user
> friendly output (Simple Mode)
> -
> +
>                          if (tagsFilter.contains(it.key().section('.', 2,
> 2)))
>                          {
>                              QString tagTitle = m_parent->getTagTitle(
> it.key());
> @@ -226,16 +226,13 @@
>                      else
>                      {
>                          // We don't filter the output (Complete Mode)
> -
> +
>                          QString tagTitle = m_parent->getTagTitle(it.key
> ());
>                          new MetadataListViewItem(parentifDItem, it.key(),
> tagTitle, it.value());
>                          subItems++;
>                      }
>                  }
>              }
> -
> -            if (it == ifds.begin()) break;
> -            --it;
>          }
>
>          // We checking if the last IfD have any items. If no, we remove
> it.
>

[Attachment #3 (text/html)]

Marcel,<br><br>Showfoto crash when you use thumbbar.<br><br>I have seen 2 problems. \
first is the dialog with thumb kioslave witch cannot be done properlly. Look message \
on the console :<br><br>[gilles@localhost showfoto]$ ./showfoto IMG_3675.JPG <br>kio \
(KDirWatch): Available methods: Stat, FAM, INotify<br>Found dcraw version: \
8.60<br>showfoto: KMultiTabBarTab::updateState(): setting text to an empty \
QString***************<br>showfoto: KMultiTabBarTab::updateState(): setting text to \
an empty QString*************** <br>showfoto: KMultiTabBarTab::updateState(): setting \
text to an empty QString***************<br>Object::connect: No such slot \
ShowFoto::ShowFoto::slotRestore()<br>Object::connect:&nbsp; (sender name:&nbsp;&nbsp; \
&#39;file_revert&#39;)<br> Object::connect:&nbsp; (receiver name: \
&#39;Showfoto&#39;)<br>kio (KSycoca): Trying to open ksycoca from \
/home/gilles/.kde4/cache-localhost/ksycoca4<br>QFSFileEngine::open: No file name \
specified<br>QFSFileEngine::open: No file name specified <br>showfoto: \
/home/gilles/Documents/devel/SVN/trunk/graphics/digikam/showfoto/IMG_3675.JPG : JPEG \
file identified<br>QPixmap::scaled: Pixmap is a null pixmap<br>QPixmap::scaled: \
Pixmap is a null pixmap<br>QPainter::begin: Cannot paint on a null pixmap \
<br>QPainter::end: Painter not active, aborted<br>QPainter::begin: Cannot paint on a \
null pixmap<br>showfoto: Exif color-space tag is sRGB. Using default sRGB ICC \
profile.<br>QPixmap::scaled: Pixmap is a null pixmap<br>QPixmap::scaled: Pixmap is a \
null pixmap <br>QPainter::begin: Cannot paint on a null pixmap<br>QPainter::end: \
Painter not active, aborted<br>QPainter::begin: Cannot paint on a null pixmap<br>kio \
(KDirWatch): Added File \
/home/gilles/Documents/devel/SVN/trunk/graphics/digikam/showfoto/IMG_3675.JPG \
[KDirWatch-1] <br>kio (KDirWatch):&nbsp; Setup FAM (Req 1) for \
/home/gilles/Documents/devel/SVN/trunk/graphics/digikam/showfoto/IMG_3675.JPG<br>Exif \
Orientation: 1<br>kio (KIOJob): Job::kill this=Digikam::ThumbnailJob(0x8663c00)&nbsp; \
Digikam::ThumbnailJob <br>kio (Slave): createSlave &#39;digikamthumbnail&#39; for \
digikamthumbnail:///home/gilles/Documents/devel/SVN/trunk/graphics/digikam/showfoto/IMG_3675.JPG<br>QPixmap::scaled: \
Pixmap is a null pixmap<br>QPixmap::scaled: Pixmap is a null pixmap \
<br>QPainter::begin: Cannot paint on a null pixmap<br>QPainter::end: Painter not \
active, aborted<br>QPainter::begin: Cannot paint on a null pixmap<br>kio (KIOJob): \
Job::kill this=Digikam::ThumbnailJob(0x82c89c0)&nbsp; Digikam::ThumbnailJob \
<br>[gilles@localhost \
showfoto]$&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs \
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n \
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
<br><br>The second problem is about the mouse tracking in thumbbar area... Not yet a \
suitable backtrace to hack<br><br>Gilles<br><br> <div><span \
class="gmail_quote">2007/6/30, Marcel Wiesweg &lt;<a \
href="mailto:marcel.wiesweg@gmx.de">marcel.wiesweg@gmx.de</a>&gt;:</span><blockquote \
class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt \
0pt 0.8ex; padding-left: 1ex;"> SVN commit 681896 by mwiesweg:<br><br>Fix crash when \
backward-traversing a QMap<br><br><br> M&nbsp;&nbsp;+5 \
-8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;metadatalistview.cpp<br><br><br>--- \
trunk/extragear/graphics/digikam/libs/widgets/metadata/metadatalistview.cpp \
#681895:681896 <br>@@ -202,11 +202,11 @@<br>&nbsp;&nbsp;&nbsp;&nbsp; \
{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; subItems = \
0;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; parentifDItem = new \
MdKeyListViewItem(this, \
*itKeysFilter);<br>-<br>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DMetadata::MetaDataMap::iterator \
it = ifds.end();<br><br>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;while(1) \
<br>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DMetadata::MetaDataMap::const_iterator \
it = ifds.constEnd();<br>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;while (it \
!= ifds.constBegin())<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
{<br>+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;--it;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
if ( *itKeysFilter == it.key().section(&#39;.&#39;, 1, 1) ) \
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
// We ignore all unknown tags if necessary.<br>@@ -215,7 +215,7 \
@@<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
if (!tagsFilter.isEmpty())<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
// We using the filter to make a more user friendly output (Simple Mode) \
<br>-<br>+<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
if (tagsFilter.contains(it.key().section(&#39;.&#39;, 2, \
2)))<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb \
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
QString tagTitle = m_parent-&gt;getTagTitle(it.key());<br> @@ -226,16 +226,13 \
@@<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
else<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
// We don&#39;t filter the output (Complete \
Mode)<br>-<br>+<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
QString tagTitle = m_parent-&gt;getTagTitle( \
it.key());<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
new MetadataListViewItem(parentifDItem, it.key(), tagTitle, \
it.value());<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
subItems++;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
                }<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
                }<br>
-<br>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if (it \
== ifds.begin()) break;<br>-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;--it;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
}<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // We checking if the last \
IfD have any items. If no, we remove it.<br></blockquote></div><br>



[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic