View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0001101 | Far Manager 1.7x | Plugins API | public | 2009-10-07 19:35 | 2018-11-09 10:07 |
Reporter | Nikolay | Assigned To | |||
Priority | normal | Severity | minor | Reproducibility | always |
Status | closed | Resolution | open | ||
Product Version | 1.75 | ||||
Summary | 0001101: Баги при вызове AdvControl с ACTL_REDRAWALL | ||||
Description | 1.75 build 2609 x86 - экран не перерисовывается | ||||
Additional Information | Связь с http://bugs.farmanager.com/view.php?id=949 ? | ||||
Tags | No tags attached. | ||||
Build | |||||
|
Код для воспроизводства бага: #include "plugin.hpp" PluginStartupInfo g_info; void WINAPI _export SetStartupInfo(const struct PluginStartupInfo* psi) { g_info = *psi; } void WINAPI _export GetPluginInfo(struct PluginInfo* pPI) { pPI->StructSize = sizeof(PluginInfo); static const char* strs[] = { "RedrawAllBug" }; pPI->PluginMenuStrings = strs; pPI->PluginMenuStringsNumber = 1; } LONG_PTR WINAPI DlgProc(HANDLE hDlg, int msg, int param1, LONG_PTR param2) { if (msg == DN_CLOSE) { CONSOLE_SCREEN_BUFFER_INFO bi; GetConsoleScreenBufferInfo(GetStdHandle(STD_OUTPUT_HANDLE), &bi); COORD c = {0, 0}; DWORD foo; FillConsoleOutputCharacter(GetStdHandle(STD_OUTPUT_HANDLE), 'X', bi.dwSize.X * bi.dwSize.Y, c, &foo); g_info.AdvControl(g_info.ModuleNumber, ACTL_REDRAWALL, 0); } return g_info.DefDlgProc(hDlg, msg, param1, param2); } HANDLE WINAPI _export OpenPlugin(int OpenFrom, INT_PTR item) { FarDialogItem items[1] = { {DI_BUTTON,0,1,0,0,0,0,DIF_CENTERGROUP,1,"Ok"} }; g_info.DialogEx(g_info.ModuleNumber, -1, -1, 30, 3, NULL, items, 1, 0, 0, &DlgProc, 0); return INVALID_HANDLE_VALUE; } |
|
Far 1.7 is no longer supported |