$OpenBSD: patch-shell_rb-shell-player_c,v 1.10 2010/03/28 10:48:50 ajacoutot Exp $
--- shell/rb-shell-player.c.orig	Thu Mar 25 01:10:15 2010
+++ shell/rb-shell-player.c	Sun Mar 28 12:03:06 2010
@@ -788,10 +788,8 @@ rb_shell_player_open_playlist_url (RBShellPlayer *play
 		rb_player_play (player->priv->mmplayer, play_type, player->priv->track_transition_time, &error);
 
 	if (error) {
-		GDK_THREADS_ENTER ();
 		rb_shell_player_error (player, TRUE, error);
 		g_error_free (error);
-		GDK_THREADS_LEAVE ();
 	}
 }
 
@@ -863,7 +861,9 @@ rb_shell_player_handle_eos_unlocked (RBShellPlayer *pl
 			/* we're handling an unexpected EOS here, so crossfading isn't
 			 * really possible anyway -> specify FALSE.
 			 */
+			GDK_THREADS_ENTER ();
 			rb_shell_player_open_playlist_url (player, location, entry, FALSE);
+			GDK_THREADS_LEAVE ();
 			g_free (location);
 			break;
 		}
@@ -1552,7 +1552,9 @@ open_location_thread (OpenLocationThreadData *data)
 	} else {
 		/* if we can't parse it as a playlist, just try playing it */
 		rb_debug ("playlist parser failed, playing %s directly", data->location);
+		GDK_THREADS_ENTER ();
 		rb_shell_player_open_playlist_url (data->player, data->location, data->entry, data->play_type);
+		GDK_THREADS_LEAVE ();
 	}
 
 	g_free (data);
