View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0000268 | Far Manager 1.7x | Editor | public | 2007-02-21 16:10 | 2007-07-16 12:06 |
| Reporter | NightRoman | Assigned To | vskirdin | ||
| Priority | normal | Severity | minor | Reproducibility | always |
| Status | closed | Resolution | fixed | ||
| Platform | x86 | OS | Windows | OS Version | XP SP2 |
| Product Version | 1.71 | ||||
| Fixed in Version | 1.71 | ||||
| Summary | 0000268: ECTL_GETINFO может вернуть BlockStartLine = -1 | ||||
| Description | Вызываю EditorControl c ECTL_SELECT и устанавливаю EditorSelect.BlockStartLine = -1 (подразумевается текущая строка, как это часто принято). Конкретно для этой операции в энциклопедии не указано, что -1 можно употребить. Но это работает (внешне). Но это, похоже, приводит к тому, что следующий вызов EditorControl с ECTL_GETINFO дает BlockStartLine = -1, и вот это уже неожиданно для остального кода, который к этому не готов. Даже если EditorSelect.BlockStartLine = -1 недопустимо, ECTL_GETINFO не должен возвращать некорретное значение BlockStartLine. | ||||
| Steps To Reproduce | #include "stdafx.h" #include "plugin.hpp" PluginStartupInfo Info; void TestEditor() { // select 1 first char in the current line EditorSelect es; es.BlockStartLine = -1; es.BlockStartPos = 0; es.BlockHeight = 1; es.BlockWidth = 1; es.BlockType = BTYPE_STREAM; Info.EditorControl(ECTL_SELECT, &es); // get info - BlockStartLine = -1 EditorInfo ei; Info.EditorControl(ECTL_GETINFO, &ei); return; } void WINAPI SetStartupInfo(const PluginStartupInfo* psi) { Info = *psi; } void WINAPI GetPluginInfo(PluginInfo* pi) { pi->StructSize = sizeof(*pi); pi->Flags = PF_EDITOR | PF_VIEWER; static const char* PluginMenuStrings[] = { "Test" }; pi->PluginMenuStrings = PluginMenuStrings; pi->PluginMenuStringsNumber = 1; static const char prefix[] = "test"; pi->CommandPrefix = prefix; } HANDLE WINAPI OpenPlugin(int OpenFrom, int item) { switch(OpenFrom) { case OPEN_EDITOR: TestEditor(); break; } return INVALID_HANDLE_VALUE; } | ||||
| Tags | No tags attached. | ||||
| Build | |||||
|
|
Эта... простенький тестовый плагин (который показывает проблему) сюда приаттач (можно без сорцов). |
|
|
пробуем: http://farmanager.com/farbugs/mantis268.1.rar |
|
|
см. после 2206 |
| Date Modified | Username | Field | Change |
|---|---|---|---|
| 2007-02-21 16:10 | NightRoman | New Issue | |
| 2007-03-14 04:01 | vskirdin | Note Added: 0000435 | |
| 2007-03-14 05:34 | vskirdin | Note Added: 0000436 | |
| 2007-03-14 05:34 | vskirdin | Status | new => assigned |
| 2007-03-14 05:34 | vskirdin | Assigned To | => vskirdin |
| 2007-03-14 08:57 | vskirdin | Status | assigned => resolved |
| 2007-03-14 08:57 | vskirdin | Fixed in Version | => 1.71 |
| 2007-03-14 08:57 | vskirdin | Resolution | open => fixed |
| 2007-03-14 08:57 | vskirdin | Note Added: 0000437 | |
| 2007-07-16 12:06 | alexy | Status | resolved => closed |