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@suse.de
+
+- 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@suse.de
+- fix freeze when the No-MP3 support dialog pops up (#304202)
* Sun Aug 26 2007 - ssommer@suse.de
- 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