From ead135f71695729407e98192f263515c14d6a7db Mon Sep 17 00:00:00 2001 From: Klaus Schmidinger Date: Wed, 29 Jan 2025 10:35:25 +0100 Subject: [PATCH] Fixed unnecessary calls to DisplayCurrent() for editable menu items --- CONTRIBUTORS | 1 + HISTORY | 2 ++ osdbase.c | 5 +++-- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/CONTRIBUTORS b/CONTRIBUTORS index c5e41f61..da8756a7 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -2592,6 +2592,7 @@ Markus Ehrnsperger for fixing handling margins for timers that are not VPS controlled and not spawned for implementing cStatus::OsdItem2() with the information whether the item is selectable for reporting an improper call of cStatus::OsdCurrentItem() before cStatus::OsdItem2() + for fixing unnecessary calls to DisplayCurrent() for editable menu items Werner Färber for reporting a bug in handling the cPluginManager::Active() result when pressing diff --git a/HISTORY b/HISTORY index 81e2551d..0e8af1a9 100644 --- a/HISTORY +++ b/HISTORY @@ -10066,3 +10066,5 @@ Video Disk Recorder Revision History - Fixed an improper call of cStatus::OsdCurrentItem() before cStatus::OsdItem2() (reported by Markus Ehrnsperger). - Fixed an unnecessary redisplay of the menu when pressing a hotkey. +- Fixed unnecessary calls to DisplayCurrent() for editable menu items (thanks to Markus + Ehrnsperger). diff --git a/osdbase.c b/osdbase.c index 855dce82..3584d35a 100644 --- a/osdbase.c +++ b/osdbase.c @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: osdbase.c 5.3 2025/01/29 10:25:55 kls Exp $ + * $Id: osdbase.c 5.4 2025/01/29 10:35:25 kls Exp $ */ #include "osdbase.h" @@ -541,7 +541,8 @@ eOSState cOsdMenu::ProcessKey(eKeys Key) if (marked < 0 && item) { eOSState state = item->ProcessKey(Key); if (state != osUnknown) { - DisplayCurrent(true); + if (Key != kNone) + DisplayCurrent(true); return state; } }