View Issue Details

IDProjectCategoryView StatusLast Update
0002663Far ManagerViewerpublic2014-04-29 12:48
Reportermax rusov Assigned Tovskirdin  
PrioritynormalSeverityminorReproducibilityalways
Status closedResolutionfixed 
Product Version3.0 
Fixed in Version3.0 
Summary0002663: Far падает, если показать модальный диалог из обработчика события viewer'а VE_Read
DescriptionВывожу Message из ProcessViewerEventW, событие VE_Read. При обычном просмотре все нормально - диалог закрывается, viewer открывается. Но если viewer открывается из редактора (по F6), то при его закрытии Far падает.
Прилагаю trap-log.
TagsNo tags attached.
Build3881

Activities

max rusov

2014-04-26 20:41

reporter  

vskirdin

2014-04-28 07:03

administrator   bugnote:0012288

> Вывожу Message из ProcessViewerEventW, событие VE_Read.
тестовый плагин приаттачишь?

max rusov

2014-04-28 07:31

reporter   bugnote:0012289

Review не подойдет в качестве тестового?
https://code.google.com/p/far-plugins/wiki/Review

На картинке нажать F4 а потом F6, F6

vskirdin

2014-04-28 09:04

administrator   bugnote:0012290

У меня падает в отладчике сразу после первого F6.
Падает при показе DI_DOUBLEBOX с координатами {0,0,0,0}: TruncStrFromEnd(strStr,-1) ==> TruncStrFromEnd(){assert(maxLength >= 0);...}

Падение уберу, но... почему координаты такие?

vskirdin

2014-04-28 09:17

administrator   bugnote:0012291

<анализ>
FileViewer::Init(...NamesList *ViewNamesList,..)
{
...
(1) if (!View.OpenFile(strName,TRUE))
...
if (ViewNamesList)
(2)View.SetNamesList(*ViewNamesList);

В (1) ViewNamesList еще живой. В (2) уже мертвяк.
После чего идет трап.
</анализ>

vskirdin

2014-04-28 09:31

administrator  

m2663.diff (761 bytes)   
Index: fileview.cpp
===================================================================
--- fileview.cpp	(revision 11724)
+++ fileview.cpp	(working copy)
@@ -139,6 +139,12 @@
 	SaveToSaveAs=ToSaveAs;
 	InitKeyBar();
 
+	if (ViewStartPos != -1)
+		View.SetFilePos(ViewStartPos);
+
+	if (ViewNamesList)
+		View.SetNamesList(*ViewNamesList);
+
 	if (!View.OpenFile(strName,TRUE)) // $ 04.07.2000 tran + add TRUE as 'warning' parameter
 	{
 		DisableHistory = TRUE;  // $ 26.03.2002 DJ - ��� ������ ������ - �� ���� ����� � ������
@@ -148,12 +154,6 @@
 		return;
 	}
 
-	if (ViewStartPos!=-1)
-		View.SetFilePos(ViewStartPos);
-
-	if (ViewNamesList)
-		View.SetNamesList(*ViewNamesList);
-
 	ExitCode=TRUE;
 	ViewKeyBar.Show();
 
m2663.diff (761 bytes)   

vskirdin

2014-04-28 09:32

administrator   bugnote:0012292

m2663.diff - здесь без DI_DOUBLEBOX.

max rusov

2014-04-28 09:38

reporter   bugnote:0012293

> Падение уберу, но... почему координаты такие?

Ну, в данном плагине это вспомогательный диалог, он нужен только для организации модального режима.

vskirdin

2014-04-28 10:11

administrator   bugnote:0012294

1. А простой Message (который вроде очень как модальный)
2. Хоть он и вспомогательный, но...

max rusov

2014-04-28 10:20

reporter   bugnote:0012295

Как я понимаю, trap не из-за размеров диалога, когда я экспериментировал я заменял свой диалог на Message - результат тот-же.

vskirdin

2014-04-28 12:00

administrator   bugnote:0012296

Да, не в диалогах (но это тоже полечим - в диалогах добавил проверку на ширину. Если меньше 2 текст не будет выводиться).
С приаттаченным патчем пашет?

max rusov

2014-04-28 12:06

reporter   bugnote:0012297

К сожалению, у меня сейчас нет возможности собирать Far. Смогу проверить только после выхода ночнушки.

max rusov

2014-04-28 12:17

reporter   bugnote:0012298

Last edited: 2014-04-28 12:18

> Если меньше 2 текст не будет выводиться

Э, там текст выводится не просто так - я таким образом отображаю информацию в заголовке консоли. Не хотелось бы чтобы это сломалось...

vskirdin

2014-04-28 12:23

administrator   bugnote:0012299

build 3881

vskirdin

2014-04-28 12:25

administrator   bugnote:0012300

> Не хотелось бы чтобы это...
там ограничение на показ, но не выборку заголовка из элемента

max rusov

2014-04-29 11:09

reporter   bugnote:0012304

Починилось, можно закрывать.

Issue History

Date Modified Username Field Change
2014-04-26 20:41 max rusov New Issue
2014-04-26 20:41 max rusov File Added: FarTrap_20140426233205.log
2014-04-28 07:03 vskirdin Note Added: 0012288
2014-04-28 07:31 max rusov Note Added: 0012289
2014-04-28 09:04 vskirdin Note Added: 0012290
2014-04-28 09:17 vskirdin Note Added: 0012291
2014-04-28 09:31 vskirdin File Added: m2663.diff
2014-04-28 09:32 vskirdin Note Added: 0012292
2014-04-28 09:38 max rusov Note Added: 0012293
2014-04-28 10:11 vskirdin Note Added: 0012294
2014-04-28 10:20 max rusov Note Added: 0012295
2014-04-28 12:00 vskirdin Note Added: 0012296
2014-04-28 12:06 max rusov Note Added: 0012297
2014-04-28 12:17 max rusov Note Added: 0012298
2014-04-28 12:18 max rusov Note Edited: 0012298
2014-04-28 12:23 vskirdin Note Added: 0012299
2014-04-28 12:23 vskirdin Assigned To => vskirdin
2014-04-28 12:23 vskirdin Status new => feedback
2014-04-28 12:25 vskirdin Note Added: 0012300
2014-04-29 11:09 max rusov Note Added: 0012304
2014-04-29 11:09 max rusov Status feedback => assigned
2014-04-29 12:48 vskirdin Build => 3881
2014-04-29 12:48 vskirdin Status assigned => closed
2014-04-29 12:48 vskirdin Resolution open => fixed
2014-04-29 12:48 vskirdin Fixed in Version => 3.0