FAR patch 01586.vmenu Дата              : 11.01.2003 Сделал            : Konstantin Melnikov Описание          : Падение пустого VMenu Измененные файлы  : vmenu.cpp Новые файлы       : Удаленные файлы   : Состав            : 01586.vmenu.txt                     vmenu.cpp.1586.diff Основан на патче  : 1585 Дополнение        :
FAR patch 01586.vmenu
Дата              : 11.01.2003
Сделал            : Konstantin Melnikov
Описание          : Падение пустого VMenu
Измененные файлы  : vmenu.cpp
Новые файлы       :
Удаленные файлы   :
Состав            : 01586.vmenu.txt
                    vmenu.cpp.1586.diff
Основан на патче  : 1585
Дополнение        :

Скомпилировал  FAR VC и поискал файлы (AltF7) - FAR упал, дебаггер VC
по цепочке Call Stack указал на vmenu.cpp:ShowMenu и вдруг выясняется,
что в этот момент SelectPos=-1 и ItemCount=0, что приводило к выполнению
условия:
===
  if (SelectPos<ItemCount)
    Item[SelectPos].Flags|=LIF_SELECTED;
===
и кончно же падению фара. И ещё в одном месте было TopPos=-1 (странно,
ведь в конструкторе и SetSelectPos при -1 происходит автоназначние на 0)
и в дальнейшем это значение использовалось в качестве индекса (отрицательного!)
и опять падение фара.

johnd0e/FarManager,FarGroup/FarManager,johnd0e/FarManager,FarGroup/FarManager,johnd0e/FarManager,FarGroup/FarManager,FarGroup/FarManager,FarGroup/FarManager,FarGroup/FarManager,johnd0e/FarManager,johnd0e/FarManager,johnd0e/FarManager,johnd0e/FarManager,FarGroup/FarManager,johnd0e/FarManager,FarGroup/FarManager