View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0002663 | Far Manager | Viewer | public | 2014-04-26 20:41 | 2014-04-29 12:48 |
Reporter | max rusov | Assigned To | vskirdin | ||
Priority | normal | Severity | minor | Reproducibility | always |
Status | closed | Resolution | fixed | ||
Product Version | 3.0 | ||||
Fixed in Version | 3.0 | ||||
Summary | 0002663: Far падает, если показать модальный диалог из обработчика события viewer'а VE_Read | ||||
Description | Вывожу Message из ProcessViewerEventW, событие VE_Read. При обычном просмотре все нормально - диалог закрывается, viewer открывается. Но если viewer открывается из редактора (по F6), то при его закрытии Far падает. Прилагаю trap-log. | ||||
Tags | No tags attached. | ||||
Build | 3881 | ||||
|
|
|
> Вывожу Message из ProcessViewerEventW, событие VE_Read. тестовый плагин приаттачишь? |
|
Review не подойдет в качестве тестового? https://code.google.com/p/far-plugins/wiki/Review На картинке нажать F4 а потом F6, F6 |
|
У меня падает в отладчике сразу после первого F6. Падает при показе DI_DOUBLEBOX с координатами {0,0,0,0}: TruncStrFromEnd(strStr,-1) ==> TruncStrFromEnd(){assert(maxLength >= 0);...} Падение уберу, но... почему координаты такие? |
|
<анализ> FileViewer::Init(...NamesList *ViewNamesList,..) { ... (1) if (!View.OpenFile(strName,TRUE)) ... if (ViewNamesList) (2)View.SetNamesList(*ViewNamesList); В (1) ViewNamesList еще живой. В (2) уже мертвяк. После чего идет трап. </анализ> |
|
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 - здесь без DI_DOUBLEBOX. |
|
> Падение уберу, но... почему координаты такие? Ну, в данном плагине это вспомогательный диалог, он нужен только для организации модального режима. |
|
1. А простой Message (который вроде очень как модальный) 2. Хоть он и вспомогательный, но... |
|
Как я понимаю, trap не из-за размеров диалога, когда я экспериментировал я заменял свой диалог на Message - результат тот-же. |
|
Да, не в диалогах (но это тоже полечим - в диалогах добавил проверку на ширину. Если меньше 2 текст не будет выводиться). С приаттаченным патчем пашет? |
|
К сожалению, у меня сейчас нет возможности собирать Far. Смогу проверить только после выхода ночнушки. |
|
> Если меньше 2 текст не будет выводиться Э, там текст выводится не просто так - я таким образом отображаю информацию в заголовке консоли. Не хотелось бы чтобы это сломалось... |
|
build 3881 |
|
> Не хотелось бы чтобы это... там ограничение на показ, но не выборку заголовка из элемента |
|
Починилось, можно закрывать. |
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 |