View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0002663 | Far Manager | Viewer | public | 2014-04-26 19:41 | 2014-04-29 11: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 19:41 | max rusov | New Issue | |
| 2014-04-26 19:41 | max rusov | File Added: FarTrap_20140426233205.log | |
| 2014-04-28 06:03 | vskirdin | Note Added: 0012288 | |
| 2014-04-28 06:31 | max rusov | Note Added: 0012289 | |
| 2014-04-28 08:04 | vskirdin | Note Added: 0012290 | |
| 2014-04-28 08:17 | vskirdin | Note Added: 0012291 | |
| 2014-04-28 08:31 | vskirdin | File Added: m2663.diff | |
| 2014-04-28 08:32 | vskirdin | Note Added: 0012292 | |
| 2014-04-28 08:38 | max rusov | Note Added: 0012293 | |
| 2014-04-28 09:11 | vskirdin | Note Added: 0012294 | |
| 2014-04-28 09:20 | max rusov | Note Added: 0012295 | |
| 2014-04-28 11:00 | vskirdin | Note Added: 0012296 | |
| 2014-04-28 11:06 | max rusov | Note Added: 0012297 | |
| 2014-04-28 11:17 | max rusov | Note Added: 0012298 | |
| 2014-04-28 11:18 | max rusov | Note Edited: 0012298 | |
| 2014-04-28 11:23 | vskirdin | Note Added: 0012299 | |
| 2014-04-28 11:23 | vskirdin | Assigned To | => vskirdin |
| 2014-04-28 11:23 | vskirdin | Status | new => feedback |
| 2014-04-28 11:25 | vskirdin | Note Added: 0012300 | |
| 2014-04-29 10:09 | max rusov | Note Added: 0012304 | |
| 2014-04-29 10:09 | max rusov | Status | feedback => assigned |
| 2014-04-29 11:48 | vskirdin | Build | => 3881 |
| 2014-04-29 11:48 | vskirdin | Status | assigned => closed |
| 2014-04-29 11:48 | vskirdin | Resolution | open => fixed |
| 2014-04-29 11:48 | vskirdin | Fixed in Version | => 3.0 |