autorun: only obey allowAutorun flag for transient notifications

Only apply the allowAutorun flag for transient notifications, not for
mounts that end up in the resident notification well.

Also, stop looking at volume.can_automount() here, since we already
checked that previously in the mounter, and allowAutorun is enough.

https://bugzilla.gnome.org/show_bug.cgi?id=660595
This commit is contained in:
Cosimo Cecchi 2012-06-19 15:06:44 -04:00
parent ebee01b355
commit cbb8d5b0dc

View File

@ -23,11 +23,11 @@ const AutorunSetting = {
};
// misc utils
function shouldAutorunMount(mount) {
function shouldAutorunMount(mount, forTransient) {
let root = mount.get_root();
let volume = mount.get_volume();
if (!volume || !volume.should_automount() || !volume.allowAutorun)
if (!volume || (!volume.allowAutorun && forTransient))
return false;
if (!root.is_native() || isMountRootHidden(root))
@ -272,7 +272,7 @@ const AutorunResidentSource = new Lang.Class({
},
addMount: function(mount, apps) {
if (!shouldAutorunMount(mount))
if (!shouldAutorunMount(mount, false))
return;
let filtered = this._mounts.filter(function (element) {
@ -450,7 +450,7 @@ const AutorunTransientDispatcher = new Lang.Class({
return;
// if the mount doesn't want to be autorun, return
if (!shouldAutorunMount(mount))
if (!shouldAutorunMount(mount, true))
return;
let setting = this._getAutorunSettingForType(contentTypes[0]);