View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0002056 | Far Manager | Macro | public | 2012-03-27 21:43 | 2012-04-09 19:23 |
Reporter | Maximus | Assigned To | vskirdin | ||
Priority | normal | Severity | minor | Reproducibility | have not tried |
Status | closed | Resolution | fixed | ||
Product Version | 3.0 | ||||
Fixed in Version | 3.0 | ||||
Summary | 0002056: Ошибка в возврате plugin.call / callplugin | ||||
Description | Обещано: Функция возвращает 0, если вызываемого плагина нет или плагин вернул 0. В других случаях функция возвращает значение, отличное от 0 Реально: 1) возвращает 1 игнорируя возврат плагина 2) утечка памяти | ||||
Tags | No tags attached. | ||||
Build | 2576 | ||||
|
Plugins120327.diff (408 bytes)
Index: plugins.cpp =================================================================== --- plugins.cpp (revision 7785) +++ plugins.cpp (working copy) @@ -2473,7 +2473,8 @@ if (Ret) { PluginHandle *handle=(PluginHandle *)hNewPlugin; - *Ret = !hNewPlugin || handle->hPlugin? 1 : 0; + *Ret = (hNewPlugin && handle->hPlugin) ? 1 : 0; + delete handle; } return TRUE; |
|
build 2576 |
|
А может эта строка должна выглядеть так: *Ret = (!hNewPlugin || (hNewPlugin && handle->hPlugin)) ? 1 : 0; |
|
hNewPlugin==NULL, если плагин вернул 0. читаем описание Plugin.Call и обращаемся к автору плагина, чтобы он возвращал что положено |
|
ok |
Date Modified | Username | Field | Change |
---|---|---|---|
2012-03-27 21:43 | Maximus | New Issue | |
2012-03-27 21:43 | Maximus | File Added: Plugins120327.diff | |
2012-03-28 11:14 | vskirdin | Assigned To | => vskirdin |
2012-03-28 11:14 | vskirdin | Status | new => assigned |
2012-03-28 14:38 | vskirdin | Note Added: 0008830 | |
2012-03-28 14:38 | vskirdin | Status | assigned => feedback |
2012-04-01 13:24 | Denis | Note Added: 0008839 | |
2012-04-01 13:51 | Maximus | Note Added: 0008840 | |
2012-04-01 13:51 | Maximus | Status | feedback => assigned |
2012-04-08 20:29 | Maximus | Note Added: 0008858 | |
2012-04-08 20:29 | Maximus | Status | assigned => resolved |
2012-04-09 19:23 | vskirdin | Build | => 2576 |
2012-04-09 19:23 | vskirdin | Status | resolved => closed |
2012-04-09 19:23 | vskirdin | Resolution | open => fixed |
2012-04-09 19:23 | vskirdin | Fixed in Version | => 3.0 |