<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.kde.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.6"
          urlbase="https://bugs.kde.org/"
          
          maintainer="sysadmin@kde.org"
>

    <bug>
          <bug_id>120051</bug_id>
          
          <creation_ts>2006-01-13 17:45:14 +0000</creation_ts>
          <short_desc>Wish: display elapsed time in OSD</short_desc>
          <delta_ts>2006-12-08 09:13:42 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>2</classification_id>
          <classification>Applications</classification>
          <product>amarok</product>
          <component>general</component>
          <version>1.2.4</version>
          <rep_platform>Gentoo Packages</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>NOR</priority>
          <bug_severity>wishlist</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Michael Helmling">helmling</reporter>
          <assigned_to name="Amarok Bugs">amarok-bugs-null</assigned_to>
          
          
          <cf_commitlink></cf_commitlink>
          <cf_versionfixedin></cf_versionfixedin>
          <cf_sentryurl></cf_sentryurl>
          <votes>1</votes>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>405806</commentid>
    <comment_count>0</comment_count>
    <who name="Michael Helmling">helmling</who>
    <bug_when>2006-01-13 17:45:14 +0000</bug_when>
    <thetext>Version:           1.2.4 (using KDE KDE 3.5.0)
Installed from:    Gentoo Packages
Compiler:          gcc-3.4.4 
OS:                Linux

I would like to display the currently elapsed (or remaining) time of a song in the OSD, because I have a lot of tracks that are over 10 minutes long, just to have a better overview. Shouldn&apos;t be too hard to implement. ;)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>492207</commentid>
    <comment_count>1</comment_count>
      <attachid>18834</attachid>
    <who name="Christian Engels">christian.engels</who>
    <bug_when>2006-12-07 19:27:24 +0000</bug_when>
    <thetext>Created attachment 18834
Patch for osd.cpp, .h, Options5.ui.h</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>492208</commentid>
    <comment_count>2</comment_count>
    <who name="Christian Engels">christian.engels</who>
    <bug_when>2006-12-07 19:28:08 +0000</bug_when>
    <thetext>I wrote a small patch for it (and clear out the extra Vector class).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>492231</commentid>
    <comment_count>3</comment_count>
      <attachid>18835</attachid>
    <who name="Christian Engels">christian.engels</who>
    <bug_when>2006-12-07 21:23:38 +0000</bug_when>
    <thetext>Created attachment 18835
working patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>492316</commentid>
    <comment_count>4</comment_count>
    <who name="Mark Kretschmann">kretschmann</who>
    <bug_when>2006-12-08 09:13:38 +0000</bug_when>
    <thetext>SVN commit 611451 by markey:

Elapsed time can be shown in OSD. Patch by Christian Engels &lt;s9chenge@stud.uni-sb.de&gt;.

BUG: 120051


 M  +2 -0      ChangeLog  
 M  +5 -4      src/Options5.ui.h  
 M  +26 -17    src/osd.cpp  
 M  +1 -1      src/osd.h  


--- trunk/extragear/multimedia/amarok/ChangeLog #611450:611451
@@ -5,6 +5,8 @@
 
 VERSION 1.4.5
   FEATURES:
+    * Elapsed time can be shown in OSD. Patch by Christian Engels
+      &lt;s9chenge@stud.uni-sb.de&gt;. (BR 120051)
     * New redownload manager for the Magnatune.com store. Allows re-download
       of any previous purchase free of charge (in any format). 
     * Star ratings now have different colors for different ratings, to easily
--- trunk/extragear/multimedia/amarok/src/Options5.ui.h #611450:611451
@@ -77,6 +77,7 @@
                 &quot;&lt;li&gt;Disc Number - %15&quot;
                 &quot;&lt;li&gt;Rating - %16&quot;
                 &quot;&lt;li&gt;Moodbar - %17&quot;
+		&quot;&lt;li&gt;Elapsed Time - %18&quot;
                 &quot;&lt;/ul&gt;&quot;
             &quot;If you surround sections of text that contain a token with curly-braces, that section will be hidden if the token is empty, for example:&quot;
                 &quot;&lt;pre&gt;%11&lt;/pre&gt;&quot;
