https://bugs.kde.org/show_bug.cgi?id=378321

Kai Uwe Broulik <k...@privat.broulik.de> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |k...@privat.broulik.de

--- Comment #1 from Kai Uwe Broulik <k...@privat.broulik.de> ---
Thanks for your analysis, unfortunately I can't see an obvious reason why the
two methods result in different PolicyKit calls.

The "mount" button ends up doing the following:
        if (device.is<Solid::StorageAccess>()) {
            Solid::StorageAccess *access = device.as<Solid::StorageAccess>();
            if (access && !access->isAccessible()) {
                access->setup();
            }
        }

Whereas triggering an action before executing it does the following:
 if (device.is<Solid::StorageAccess>()
            && !device.as<Solid::StorageAccess>()->isAccessible()) {
        Solid::StorageAccess *access = device.as<Solid::StorageAccess>();

        connect(access, &Solid::StorageAccess::setupDone,
                this, &DelayedExecutor::_k_storageSetupDone);

        access->setup();

With _k_storageSetupDone being called once the device is mounted and then the
action is executed. Also, "setup" just asks UDisks on DBus to mount the given
device which then does PolicyKit authentication - that's not somthing we do on
our side.

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to