plugins: properties: don't clear UI viewport for dirs

rockbox-gerrit-noreply--- via rockbox-cvs <[email protected]> Sat, 9 May 2026 01:09:23 -0400
Newsgroups gmane.comp.systems.archos.rockbox.cvs
Message-ID <[email protected]>
commit bc528c4079dcbf152529e45c8aa61768d63451a8
Author: Christian Soffke <[email protected]>
Date:   Sat May 9 07:03:58 2026 +0200

    plugins: properties: don't clear UI viewport for dirs
    
    Accidentally made the vp flash in previous commit.
    
    Dir scanning doesn't display a progress bar
    and already handles its own drawing
    
    Change-Id: Id0e67d62081dfe4b22e91c775cd80af2e55a4b69

diff --git a/apps/plugins/properties.c b/apps/plugins/properties.c
index fc251e4900..f61f8bcabb 100644
--- a/apps/plugins/properties.c
+++ b/apps/plugins/properties.c
@@ -331,13 +331,6 @@ enum plugin_status plugin_start(const void* parameter)
     const char *file = parameter;
     static struct viewport ui_vp;
 
-    /* clear UI vp */
-    struct screen* display = rb->screens[SCREEN_MAIN];
-    rb->viewport_set_defaults(&ui_vp, SCREEN_MAIN);
-    struct viewport *last_vp = display->set_viewport(&ui_vp);
-    display->clear_viewport();
-    display->set_viewport(last_vp);
-
 #ifdef HAVE_TOUCHSCREEN
     rb->touchscreen_set_mode(rb->global_settings->touch_mode);
 #endif
@@ -349,6 +342,17 @@ enum plugin_status plugin_start(const void* parameter)
         return PLUGIN_OK;
     }
 
+    /* erase background behind progress bar to prevent glitches
+       for themes adjusting viewport for context menu activity */
+    if (props_type != PROPS_DIR)
+    {
+        struct screen* display = rb->screens[SCREEN_MAIN];
+        rb->viewport_set_defaults(&ui_vp, SCREEN_MAIN);
+        struct viewport *last_vp = display->set_viewport(&ui_vp);
+        display->clear_viewport();
+        display->set_viewport(last_vp);
+    }
+
     if (props_type == PROPS_MUL_ID3)
         ret = assemble_track_info(NULL, NULL);
     else if (props_type != PROPS_ID3)
-- 
rockbox-cvs mailing list
[email protected]
https://lists.haxx.se/mailman/listinfo/rockbox-cvs