View Issue Details

IDProjectCategoryView StatusLast Update
0002497Far ManagerMain menupublic2013-09-24 23:21
ReporterDenisAssigned ToDrKnS 
PrioritynormalSeverityminorReproducibilityalways
Status closedResolutionfixed 
Product Version3.0 
Target VersionFixed in Version3.0 
Summary0002497: Если не на последнем элементе меню нажать и удерживать стрелку вниз, то курсор убегает за пределы меню
DescriptionЕсли не на последнем элементе меню нажать и удерживать стрелку вниз, то курсор убегает за пределы меню. Со стрелкой вверх аналогично.
TagsNo tags attached.
Build3680

Activities

Denis

2013-09-24 12:32

reporter   bugnote:0011447

Fix:
diff --git i/unicode_far/vmenu.cpp w/unicode_far/vmenu.cpp
index a94240b..1cf6950 100644
--- i/unicode_far/vmenu.cpp
+++ w/unicode_far/vmenu.cpp
@@ -279,7 +279,10 @@ int VMenu::SetSelectPos(int Pos, int Direct, bool stop_on_edge)
     }
 
     if (stop_on_edge && CheckFlags(VMENU_WRAPMODE) && ((Direct>0 && Pos<SelectPos) || (Direct<0 && Pos>SelectPos)))
+ {
+ UpdateItemFlags(SelectPos, Items[SelectPos].Flags|LIF_SELECTED);
         return SelectPos;
+ }
 
     UpdateItemFlags(Pos, Items[Pos].Flags|LIF_SELECTED);

2useven10

2013-09-24 21:56

developer   bugnote:0011451

Last edited: 2013-09-24 21:56

View 2 revisions

А не лучше откатить сброс флагов от DrKnS ?

Зачем это сделано?
Вообще что за странная практика - менять логику при 'рефакторинге'...

Если изменения были нужны - надо писать для чего.

DrKnS

2013-09-24 22:57

administrator   bugnote:0011452

Не лучше, потому что это сломает CtrlUp/CtrlDown в фильтрах.
Потому что теперь там просто свап, а раньше был тихий ужас на тему "скопируем себе два элемента меню, потом удалим из меню два элемента, потом вставим обратно, но уже в другой последовательности, при этом меню пересчитается 100500 раз и в конце концов selected будет там, где надо".
Если после свапа не сбрасывать selected, начнутся странные вещи.

А Если "логика" ломается от таких изменений - это проблемы логики.

DrKnS

2013-09-24 23:11

administrator   bugnote:0011453

3680

Issue History

Date Modified Username Field Change
2013-09-24 11:41 Denis New Issue
2013-09-24 12:32 Denis Note Added: 0011447
2013-09-24 21:56 2useven10 Note Added: 0011451
2013-09-24 21:56 2useven10 Note Edited: 0011451 View Revisions
2013-09-24 22:57 DrKnS Note Added: 0011452
2013-09-24 23:11 DrKnS Note Added: 0011453
2013-09-24 23:11 DrKnS Assigned To => DrKnS
2013-09-24 23:11 DrKnS Status new => feedback
2013-09-24 23:16 Denis Status feedback => resolved
2013-09-24 23:21 DrKnS Build => 3680
2013-09-24 23:21 DrKnS Status resolved => closed
2013-09-24 23:21 DrKnS Resolution open => fixed
2013-09-24 23:21 DrKnS Fixed in Version => 3.0