[banshee/moblin] fix a number of crashers



commit 73b67c93335f48d0289162c53fd1b2cbe6fb3ba7
Author: Michael Meeks <michael meeks novell com>
Date:   Mon Oct 5 16:33:10 2009 +0100

    fix a number of crashers

 .../Banshee.GnomeBackend/GnomeService.cs           |    4 ++--
 .../Banshee.MoblinBackend/MoblinBognor.cs          |   13 +++++++++----
 2 files changed, 11 insertions(+), 6 deletions(-)
---
diff --git a/src/Backends/Banshee.Gnome/Banshee.GnomeBackend/GnomeService.cs b/src/Backends/Banshee.Gnome/Banshee.GnomeBackend/GnomeService.cs
index 9d3db52..e6415c4 100644
--- a/src/Backends/Banshee.Gnome/Banshee.GnomeBackend/GnomeService.cs
+++ b/src/Backends/Banshee.Gnome/Banshee.GnomeBackend/GnomeService.cs
@@ -95,7 +95,7 @@ namespace Banshee.GnomeBackend
 		(args as PlayerEventStateChangeArgs).Current != PlayerState.Playing)
 	        return;
 	    TrackInfo t = ServiceManager.PlayerEngine.CurrentTrack;
-	    if (t == null)
+	    if (t == null || t.Uri == null)
 	        return;
 	    var data = new Gtk.RecentData();
 
@@ -104,7 +104,7 @@ namespace Banshee.GnomeBackend
 	    data.Description = t.AlbumArtist;
 	    
 	    // Make mutter-moblin's mime handling happier
-	    data.MimeType = t.MimeType;
+	    data.MimeType = t.MimeType.Replace ("taglib/", "audio/");
 	    if (data.MimeType == "application/ogg")
 	        data.MimeType = "audio/ogg";
 	      
diff --git a/src/Backends/Banshee.Moblin/Banshee.MoblinBackend/MoblinBognor.cs b/src/Backends/Banshee.Moblin/Banshee.MoblinBackend/MoblinBognor.cs
index b42d055..6f47120 100644
--- a/src/Backends/Banshee.Moblin/Banshee.MoblinBackend/MoblinBognor.cs
+++ b/src/Backends/Banshee.Moblin/Banshee.MoblinBackend/MoblinBognor.cs
@@ -307,17 +307,22 @@ namespace Banshee.MoblinBackend.BognorRegis
 		{
 			switch (args.Event) {
 			case PlayerEvent.Iterate:
-				UriPositionChanged (QueueType.Audio, GetPosition (QueueType.Audio));
+				if (UriPositionChanged != null)
+					UriPositionChanged (QueueType.Audio, GetPosition (QueueType.Audio));
 				break;
 			// FIXME: can we emit 'PlayingChanged' more cleanly ?
 			case PlayerEvent.StateChange:
 				if ((args as PlayerEventStateChangeArgs).Current != PlayerState.Playing) {
-					PlayingChanged (QueueType.Audio, false);
+					if (PlayingChanged != null)
+						PlayingChanged (QueueType.Audio, false);
+					Console.WriteLine ("baa");
 					break;
 				}
 				TrackInfo t = ServiceManager.PlayerEngine.CurrentTrack;
-				UriNowPlayingChanged (t != null ? t.Uri.AbsoluteUri: "", QueueType.Audio);
-				PlayingChanged (QueueType.Audio, true);
+				if (UriNowPlayingChanged != null)
+					UriNowPlayingChanged (t != null ? t.Uri.AbsoluteUri: "", QueueType.Audio);
+				if (PlayingChanged != null)
+					PlayingChanged (QueueType.Audio, true);
 				break;
 			default:
 				break;



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]