Comment 2 for bug 1177012

Revision history for this message
Jason Conti (jconti) wrote :

I think I worked out at least part of the problem, so might not be a gnome-control-center bug after all. gnome-control-center uses the mimetype "video/x-ogm+ogg" to determine the default Video app in Default Applications. SMplayer does not have this mimetype in its smplayer.desktop file, but instead has "video/x-ogm". None of the other video players that I see have that specific mimetype in their .desktop files, so when gnome-control-center sets the default for the mimetypes present in the .desktop file, a line: video/x-ogm=smplayer.desktop will still exist in ~/.local/share/applications/mimeapps.list.

The curious part is why should it care? It asks for "video/x-ogm+ogg", which is set correctly. The problem is that when glib loads the mimetypes from mimeapps.list, it calls a function xdg_mime_unalias_mime_type() on "video/x-ogm", and as it happens, /usr/share/mime/aliases has a line "video/x-ogm video/x-ogm+ogg". So if "video/x-ogm=smplayer.desktop" happens to appear later in mimeapps.list, it will end up overwriting the true default value in the hashtable.

I find that if I change the mimetype in smplayer.desktop to "video/x-ogm+ogg" and delete the "video/x-ogm=smplayer.desktop" line from mimeapps.list, then gnome-control-center will again correctly let me switch between totem, vlc and smplayer as defaults. So that might be a fix, in smplayer instead. Might be a bit fragile though, since if another app comes along doing the same thing, it will expose the same bug.