From patchwork Wed May 29 22:24:54 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Yann E. MORIN" X-Patchwork-Id: 2632931 Return-Path: X-Original-To: patchwork-linux-kbuild@patchwork.kernel.org Delivered-To: patchwork-process-083081@patchwork1.kernel.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by patchwork1.kernel.org (Postfix) with ESMTP id 75A1C3FC23 for ; Wed, 29 May 2013 22:25:18 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S935309Ab3E2WZO (ORCPT ); Wed, 29 May 2013 18:25:14 -0400 Received: from mail-wg0-f41.google.com ([74.125.82.41]:56346 "EHLO mail-wg0-f41.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S935281Ab3E2WZI (ORCPT ); Wed, 29 May 2013 18:25:08 -0400 Received: by mail-wg0-f41.google.com with SMTP id k13so4545132wgh.4 for ; Wed, 29 May 2013 15:25:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:from:to:cc:subject:date:message-id:x-mailer:in-reply-to :references:in-reply-to:references; bh=4/hyyluFWmJFUgg8wuip0XX0P6lhVbxbt8Vd2AAsBoI=; b=brSLRgeA+6AcuU2y8pQ+1RqudK2w+b6RmkG1otSu2gIgXr9deGHvxA/Y9GnV8yHHP2 FLg5O6Mld527lhOucIlYBWdHp5Qzs8evsLkm3PMy6wm378SayIMoAODM4tuIpcFFq7vz ARd39AJ07gROU5n9hmeNgjlp+SPgmaZbyZ11rOPvaO1X5EXehL8XIQs0FzOy7Jokmm6L NLw3CYzhgXF3eP89ZiMllYFa0JXDlbZZFb0sR2EIbQsEshIL62+bSQCaJux+jWx3e+kf oqCB8+Fj/+TuqgKdklYUPeYyALn7+qmWqmpH4SBlfVRS1meo08uIsIIwMTCHVAeqH+zD XdGA== X-Received: by 10.180.184.2 with SMTP id eq2mr2272966wic.50.1369866306085; Wed, 29 May 2013 15:25:06 -0700 (PDT) Received: from gourin.bzh.lan (ks3095497.kimsufi.com. [94.23.60.27]) by mx.google.com with ESMTPSA id d5sm34183076wic.1.2013.05.29.15.25.04 for (version=TLSv1.1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Wed, 29 May 2013 15:25:05 -0700 (PDT) From: "Yann E. MORIN" To: Michal Marek Cc: linux-kbuild@vger.kernel.org, linux-kernel@vger.kernel.org, Dirk Gouders , "Yann E. MORIN" Subject: [PATCH 2/3] mconf: handle keys in empty dialogs Date: Thu, 30 May 2013 00:24:54 +0200 Message-Id: <063f4661fde8c03c4c03f8a205071a52691c152e.1369866004.git.yann.morin.1998@free.fr> X-Mailer: git-send-email 1.8.1.2 In-Reply-To: References: In-Reply-To: References: Sender: linux-kbuild-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kbuild@vger.kernel.org From: Dirk Gouders When entering an empty dialog, using the movement keys resulted in unexpected characters beeing displayed, other keys like "z" and "h" did not work as expected. This patch handles the movement keys as well as other keys, especially "z", "h" and "/". Signed-off-by: Dirk Gouders [yann.morin.1998@free.fr: keep lines <80 chars, so reorder test] Tested-by: "Yann E. MORIN" Reviewed-by: "Yann E. MORIN" Signed-off-by: "Yann E. MORIN" --- scripts/kconfig/lxdialog/menubox.c | 9 +++++---- scripts/kconfig/mconf.c | 11 ++++++----- 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/scripts/kconfig/lxdialog/menubox.c b/scripts/kconfig/lxdialog/menubox.c index 48d382e..38cd69c 100644 --- a/scripts/kconfig/lxdialog/menubox.c +++ b/scripts/kconfig/lxdialog/menubox.c @@ -303,10 +303,11 @@ do_resize: } } - if (i < max_choice || - key == KEY_UP || key == KEY_DOWN || - key == '-' || key == '+' || - key == KEY_PPAGE || key == KEY_NPAGE) { + if (item_count() != 0 && + (i < max_choice || + key == KEY_UP || key == KEY_DOWN || + key == '-' || key == '+' || + key == KEY_PPAGE || key == KEY_NPAGE)) { /* Remove highligt of current item */ print_item(scroll + choice, choice, FALSE); diff --git a/scripts/kconfig/mconf.c b/scripts/kconfig/mconf.c index 387dc8d..a69cbd7 100644 --- a/scripts/kconfig/mconf.c +++ b/scripts/kconfig/mconf.c @@ -670,11 +670,12 @@ static void conf(struct menu *menu, struct menu *active_menu) active_menu, &s_scroll); if (res == 1 || res == KEY_ESC || res == -ERRDISPLAYTOOSMALL) break; - if (!item_activate_selected()) - continue; - if (!item_tag()) - continue; - + if (item_count() != 0) { + if (!item_activate_selected()) + continue; + if (!item_tag()) + continue; + } submenu = item_data(); active_menu = item_data(); if (submenu)