diff --git a/source/ubl-settings-manager.c b/source/ubl-settings-manager.c index a0746c6..f5cfe91 100644 --- a/source/ubl-settings-manager.c +++ b/source/ubl-settings-manager.c @@ -812,13 +812,13 @@ apps *find_apps(int *sizef){ }; int check_categories(apps app, char *catstocheck){ - if (!catstocheck || strcmp(catstocheck,"")==0){ + if (!catstocheck || strcmp(catstocheck,"")==0||strcmp(catstocheck,";")==0){ char *found=strstr(app.Categories,"X-UBL-SettingsManager"); char *perfound=strstr(app.Categories,"X-UBL-PersonalSettings"); char *harfound=strstr(app.Categories,"X-UBL-HardwareSettings"); char *sysfound=strstr(app.Categories,"X-UBL-SystemSettings"); - if (found==NULL||perfound!=NULL||harfound!=NULL||sysfound!=NULL) return 0; - return 1; + if (found!=NULL&&(perfound==NULL&&harfound==NULL&&sysfound==NULL)) return 1; + else if (found==NULL)return 0; } else { char *left_cats=catstocheck;