View Issue Details

IDProjectCategoryView StatusLast Update
0001538Far ManagerMacropublic2010-12-29 15:17
ReporterDAtaMan Assigned Tovskirdin  
PrioritynormalSeverityminorReproducibilityalways
Status closedResolutionfixed 
Product Version2.0 
Fixed in Version2.0 
Summary0001538: Обновление панели при выполнении некоторых макрокоманд
DescriptionПри использовании макрокоманд Panel.SetPosIdx, Panel.SetPath и Panel.SetPos принудительно обновляется панель.
Если панель плагиновая и файлов на ней много (или сетевая папка), то скорость выполнения макросов существенно падает.
Steps To ReproduceКопируем в temp-панель побольше файлов и выполняем, например, panel.setposidx(0,1)
Additional InformationИзменение было связано с http://bugs.farmanager.com/view.php?id=289
TagsNo tags attached.
Build1773

Activities

DAtaMan

2010-10-07 22:46

reporter  

macro.cpp.diff.7z (582 bytes)

DAtaMan

2010-12-28 13:41

reporter  

macroNew.cpp.diff (1,291 bytes)   
Index: macro.cpp
===================================================================
--- macro.cpp	(revision 5392)
+++ macro.cpp	(working copy)
@@ -3179,7 +3179,8 @@
 					{
 						//SelPanel->Show();
 						// <Mantis#0000289> - ������, �� �� ������ :-)
-						ShellUpdatePanels(SelPanel);
+						//ShellUpdatePanels(SelPanel);
+						SelPanel->UpdateIfChanged(UIC_UPDATE_NORMAL);
 						FrameManager->RefreshFrame(FrameManager->GetTopModal());
 						// </Mantis#0000289>
 
@@ -3253,7 +3254,8 @@
 				SelPanel->GoToFile(fileName); // ���� ��� ��������, �.�. �������� fileName �� ���������
 				//SelPanel->Show();
 				// <Mantis#0000289> - ������, �� �� ������ :-)
-				ShellUpdatePanels(SelPanel);
+				//ShellUpdatePanels(SelPanel);
+				SelPanel->UpdateIfChanged(UIC_UPDATE_NORMAL);
 				FrameManager->RefreshFrame(FrameManager->GetTopModal());
 				// </Mantis#0000289>
 				Ret=1;
@@ -3296,7 +3298,8 @@
 			{
 				//SelPanel->Show();
 				// <Mantis#0000289> - ������, �� �� ������ :-)
-				ShellUpdatePanels(SelPanel);
+				//ShellUpdatePanels(SelPanel);
+				SelPanel->UpdateIfChanged(UIC_UPDATE_NORMAL);
 				FrameManager->RefreshFrame(FrameManager->GetTopModal());
 				// </Mantis#0000289>
 				Ret=(__int64)(SelPanel->GetCurrentPos()+1);
macroNew.cpp.diff (1,291 bytes)   

DAtaMan

2010-12-28 13:42

reporter   bugnote:0006047

Обновил diff.

vskirdin

2010-12-28 14:31

administrator   bugnote:0006048

1. Лечит реально?
2. Патч конечный?

DAtaMan

2010-12-28 14:38

reporter   bugnote:0006049

1. Ну, то что описано в #289 - лечит.
2. Да, к текущей rev.

vskirdin

2010-12-28 14:41

administrator   bugnote:0006050

вместе с Scr.Scroll() пойдет :-)

DAtaMan

2010-12-28 15:21

reporter   bugnote:0006051

Отлично.
Может и регулярки в макросах будут подарком к НГ ? :)

vskirdin

2010-12-29 06:21

administrator   bugnote:0006052

ХЗ, еще не смотрел.

DAtaMan

2010-12-29 13:47

reporter  

SelJmp2.reg (3,060 bytes)

DAtaMan

2010-12-29 13:48

reporter   bugnote:0006053

1773 - ура :)
Добавил новый SelJmp - теперь работает быстрее и плагиновые панели не обновляются.

vskirdin

2010-12-29 14:27

administrator   bugnote:0006054

меняем содержимое Panel.JumpToSelectedFile.reg из аддонов на SelJmp2.reg?

DAtaMan

2010-12-29 14:53

reporter   bugnote:0006055

Думаю, старый можно оставить - для тех, кто пользуется более старыми верcиями FAR.

Issue History

Date Modified Username Field Change
2010-10-07 22:46 DAtaMan New Issue
2010-10-07 22:46 DAtaMan File Added: macro.cpp.diff.7z
2010-12-28 13:41 DAtaMan File Added: macroNew.cpp.diff
2010-12-28 13:42 DAtaMan Note Added: 0006047
2010-12-28 14:31 vskirdin Note Added: 0006048
2010-12-28 14:38 DAtaMan Note Added: 0006049
2010-12-28 14:41 vskirdin Assigned To => vskirdin
2010-12-28 14:41 vskirdin Status new => assigned
2010-12-28 14:41 vskirdin Note Added: 0006050
2010-12-28 15:21 DAtaMan Note Added: 0006051
2010-12-29 06:21 vskirdin Note Added: 0006052
2010-12-29 13:47 DAtaMan File Added: SelJmp2.reg
2010-12-29 13:48 DAtaMan Note Added: 0006053
2010-12-29 14:27 vskirdin Note Added: 0006054
2010-12-29 14:53 DAtaMan Note Added: 0006055
2010-12-29 15:17 vskirdin Build => 1773
2010-12-29 15:17 vskirdin Status assigned => closed
2010-12-29 15:17 vskirdin Resolution open => fixed
2010-12-29 15:17 vskirdin Fixed in Version => 2.0