@@ -84,10 +85,10 @@
 
     QToolTip::add( kcfg_OsdText, text.args( QStringList()
             // we don&apos;t translate these, it is not sensible to do so
-            &lt;&lt; &quot;%title&quot; &lt;&lt; &quot;%album&quot;   &lt;&lt; &quot;%artist&quot; &lt;&lt; &quot;%genre&quot;     &lt;&lt; &quot;%bitrate&quot;
-            &lt;&lt; &quot;%year &quot; &lt;&lt; &quot;%length&quot;  &lt;&lt; &quot;%track&quot;  &lt;&lt; &quot;%filename&quot;  &lt;&lt; &quot;%directory&quot;
-            &lt;&lt; &quot;%type&quot;  &lt;&lt; &quot;%comment&quot; &lt;&lt; &quot;%score&quot;  &lt;&lt; &quot;%playcount&quot; &lt;&lt; &quot;%discnumber&quot;
-            &lt;&lt; &quot;%rating&quot; &lt;&lt; &quot;%moodbar&quot;
+            &lt;&lt; &quot;%title&quot;  &lt;&lt; &quot;%album&quot;   &lt;&lt; &quot;%artist&quot;  &lt;&lt; &quot;%genre&quot;     &lt;&lt; &quot;%bitrate&quot;
+            &lt;&lt; &quot;%year &quot;  &lt;&lt; &quot;%length&quot;  &lt;&lt; &quot;%track&quot;   &lt;&lt; &quot;%filename&quot;  &lt;&lt; &quot;%directory&quot;
+            &lt;&lt; &quot;%type&quot;   &lt;&lt; &quot;%comment&quot; &lt;&lt; &quot;%score&quot;   &lt;&lt; &quot;%playcount&quot; &lt;&lt; &quot;%discnumber&quot;
+            &lt;&lt; &quot;%rating&quot; &lt;&lt; &quot;%moodbar&quot; &lt;&lt; &quot;%elapsed&quot;
             &lt;&lt; &quot;%title {Score: %score}&quot; ) );
 }
 
--- trunk/extragear/multimedia/amarok/src/osd.cpp #611450:611451
@@ -16,6 +16,7 @@
 #include &quot;amarokconfig.h&quot;
 #include &quot;collectiondb.h&quot;    //for albumCover location
 #include &quot;debug.h&quot;
+#include &quot;enginecontroller.h&quot;
 #include &quot;osd.h&quot;
 #include &quot;playlist.h&quot;        //if osdUsePlaylistColumns()
 #include &quot;playlistitem.h&quot;    //ditto
@@ -626,17 +627,6 @@
              this,                   SLOT( slotImageChanged( const QString&amp; ) ) );
 }
 
