diff --git a/src/gui/filedetails/sharemodel.cpp b/src/gui/filedetails/sharemodel.cpp index 8c3735f288..f8422cce7d 100644 --- a/src/gui/filedetails/sharemodel.cpp +++ b/src/gui/filedetails/sharemodel.cpp @@ -357,9 +357,17 @@ void ShareModel::slotPropfindReceived(const QVariantMap &result) const QVariant receivedPermissions = result["share-permissions"]; if (!receivedPermissions.toString().isEmpty()) { + const auto oldCanShare = canShare(); + _maxSharingPermissions = static_cast(receivedPermissions.toInt()); Q_EMIT sharePermissionsChanged(); qCInfo(lcShareModel) << "Received sharing permissions for" << _sharePath << _maxSharingPermissions; + + if (!oldCanShare && canShare()) { + qCInfo(lcShareModel) << "Received updated sharing data that says we have permission to share now." + << "Trying to init share manager again."; + initShareManager(); + } } const auto privateLinkUrl = result["privatelink"].toString();