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 13: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 13:06 | alexy | Status | resolved => closed |