in case a script engine does not add the standard pages (which is a bug in the script engine), at least don't crash
BUG:226823 svn path=/branches/KDE/4.4/kdelibs/; revision=1090828
This commit is contained in:
parent
70185eba03
commit
2c84f169a1
41
applet.cpp
41
applet.cpp
@ -1712,6 +1712,7 @@ void Applet::showConfigurationInterface()
|
||||
return;
|
||||
}
|
||||
|
||||
d->publishUI.publishCheckbox = 0;
|
||||
if (d->package && d->configLoader) {
|
||||
KConfigDialog *dialog = 0;
|
||||
|
||||
@ -1878,29 +1879,31 @@ void AppletPrivate::configDialogFinished()
|
||||
}
|
||||
|
||||
#ifdef ENABLE_REMOTE_WIDGETS
|
||||
q->config().writeEntry("Share", publishUI.publishCheckbox->isChecked());
|
||||
if (publishUI.publishCheckbox) {
|
||||
q->config().writeEntry("Share", publishUI.publishCheckbox->isChecked());
|
||||
|
||||
if (publishUI.publishCheckbox->isChecked()) {
|
||||
QString resourceName =
|
||||
i18nc("%1 is the name of a plasmoid, %2 the name of the machine that plasmoid is published on",
|
||||
"%1 on %2", q->name(), QHostInfo::localHostName());
|
||||
q->publish(Plasma::ZeroconfAnnouncement, resourceName);
|
||||
if (publishUI.allUsersCheckbox->isChecked()) {
|
||||
if (!AuthorizationManager::self()->d->matchingRule(resourceName, Credentials())) {
|
||||
AuthorizationRule *rule = new AuthorizationRule(resourceName, "");
|
||||
rule->setPolicy(AuthorizationRule::Allow);
|
||||
rule->setTargets(AuthorizationRule::AllUsers);
|
||||
AuthorizationManager::self()->d->rules.append(rule);
|
||||
if (publishUI.publishCheckbox->isChecked()) {
|
||||
QString resourceName =
|
||||
i18nc("%1 is the name of a plasmoid, %2 the name of the machine that plasmoid is published on",
|
||||
"%1 on %2", q->name(), QHostInfo::localHostName());
|
||||
q->publish(Plasma::ZeroconfAnnouncement, resourceName);
|
||||
if (publishUI.allUsersCheckbox->isChecked()) {
|
||||
if (!AuthorizationManager::self()->d->matchingRule(resourceName, Credentials())) {
|
||||
AuthorizationRule *rule = new AuthorizationRule(resourceName, "");
|
||||
rule->setPolicy(AuthorizationRule::Allow);
|
||||
rule->setTargets(AuthorizationRule::AllUsers);
|
||||
AuthorizationManager::self()->d->rules.append(rule);
|
||||
}
|
||||
} else {
|
||||
AuthorizationRule *matchingRule =
|
||||
AuthorizationManager::self()->d->matchingRule(resourceName, Credentials());
|
||||
if (matchingRule) {
|
||||
AuthorizationManager::self()->d->rules.removeAll(matchingRule);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
AuthorizationRule *matchingRule =
|
||||
AuthorizationManager::self()->d->matchingRule(resourceName, Credentials());
|
||||
if (matchingRule) {
|
||||
AuthorizationManager::self()->d->rules.removeAll(matchingRule);
|
||||
}
|
||||
q->unpublish();
|
||||
}
|
||||
} else {
|
||||
q->unpublish();
|
||||
}
|
||||
#endif
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user