diff --git a/include/msksheet.cpp b/include/msksheet.cpp index 0779e2c18..7618fd769 100755 --- a/include/msksheet.cpp +++ b/include/msksheet.cpp @@ -1004,7 +1004,17 @@ void TSpreadsheet::list_handler(XI_EVENT *xiev) _firstfocus = FALSE; } else - mask().set_focus_win(win(), FALSE); + { + TMask_field& prev = mask().focus_field(); + + if (prev.test_focus_change()) + mask().set_focus_win(win(), FALSE); + else + { + xiev->refused = TRUE; + mask().set_focus(); + } + } break; case XIE_OFF_LIST: on_idle();