summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog9
-rw-r--r--src/totem-missing-plugins.c13
2 files changed, 20 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index c79662e47..811335ca4 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,14 @@
2007-03-21 Tim-Philipp Müller <tim at centricular dot net>
+ * src/totem-missing-plugins.c:
+ (on_plugin_installation_done):
+ Also add the missing plugins to the local blacklist if the user
+ aborts the installer, so we either just play what we can the next
+ time or show an error message (presumably the user doesn't want
+ to see the installer, so let's honour that wish).
+
+2007-03-21 Tim-Philipp Müller <tim at centricular dot net>
+
* src/Makefile.am:
* src/list_v4l.c: Removed.
* src/video-dev.c: Removed.
diff --git a/src/totem-missing-plugins.c b/src/totem-missing-plugins.c
index 035b2b659..0b81d4ca4 100644
--- a/src/totem-missing-plugins.c
+++ b/src/totem-missing-plugins.c
@@ -145,10 +145,19 @@ on_plugin_installation_done (GstInstallPluginsReturn res, gpointer user_data)
break;
case GST_INSTALL_PLUGINS_USER_ABORT:
{
- if (ctx->playing)
+ /* blacklist on user abort, so we show an error next time (or
+ * just play what we can) instead of calling the installer */
+ for (p = ctx->details; p != NULL && *p != NULL; ++p)
+ totem_codec_install_blacklist_plugin (*p);
+
+ if (ctx->playing) {
bacon_video_widget_play (ctx->totem->bvw, NULL);
- else
+ } else {
+ /* if we couldn't play anything, do stop/play again,
+ * so that an error message gets shown */
bacon_video_widget_stop (ctx->totem->bvw);
+ bacon_video_widget_play (ctx->totem->bvw, NULL);
+ }
}
break;
case GST_INSTALL_PLUGINS_ERROR: