From 9ec68305819bb748b4f29c589d4a52cb339a98f7 Mon Sep 17 00:00:00 2001 From: Andrew Borodin Date: Mon, 28 Mar 2011 16:59:24 +0400 Subject: [PATCH] Fix of DLG_ACTION handling in file panels. Signed-off-by: Andrew Borodin --- src/filemanager/midnight.c | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/src/filemanager/midnight.c b/src/filemanager/midnight.c index f7da3217d..bd1811633 100644 --- a/src/filemanager/midnight.c +++ b/src/filemanager/midnight.c @@ -1275,6 +1275,9 @@ midnight_execute_cmd (Widget * sender, unsigned long command) case CK_ViewFileCmd: view_file_cmd (); break; + case CK_DialogCancel: + /* don't close panels due to SIGINT */ + break; default: res = MSG_NOT_HANDLED; } @@ -1459,19 +1462,18 @@ midnight_callback (Dlg_head * h, Widget * sender, dlg_msg_t msg, int parm, void case DLG_ACTION: /* shortcut */ if (sender == NULL) - midnight_execute_cmd (NULL, parm); + return midnight_execute_cmd (NULL, parm); /* message from menu */ - else if (sender == (Widget *) the_menubar) - midnight_execute_cmd (sender, parm); + if (sender == (Widget *) the_menubar) + return midnight_execute_cmd (sender, parm); /* message from buttonbar */ - else if (sender == (Widget *) the_bar) + if (sender == (Widget *) the_bar) { - if (data == NULL) - midnight_execute_cmd (sender, parm); - else - send_message ((Widget *) data, WIDGET_COMMAND, parm); + if (data != NULL) + return send_message ((Widget *) data, WIDGET_COMMAND, parm); + return midnight_execute_cmd (sender, parm); } - return MSG_HANDLED; + return MSG_NOT_HANDLED; case DLG_END: panel_deinit (); -- 2.11.4.GIT