[vlc-commits] macosx: simplify and cache result of is-main check

Lyndon Brown git at videolan.org
Fri Oct 2 07:18:24 CEST 2020


vlc | branch: master | Lyndon Brown <jnqnfe at gmail.com> | Tue Apr  9 01:11:28 2019 +0100| [5c1e0c7ea822894ccda4bbbf6790a3c4280d39f1] | committer: Felix Paul Kühne

macosx: simplify and cache result of is-main check

Signed-off-by: Felix Paul Kühne <felix at feepk.net>

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=5c1e0c7ea822894ccda4bbbf6790a3c4280d39f1
---

 modules/gui/macosx/preferences/prefs.m | 16 ++++++++++++----
 1 file changed, 12 insertions(+), 4 deletions(-)

diff --git a/modules/gui/macosx/preferences/prefs.m b/modules/gui/macosx/preferences/prefs.m
index a8847e7189..60d7aef2a9 100644
--- a/modules/gui/macosx/preferences/prefs.m
+++ b/modules/gui/macosx/preferences/prefs.m
@@ -492,10 +492,11 @@
         unsigned int confsize;
 
         module_t * p_module = modules[i];
+        bool mod_is_main = module_is_main(p_module);
 
         /* Exclude empty plugins (submodules don't have config */
         /* options, they are stored in the parent module) */
-        if (module_is_main(p_module)) {
+        if (mod_is_main) {
             pluginItem = self;
             _configItems = module_config_get(p_module, &confsize);
             _configSize = confsize;
@@ -507,6 +508,7 @@
 
         for (unsigned int j = 0; j < confsize; j++) {
             int configType = p_configs[j].i_type;
+
             if (configType == CONFIG_CATEGORY) {
                 categoryItem = [self itemRepresentingCategory:(int)p_configs[j].value.i];
                 if (!categoryItem) {
@@ -514,8 +516,10 @@
                     if (categoryItem)
                         [[self children] addObject:categoryItem];
                 }
+                continue;
             }
-            else if (configType == CONFIG_SUBCATEGORY) {
+
+            if (configType == CONFIG_SUBCATEGORY) {
                 lastsubcat = (int)p_configs[j].value.i;
                 if (categoryItem && ![self isSubCategoryGeneral:lastsubcat]) {
                     subCategoryItem = [categoryItem itemRepresentingSubCategory:lastsubcat];
@@ -525,16 +529,20 @@
                             [[categoryItem children] addObject:subCategoryItem];
                     }
                 }
+                continue;
             }
 
-            if (module_is_main(p_module) && (CONFIG_ITEM(configType) || configType == CONFIG_SECTION)) {
+            if (!CONFIG_ITEM(configType) && configType != CONFIG_SECTION)
+                continue;
+
+            if (mod_is_main) {
                 if (categoryItem && [self isSubCategoryGeneral:lastsubcat]) {
                     [[categoryItem options] addObject:[[VLCTreeLeafItem alloc] initWithConfigItem:&p_configs[j]]];
                 } else if (subCategoryItem) {
                     [[subCategoryItem options] addObject:[[VLCTreeLeafItem alloc] initWithConfigItem:&p_configs[j]]];
                 }
             }
-            else if (!module_is_main(p_module) && (CONFIG_ITEM(configType) || configType == CONFIG_SECTION)) {
+            else {
                 if (subCategoryItem && ![[subCategoryItem children] containsObject: pluginItem]) {
                     [[subCategoryItem children] addObject:pluginItem];
                 }



More information about the vlc-commits mailing list