Mailinglist Archive: opensuse-commit (2092 mails)

< Previous Next >
commit amarok
  • From: root@xxxxxxxxxxxxxxx (h_root)
  • Date: Fri, 31 Aug 2007 15:30:08 +0200
  • Message-id: <20070831133008.5AA49678180@xxxxxxxxxxxxxxx>

Hello community,

here is the log from the commit of package amarok
checked in at Fri Aug 31 15:30:08 CEST 2007.

--------
--- KDE/amarok/amarok.changes   2007-08-26 11:36:44.000000000 +0200
+++ /mounts/work_src_done/STABLE/amarok/amarok.changes  2007-08-30 11:49:37.000000000 +0200
@@ -1,0 +2,5 @@
+Thu Aug 30 11:48:53 CEST 2007 - ssommer@xxxxxxx
+
+- fix freeze when the No-MP3 support dialog pops up (#304202)
+
+-------------------------------------------------------------------

New:
----
  amarok-mp3-dialog-freeze.diff

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ amarok.spec ++++++
--- /var/tmp/diff_new_pack.O26949/_old  2007-08-31 15:25:14.000000000 +0200
+++ /var/tmp/diff_new_pack.O26949/_new  2007-08-31 15:25:14.000000000 +0200
@@ -36,7 +36,7 @@
 Group:          Productivity/Multimedia/Sound/Players
 Summary:        Media Player for KDE
 Version:        1.4.7
-Release:        15
+Release:        19
 %if %suse_version > 1020
 Requires:       amarok-lang = %{version}
 Recommends:     libvisual-plugins
@@ -56,6 +56,7 @@
 Patch13:        amarok-FrameworkVersion.diff
 Patch14:        use-ksplashscreen.diff
 Patch15:        amarok-continue.diff
+Patch16:        amarok-mp3-dialog-freeze.diff
 
 %description
 Amarok is a media player for all kinds of media. This includes MP3, Ogg
@@ -166,6 +167,7 @@
 %endif
 %patch14
 %patch15 -p1
+%patch16 -p1
 . /etc/opt/kde3/common_options
 update_admin --no-unsermake
 
@@ -299,6 +301,8 @@
 %endif
 
 %changelog
+* Thu Aug 30 2007 - ssommer@xxxxxxx
+- fix freeze when the No-MP3 support dialog pops up (#304202)
 * Sun Aug 26 2007 - ssommer@xxxxxxx
 - replace no button with a continue button in the No-MP3 support
   dialog (#302250)

++++++ amarok-mp3-dialog-freeze.diff ++++++
--- amarok-1.4.7.org/amarok/src/enginecontroller.h      2007-08-07 19:48:28.000000000 +0200
+++ amarok-1.4.7/amarok/src/enginecontroller.h  2007-08-29 14:07:27.000000000 +0200
@@ -45,6 +45,7 @@
     static EngineController* instance();
     static EngineBase*       engine() { return instance()->m_engine; }
     static bool              canDecode( const KURL& );
+    void unplayableNotification();
     static ExtensionCache&   extensionCache() { return s_extensionCache; }
     static QString           engineProperty( const QString& key ) { return engine()->pluginProperty( key ); }
     static bool              hasEngineProperty( const QString& key ) { return engine()->hasPluginProperty( key ); }
--- amarok-1.4.7.org/amarok/src/enginecontroller.cpp    2007-08-07 19:48:28.000000000 +0200
+++ amarok-1.4.7/amarok/src/enginecontroller.cpp        2007-08-29 14:07:16.000000000 +0200
@@ -244,13 +244,10 @@
     if( engine() != EngineController::instance()->m_voidEngine )
     {
         //we special case this as otherwise users hate us
-        if ( !valid && ext.lower() == "mp3" && !installDistroCodec(AmarokConfig::soundSystem()) )
-            Amarok::StatusBar::instance()->longMessageThreadSafe(
-                    i18n( "<p>The %1 claims it <b>cannot</b> play MP3 files."
-                        "<p>You may want to choose a different engine from the <i>Configure Dialog</i>, or examine "
-                        "the installation of the multimedia-framework that the current engine uses. "
-                        "<p>You may find useful information in the <i>FAQ</i> section of the <i>Amarok HandBook</i>." )
-                    .arg( AmarokConfig::soundSystem() ), KDE::StatusBar::Error );
+        if ( !valid && ext.lower() == "mp3"){
+            QCustomEvent * e = new QCustomEvent( 2000 );
+            QApplication::postEvent( Amarok::StatusBar::instance(), e );
+       }
 
         // Cache this result for the next lookup
         if ( !ext.isEmpty() )
@@ -260,6 +257,17 @@
     return valid;
 }
 
+void EngineController::unplayableNotification() {
+
+    if( !installDistroCodec(AmarokConfig::soundSystem()))
+        Amarok::StatusBar::instance()->longMessageThreadSafe(
+                  i18n( "<p>The %1 claims it <b>cannot</b> play MP3 files."
+                        "<p>You may want to choose a different engine from the <i>Configure Dialog</i>, or examine "
+                        "the installation of the multimedia-framework that the current engine uses. "
+                        "<p>You may find useful information in the <i>FAQ</i> section of the <i>Amarok HandBook</i>." )
+                    .arg( AmarokConfig::soundSystem() ), KDE::StatusBar::Error );
+}
+
 bool EngineController::installDistroCodec( const QString& engine /*Filetype type*/)
 {
     KService::Ptr service = KTrader::self()->query( "Amarok/CodecInstall"
--- amarok-1.4.7.org/amarok/src/statusbar/statusBarBase.cpp     2007-08-07 19:48:28.000000000 +0200
+++ amarok-1.4.7/amarok/src/statusbar/statusBarBase.cpp 2007-08-29 14:07:51.000000000 +0200
@@ -25,6 +25,7 @@
 #include "squeezedtextlabel.h"
 #include "statusBarBase.h"
 #include "threadmanager.h"
+#include "enginecontroller.h"
 
 #include <kio/job.h>
 #include <kiconloader.h>
@@ -343,9 +344,13 @@
 void
 StatusBar::customEvent( QCustomEvent *e )
 {
-    QString *s = static_cast<QString*>( e->data() );
-    longMessage( *s );
-    delete s;
+    if(e->type() == 1000 ){ 
+      QString *s = static_cast<QString*>( e->data() );
+      longMessage( *s );
+      delete s;
+    }else if(e->type() == 2000 ){
+      EngineController::instance()->unplayableNotification();
+    }
 }
 
 



++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++



Remember to have fun...

---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse-commit+unsubscribe@xxxxxxxxxxxx
For additional commands, e-mail: opensuse-commit+help@xxxxxxxxxxxx

< Previous Next >