-template&lt;class T&gt;
-class MyVector: public QValueVector&lt;T&gt; //QValueVector doesn&apos;t have operator&lt;&lt;, wtf?
-{
-    public:
-    inline MyVector&lt;T&gt; &amp;operator&lt;&lt; (const T &amp;x)
-    {
-        append( x );
-        return *this;
-    }
-};
-
 void
 Amarok::OSD::show( const MetaBundle &amp;bundle ) //slot
 {
@@ -646,10 +636,10 @@
 
     else
     {
-        MyVector&lt;QString&gt; tags;
-        tags &lt;&lt; bundle.prettyTitle();
+        QValueVector&lt;QString&gt; tags;
+        tags.append(bundle.prettyTitle());
         for( int i = 0; i &lt; PlaylistItem::NUM_COLUMNS; ++i )
-            tags &lt;&lt; bundle.prettyText( i );
+            tags.append(bundle.prettyText( i ));
 
         if( bundle.length() &lt;= 0 )
             tags[PlaylistItem::Length+1] = QString::null;
@@ -657,7 +647,7 @@
         if( AmarokConfig::osdUsePlaylistColumns() )
         {
             QString tag;
-            MyVector&lt;int&gt; availableTags; //eg, ones that aren&apos;t empty
+            QValueVector&lt;int&gt; availableTags; //eg, ones that aren&apos;t empty
             static const QValueList&lt;int&gt; parens = //display these in parentheses
                 QValueList&lt;int&gt;() &lt;&lt; PlaylistItem::PlayCount  &lt;&lt; PlaylistItem::Year   &lt;&lt; PlaylistItem::Comment
                                   &lt;&lt; PlaylistItem::Genre      &lt;&lt; PlaylistItem::Length &lt;&lt; PlaylistItem::Bitrate
@@ -668,7 +658,7 @@
             {
                 const int column = Playlist::instance()-&gt;mapToLogicalColumn( i );
                 if( !tags.at( column + 1 ).isEmpty() &amp;&amp; column != PlaylistItem::Rating )
-                    availableTags &lt;&lt; column;
+                    availableTags.append(column);
                 if( column == PlaylistItem::Rating )
                     OSDWidget::setRating( bundle.rating() );
                 else if( column == PlaylistItem::Mood )
@@ -695,7 +685,26 @@
 
             if( bundle.length() &lt;= 0 )
                 args[&quot;length&quot;] = QString::null;
-
+	    
+	    
+	    uint time=EngineController::instance()-&gt;engine()-&gt;position();
+	    uint sec=(time/1000)%60;	//is there a better way to calculate the time?
+	    time /= 1000;
+	    uint min=(time/60)%60;
+	    time /= 60;
+	    uint hour=(time/60)%60;
+	    QString timeformat=&quot;&quot;;
+	    if(hour!=0)
+	    {
+		    timeformat += QString::number(hour);
+		    timeformat +=&quot;:&quot;;
+	    }
+	    timeformat +=QString::number(min);
+	    timeformat +=&quot;:&quot;;
+	    if(sec&lt;10)
+		    timeformat +=&quot;0&quot;;
+	    timeformat +=QString::number(sec);
+	    args[&quot;elapsed&quot;]=timeformat;
             QStringx osd = AmarokConfig::osdText();
 
             // hacky, but works...
--- trunk/extragear/multimedia/amarok/src/osd.h #611450:611451
@@ -16,7 +16,7 @@
 #define AMAROK_OSD_H
 
 #include &quot;metabundle.h&quot;
-
+		
 #include &lt;kpixmap.h&gt;
 #include &lt;qimage.h&gt;
 #include &lt;qvaluelist.h&gt;
</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>18834</attachid>
            <date>2006-12-07 19:27:24 +0000</date>
            <delta_ts>2006-12-07 19:27:24 +0000</delta_ts>
            <desc>Patch for osd.cpp, .h, Options5.ui.h</desc>
            <filename>osd-patch.diff</filename>
            <type>text/plain</type>
            <size>4336</size>
            <attacher name="Christian Engels">christian.engels</attacher>
            
              <data encoding="base64">LS0tIG9zZC5jcHAJMjAwNi0xMi0wNyAxODoyODoyMi4wMDAwMDAwMDAgKzAxMDAKKysrIG9zZC1w
YXRjaC5jcHAJMjAwNi0xMi0wNyAxODoyNzoxMy4wMDAwMDAwMDAgKzAxMDAKQEAgLTYxOSwxNyAr
NjE5LDYgQEAKICAgICAgICAgICAgICB0aGlzLCAgICAgICAgICAgICAgICAgICBTTE9UKCBzbG90
SW1hZ2VDaGFuZ2VkKCBjb25zdCBRU3RyaW5nJiApICkgKTsKIH0KIAotdGVtcGxhdGU8Y2xhc3Mg
VD4KLWNsYXNzIE15VmVjdG9yOiBwdWJsaWMgUVZhbHVlVmVjdG9yPFQ+IC8vUVZhbHVlVmVjdG9y
IGRvZXNuJ3QgaGF2ZSBvcGVyYXRvcjw8LCB3dGY/Ci17Ci0gICAgcHVibGljOgotICAgIGlubGlu
ZSBNeVZlY3RvcjxUPiAmb3BlcmF0b3I8PCAoY29uc3QgVCAmeCkKLSAgICB7Ci0gICAgICAgIGFw
cGVuZCggeCApOwotICAgICAgICByZXR1cm4gKnRoaXM7Ci0gICAgfQotfTsKLQogdm9pZAogQW1h
cm9rOjpPU0Q6OnNob3coIGNvbnN0IE1ldGFCdW5kbGUgJmJ1bmRsZSApIC8vc2xvdAogewpAQCAt
NjM5LDEwICs2MjgsMTAgQEAKIAogICAgIGVsc2UKICAgICB7Ci0gICAgICAgIE15VmVjdG9yPFFT
dHJpbmc+IHRhZ3M7Ci0gICAgICAgIHRhZ3MgPDwgYnVuZGxlLnByZXR0eVRpdGxlKCk7CisgICAg
ICAgIFFWYWx1ZVZlY3RvcjxRU3RyaW5nPiB0YWdzOworICAgICAgICB0YWdzLmFwcGVuZChidW5k
bGUucHJldHR5VGl0bGUoKSk7CiAgICAgICAgIGZvciggaW50IGkgPSAwOyBpIDwgUGxheWxpc3RJ
dGVtOjpOVU1fQ09MVU1OUzsgKytpICkKLSAgICAgICAgICAgIHRhZ3MgPDwgYnVuZGxlLnByZXR0
eVRleHQoIGkgKTsKKyAgICAgICAgICAgIHRhZ3MuYXBwZW5kKGJ1bmRsZS5wcmV0dHlUZXh0KCBp
ICkpOwogCiAgICAgICAgIGlmKCBidW5kbGUubGVuZ3RoKCkgPD0gMCApCiAgICAgICAgICAgICB0
YWdzW1BsYXlsaXN0SXRlbTo6TGVuZ3RoKzFdID0gUVN0cmluZzo6bnVsbDsKQEAgLTY1MCw3ICs2
MzksNyBAQAogICAgICAgICBpZiggQW1hcm9rQ29uZmlnOjpvc2RVc2VQbGF5bGlzdENvbHVtbnMo
KSApCiAgICAgICAgIHsKICAgICAgICAgICAgIFFTdHJpbmcgdGFnOwotICAgICAgICAgICAgTXlW
ZWN0b3I8aW50PiBhdmFpbGFibGVUYWdzOyAvL2VnLCBvbmVzIHRoYXQgYXJlbid0IGVtcHR5Cisg
ICAgICAgICAgICBRVmFsdWVWZWN0b3I8aW50PiBhdmFpbGFibGVUYWdzOyAvL2VnLCBvbmVzIHRo
YXQgYXJlbid0IGVtcHR5CiAgICAgICAgICAgICBzdGF0aWMgY29uc3QgUVZhbHVlTGlzdDxpbnQ+
IHBhcmVucyA9IC8vZGlzcGxheSB0aGVzZSBpbiBwYXJlbnRoZXNlcwogICAgICAgICAgICAgICAg
IFFWYWx1ZUxpc3Q8aW50PigpIDw8IFBsYXlsaXN0SXRlbTo6UGxheUNvdW50ICA8PCBQbGF5bGlz
dEl0ZW06OlllYXIgICA8PCBQbGF5bGlzdEl0ZW06OkNvbW1lbnQKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICA8PCBQbGF5bGlzdEl0ZW06OkdlbnJlICAgICAgPDwgUGxheWxpc3RJ
dGVtOjpMZW5ndGggPDwgUGxheWxpc3RJdGVtOjpCaXRyYXRlCkBAIC02NjEsNyArNjUwLDcgQEAK
ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICBjb25zdCBpbnQgY29sdW1uID0gUGxheWxp
c3Q6Omluc3RhbmNlKCktPm1hcFRvTG9naWNhbENvbHVtbiggaSApOwogICAgICAgICAgICAgICAg
IGlmKCAhdGFncy5hdCggY29sdW1uICsgMSApLmlzRW1wdHkoKSAmJiBjb2x1bW4gIT0gUGxheWxp
c3RJdGVtOjpSYXRpbmcgKQotICAgICAgICAgICAgICAgICAgICBhdmFpbGFibGVUYWdzIDw8IGNv
bHVtbjsKKyAgICAgICAgICAgICAgICAgICAgYXZhaWxhYmxlVGFncy5hcHBlbmQoY29sdW1uKTsK
ICAgICAgICAgICAgICAgICBpZiggY29sdW1uID09IFBsYXlsaXN0SXRlbTo6UmF0aW5nICkKICAg
ICAgICAgICAgICAgICAgICAgT1NEV2lkZ2V0OjpzZXRSYXRpbmcoIGJ1bmRsZS5yYXRpbmcoKSAp
OwogICAgICAgICAgICAgICAgIGVsc2UgaWYoIGNvbHVtbiA9PSBQbGF5bGlzdEl0ZW06Ok1vb2Qg
KQpAQCAtNjg4LDcgKzY3NywyNiBAQAogCiAgICAgICAgICAgICBpZiggYnVuZGxlLmxlbmd0aCgp
IDw9IDAgKQogICAgICAgICAgICAgICAgIGFyZ3NbImxlbmd0aCJdID0gUVN0cmluZzo6bnVsbDsK
LQorCSAgICAKKwkgICAgCisJICAgIHVpbnQgdGltZT1FbmdpbmVDb250cm9sbGVyOjppbnN0YW5j
ZSgpLT5lbmdpbmUoKS0+cG9zaXRpb24oKTsKKwkgICAgdWludCBzZWM9KHRpbWUvMTAwMCklNjA7
CS8vaXMgdGhlcmUgYSBiZXR0ZXIgd2F5IHRvIGNhbGN1bGF0ZSB0aGUgdGltZT8KKwkgICAgdGlt
ZSAvPSAxMDAwOworCSAgICB1aW50IG1pbj0odGltZS82MCklNjA7CisJICAgIHRpbWUgLz0gNjA7
CisJICAgIHVpbnQgaG91cj0odGltZS82MCklNjA7CisJICAgIFFTdHJpbmcgdGltZWZvcm1hdD0i
IjsKKwkgICAgaWYoaG91ciE9MCkKKwkgICAgeworCQkgICAgdGltZWZvcm1hdCArPSBRU3RyaW5n
OjpudW1iZXIoaG91cik7CisJCSAgICB0aW1lZm9ybWF0ICs9IjoiOworCSAgICB9CisJICAgIHRp
bWVmb3JtYXQgKz1RU3RyaW5nOjpudW1iZXIobWluKTsKKwkgICAgdGltZWZvcm1hdCArPSI6IjsK
KwkgICAgaWYoc2VjPDEwKQorCQkgICAgdGltZWZvcm1hdCArPSIwIjsKKwkgICAgdGltZWZvcm1h
dCArPVFTdHJpbmc6Om51bWJlcihzZWMpOworCSAgICBhcmdzWyJlbGFwc2VkIl09dGltZWZvcm1h
dDsKICAgICAgICAgICAgIFFTdHJpbmd4IG9zZCA9IEFtYXJva0NvbmZpZzo6b3NkVGV4dCgpOwog
CiAgICAgICAgICAgICAvLyBoYWNreSwgYnV0IHdvcmtzLi4uCgotLS0gb3NkLmgJMjAwNi0xMi0w
NyAxODoyODoyMi4wMDAwMDAwMDAgKzAxMDAKKysrIG9zZC1wYXRjaC5oCTIwMDYtMTItMDcgMTg6
MzI6MzcuMDAwMDAwMDAwICswMTAwCkBAIC0xNiw3ICsxNiw4IEBACiAjZGVmaW5lIEFNQVJPS19P
U0RfSAogCiAjaW5jbHVkZSAibWV0YWJ1bmRsZS5oIgotCisjaW5jbHVkZSAiZW5naW5lY29udHJv
bGxlci5oIgorCQkKICNpbmNsdWRlIDxrcGl4bWFwLmg+CiAjaW5jbHVkZSA8cWltYWdlLmg+CiAj
aW5jbHVkZSA8cXZhbHVlbGlzdC5oPgoKCQkKLS0tIE9wdGlvbnM1LnVpLmgJMjAwNi0xMi0wNyAx
OToyMjoxOS4wMDAwMDAwMDAgKzAxMDAKKysrIE9wdGlvbnM1LnVpLmgtcGF0Y2gJMjAwNi0xMi0w
NyAxOToyMzo0MC4wMDAwMDAwMDAgKzAxMDAKQEAgLTc3LDYgKzc3LDcgQEAKICAgICAgICAgICAg
ICAgICAiPGxpPkRpc2MgTnVtYmVyIC0gJTE1IgogICAgICAgICAgICAgICAgICI8bGk+UmF0aW5n
IC0gJTE2IgogICAgICAgICAgICAgICAgICI8bGk+TW9vZGJhciAtICUxNyIKKwkJIjxsaT5FbGFw
c2VkIFRpbWUgLSAlMTgiCiAgICAgICAgICAgICAgICAgIjwvdWw+IgogICAgICAgICAgICAgIklm
IHlvdSBzdXJyb3VuZCBzZWN0aW9ucyBvZiB0ZXh0IHRoYXQgY29udGFpbiBhIHRva2VuIHdpdGgg
Y3VybHktYnJhY2VzLCB0aGF0IHNlY3Rpb24gd2lsbCBiZSBoaWRkZW4gaWYgdGhlIHRva2VuIGlz
IGVtcHR5LCBmb3IgZXhhbXBsZToiCiAgICAgICAgICAgICAgICAgIjxwcmU+JTExPC9wcmU+IgpA
QCAtODQsMTAgKzg1LDEwIEBACiAKICAgICBRVG9vbFRpcDo6YWRkKCBrY2ZnX09zZFRleHQsIHRl
eHQuYXJncyggUVN0cmluZ0xpc3QoKQogICAgICAgICAgICAgLy8gd2UgZG9uJ3QgdHJhbnNsYXRl
IHRoZXNlLCBpdCBpcyBub3Qgc2Vuc2libGUgdG8gZG8gc28KLSAgICAgICAgICAgIDw8ICIldGl0
bGUiIDw8ICIlYWxidW0iICAgPDwgIiVhcnRpc3QiIDw8ICIlZ2VucmUiICAgICA8PCAiJWJpdHJh
dGUiCi0gICAgICAgICAgICA8PCAiJXllYXIgIiA8PCAiJWxlbmd0aCIgIDw8ICIldHJhY2siICA8
PCAiJWZpbGVuYW1lIiAgPDwgIiVkaXJlY3RvcnkiCi0gICAgICAgICAgICA8PCAiJXR5cGUiICA8
PCAiJWNvbW1lbnQiIDw8ICIlc2NvcmUiICA8PCAiJXBsYXljb3VudCIgPDwgIiVkaXNjbnVtYmVy
IgotICAgICAgICAgICAgPDwgIiVyYXRpbmciIDw8ICIlbW9vZGJhciIKKyAgICAgICAgICAgIDw8
ICIldGl0bGUiICA8PCAiJWFsYnVtIiAgIDw8ICIlYXJ0aXN0IiAgPDwgIiVnZW5yZSIgICAgIDw8
ICIlYml0cmF0ZSIKKyAgICAgICAgICAgIDw8ICIleWVhciAiICA8PCAiJWxlbmd0aCIgIDw8ICIl
dHJhY2siICAgPDwgIiVmaWxlbmFtZSIgIDw8ICIlZGlyZWN0b3J5IgorICAgICAgICAgICAgPDwg
IiV0eXBlIiAgIDw8ICIlY29tbWVudCIgPDwgIiVzY29yZSIgICA8PCAiJXBsYXljb3VudCIgPDwg
IiVkaXNjbnVtYmVyIgorICAgICAgICAgICAgPDwgIiVyYXRpbmciIDw8ICIlbW9vZGJhciIgPDwg
IiVlbGFwc2VkIgogICAgICAgICAgICAgPDwgIiV0aXRsZSB7U2NvcmU6ICVzY29yZX0iICkgKTsK
IH0KIA==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>18835</attachid>
            <date>2006-12-07 21:23:38 +0000</date>
            <delta_ts>2006-12-07 21:23:38 +0000</delta_ts>
            <desc>working patch</desc>
            <filename>osd-patch.diff</filename>
            <type>text/plain</type>
            <size>4337</size>
            <attacher name="Christian Engels">christian.engels</attacher>
            
              <data encoding="base64">LS0tIG9zZC5jcHAJMjAwNi0xMi0wNyAxODoyODoyMi4wMDAwMDAwMDAgKzAxMDAKKysrIG9zZC1w
YXRjaC5jcHAJMjAwNi0xMi0wNyAxODoyNzoxMy4wMDAwMDAwMDAgKzAxMDAKQEAgLTYxOSwxNyAr
NjE5LDYgQEAKICAgICAgICAgICAgICB0aGlzLCAgICAgICAgICAgICAgICAgICBTTE9UKCBzbG90
SW1hZ2VDaGFuZ2VkKCBjb25zdCBRU3RyaW5nJiApICkgKTsKIH0KIAotdGVtcGxhdGU8Y2xhc3Mg
VD4KLWNsYXNzIE15VmVjdG9yOiBwdWJsaWMgUVZhbHVlVmVjdG9yPFQ+IC8vUVZhbHVlVmVjdG9y
IGRvZXNuJ3QgaGF2ZSBvcGVyYXRvcjw8LCB3dGY/Ci17Ci0gICAgcHVibGljOgotICAgIGlubGlu
ZSBNeVZlY3RvcjxUPiAmb3BlcmF0b3I8PCAoY29uc3QgVCAmeCkKLSAgICB7Ci0gICAgICAgIGFw
cGVuZCggeCApOwotICAgICAgICByZXR1cm4gKnRoaXM7Ci0gICAgfQotfTsKLQogdm9pZAogQW1h
cm9rOjpPU0Q6OnNob3coIGNvbnN0IE1ldGFCdW5kbGUgJmJ1bmRsZSApIC8vc2xvdAogewpAQCAt
NjM5LDEwICs2MjgsMTAgQEAKIAogICAgIGVsc2UKICAgICB7Ci0gICAgICAgIE15VmVjdG9yPFFT
dHJpbmc+IHRhZ3M7Ci0gICAgICAgIHRhZ3MgPDwgYnVuZGxlLnByZXR0eVRpdGxlKCk7CisgICAg
ICAgIFFWYWx1ZVZlY3RvcjxRU3RyaW5nPiB0YWdzOworICAgICAgICB0YWdzLmFwcGVuZChidW5k
bGUucHJldHR5VGl0bGUoKSk7CiAgICAgICAgIGZvciggaW50IGkgPSAwOyBpIDwgUGxheWxpc3RJ
dGVtOjpOVU1fQ09MVU1OUzsgKytpICkKLSAgICAgICAgICAgIHRhZ3MgPDwgYnVuZGxlLnByZXR0
eVRleHQoIGkgKTsKKyAgICAgICAgICAgIHRhZ3MuYXBwZW5kKGJ1bmRsZS5wcmV0dHlUZXh0KCBp
ICkpOwogCiAgICAgICAgIGlmKCBidW5kbGUubGVuZ3RoKCkgPD0gMCApCiAgICAgICAgICAgICB0
YWdzW1BsYXlsaXN0SXRlbTo6TGVuZ3RoKzFdID0gUVN0cmluZzo6bnVsbDsKQEAgLTY1MCw3ICs2
MzksNyBAQAogICAgICAgICBpZiggQW1hcm9rQ29uZmlnOjpvc2RVc2VQbGF5bGlzdENvbHVtbnMo
KSApCiAgICAgICAgIHsKICAgICAgICAgICAgIFFTdHJpbmcgdGFnOwotICAgICAgICAgICAgTXlW
ZWN0b3I8aW50PiBhdmFpbGFibGVUYWdzOyAvL2VnLCBvbmVzIHRoYXQgYXJlbid0IGVtcHR5Cisg
ICAgICAgICAgICBRVmFsdWVWZWN0b3I8aW50PiBhdmFpbGFibGVUYWdzOyAvL2VnLCBvbmVzIHRo
YXQgYXJlbid0IGVtcHR5CiAgICAgICAgICAgICBzdGF0aWMgY29uc3QgUVZhbHVlTGlzdDxpbnQ+
IHBhcmVucyA9IC8vZGlzcGxheSB0aGVzZSBpbiBwYXJlbnRoZXNlcwogICAgICAgICAgICAgICAg
IFFWYWx1ZUxpc3Q8aW50PigpIDw8IFBsYXlsaXN0SXRlbTo6UGxheUNvdW50ICA8PCBQbGF5bGlz
dEl0ZW06OlllYXIgICA8PCBQbGF5bGlzdEl0ZW06OkNvbW1lbnQKICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICA8PCBQbGF5bGlzdEl0ZW06OkdlbnJlICAgICAgPDwgUGxheWxpc3RJ
dGVtOjpMZW5ndGggPDwgUGxheWxpc3RJdGVtOjpCaXRyYXRlCkBAIC02NjEsNyArNjUwLDcgQEAK
ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICBjb25zdCBpbnQgY29sdW1uID0gUGxheWxp
c3Q6Omluc3RhbmNlKCktPm1hcFRvTG9naWNhbENvbHVtbiggaSApOwogICAgICAgICAgICAgICAg
IGlmKCAhdGFncy5hdCggY29sdW1uICsgMSApLmlzRW1wdHkoKSAmJiBjb2x1bW4gIT0gUGxheWxp
c3RJdGVtOjpSYXRpbmcgKQotICAgICAgICAgICAgICAgICAgICBhdmFpbGFibGVUYWdzIDw8IGNv
bHVtbjsKKyAgICAgICAgICAgICAgICAgICAgYXZhaWxhYmxlVGFncy5hcHBlbmQoY29sdW1uKTsK
ICAgICAgICAgICAgICAgICBpZiggY29sdW1uID09IFBsYXlsaXN0SXRlbTo6UmF0aW5nICkKICAg
ICAgICAgICAgICAgICAgICAgT1NEV2lkZ2V0OjpzZXRSYXRpbmcoIGJ1bmRsZS5yYXRpbmcoKSAp
OwogICAgICAgICAgICAgICAgIGVsc2UgaWYoIGNvbHVtbiA9PSBQbGF5bGlzdEl0ZW06Ok1vb2Qg
KQpAQCAtNjg4LDcgKzY3NywyNiBAQAogCiAgICAgICAgICAgICBpZiggYnVuZGxlLmxlbmd0aCgp
IDw9IDAgKQogICAgICAgICAgICAgICAgIGFyZ3NbImxlbmd0aCJdID0gUVN0cmluZzo6bnVsbDsK
LQorCSAgICAKKwkgICAgCisJICAgIHVpbnQgdGltZT1FbmdpbmVDb250cm9sbGVyOjppbnN0YW5j
ZSgpLT5lbmdpbmUoKS0+cG9zaXRpb24oKTsKKwkgICAgdWludCBzZWM9KHRpbWUvMTAwMCklNjA7
CS8vaXMgdGhlcmUgYSBiZXR0ZXIgd2F5IHRvIGNhbGN1bGF0ZSB0aGUgdGltZT8KKwkgICAgdGlt
ZSAvPSAxMDAwOworCSAgICB1aW50IG1pbj0odGltZS82MCklNjA7CisJICAgIHRpbWUgLz0gNjA7
CisJICAgIHVpbnQgaG91cj0odGltZS82MCklNjA7CisJICAgIFFTdHJpbmcgdGltZWZvcm1hdD0i
IjsKKwkgICAgaWYoaG91ciE9MCkKKwkgICAgeworCQkgICAgdGltZWZvcm1hdCArPSBRU3RyaW5n
OjpudW1iZXIoaG91cik7CisJCSAgICB0aW1lZm9ybWF0ICs9IjoiOworCSAgICB9CisJICAgIHRp
bWVmb3JtYXQgKz1RU3RyaW5nOjpudW1iZXIobWluKTsKKwkgICAgdGltZWZvcm1hdCArPSI6IjsK
KwkgICAgaWYoc2VjPDEwKQorCQkgICAgdGltZWZvcm1hdCArPSIwIjsKKwkgICAgdGltZWZvcm1h
dCArPVFTdHJpbmc6Om51bWJlcihzZWMpOworCSAgICBhcmdzWyJlbGFwc2VkIl09dGltZWZvcm1h
dDsKICAgICAgICAgICAgIFFTdHJpbmd4IG9zZCA9IEFtYXJva0NvbmZpZzo6b3NkVGV4dCgpOwog
CiAgICAgICAgICAgICAvLyBoYWNreSwgYnV0IHdvcmtzLi4uCgotLS0gb3NkLmgJMjAwNi0xMi0w
NyAxODoyODoyMi4wMDAwMDAwMDAgKzAxMDAKKysrIG9zZC1wYXRjaC5oCTIwMDYtMTItMDcgMTg6
MzI6MzcuMDAwMDAwMDAwICswMTAwCkBAIC0xNiw3ICsxNiw4IEBACiAjZGVmaW5lIEFNQVJPS19P
U0RfSAogCiAjaW5jbHVkZSAibWV0YWJ1bmRsZS5oIgotCisjaW5jbHVkZSAiZW5naW5lY29udHJv
bGxlci5oIgorCQkKICNpbmNsdWRlIDxrcGl4bWFwLmg+CiAjaW5jbHVkZSA8cWltYWdlLmg+CiAj
aW5jbHVkZSA8cXZhbHVlbGlzdC5oPgoKCQkKLS0tIE9wdGlvbnM1LnVpLmgJMjAwNi0xMi0wNyAy
MToxOTo0Mi4wMDAwMDAwMDAgKzAxMDAKKysrIE9wdGlvbnM1LnVpLmgtcGF0Y2gJMjAwNi0xMi0w
NyAxOToyMzo0MC4wMDAwMDAwMDAgKzAxMDAKQEAgLTc3LDYgKzc3LDcgQEAKICAgICAgICAgICAg
ICAgICAiPGxpPkRpc2MgTnVtYmVyIC0gJTE1IgogICAgICAgICAgICAgICAgICI8bGk+UmF0aW5n
IC0gJTE2IgogICAgICAgICAgICAgICAgICI8bGk+TW9vZGJhciAtICUxNyIKKwkJIjxsaT5FbGFw
c2VkIFRpbWUgLSAlMTgiCiAgICAgICAgICAgICAgICAgIjwvdWw+IgogICAgICAgICAgICAgIklm
IHlvdSBzdXJyb3VuZCBzZWN0aW9ucyBvZiB0ZXh0IHRoYXQgY29udGFpbiBhIHRva2VuIHdpdGgg
Y3VybHktYnJhY2VzLCB0aGF0IHNlY3Rpb24gd2lsbCBiZSBoaWRkZW4gaWYgdGhlIHRva2VuIGlz
IGVtcHR5LCBmb3IgZXhhbXBsZToiCiAgICAgICAgICAgICAgICAgIjxwcmU+JTExPC9wcmU+IgpA
QCAtODQsMTAgKzg1LDEwIEBACiAKICAgICBRVG9vbFRpcDo6YWRkKCBrY2ZnX09zZFRleHQsIHRl
eHQuYXJncyggUVN0cmluZ0xpc3QoKQogICAgICAgICAgICAgLy8gd2UgZG9uJ3QgdHJhbnNsYXRl
IHRoZXNlLCBpdCBpcyBub3Qgc2Vuc2libGUgdG8gZG8gc28KLSAgICAgICAgICAgIDw8ICIldGl0
bGUiIDw8ICIlYWxidW0iICAgPDwgIiVhcnRpc3QiIDw8ICIlZ2VucmUiICAgICA8PCAiJWJpdHJh
dGUiCi0gICAgICAgICAgICA8PCAiJXllYXIgIiA8PCAiJWxlbmd0aCIgIDw8ICIldHJhY2siICA8
PCAiJWZpbGVuYW1lIiAgPDwgIiVkaXJlY3RvcnkiCi0gICAgICAgICAgICA8PCAiJXR5cGUiICA8
PCAiJWNvbW1lbnQiIDw8ICIlc2NvcmUiICA8PCAiJXBsYXljb3VudCIgPDwgIiVkaXNjbnVtYmVy
IgotICAgICAgICAgICAgPDwgIiVyYXRpbmciIDw8ICIlbW9vZGJhciIKKyAgICAgICAgICAgIDw8
ICIldGl0bGUiICA8PCAiJWFsYnVtIiAgIDw8ICIlYXJ0aXN0IiAgPDwgIiVnZW5yZSIgICAgIDw8
ICIlYml0cmF0ZSIKKyAgICAgICAgICAgIDw8ICIleWVhciAiICA8PCAiJWxlbmd0aCIgIDw8ICIl
dHJhY2siICAgPDwgIiVmaWxlbmFtZSIgIDw8ICIlZGlyZWN0b3J5IgorICAgICAgICAgICAgPDwg
IiV0eXBlIiAgIDw8ICIlY29tbWVudCIgPDwgIiVzY29yZSIgICA8PCAiJXBsYXljb3VudCIgPDwg
IiVkaXNjbnVtYmVyIgorICAgICAgICAgICAgPDwgIiVyYXRpbmciIDw8ICIlbW9vZGJhciIgPDwg
IiVlbGFwc2VkIgogICAgICAgICAgICAgPDwgIiV0aXRsZSB7U2NvcmU6ICVzY29yZX0iICkgKTsK
IH0KIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>