I see I found a workaround about this issue.
In the file: src\find_replace.cpp
There is some code snippet:
else if (data->scope == 3) // replace in custom search path and mask
{
// fill the search list with the files found under the search path
int flags = wxDIR_FILES |
(data->recursiveSearch ? wxDIR_DIRS : 0) |
(data->hiddenSearch ? wxDIR_HIDDEN : 0);
wxArrayString masks = GetArrayFromString(data->searchMask);
if (!masks.GetCount())
masks.Add(_T("*"));
unsigned int count = masks.GetCount();
wxLogNull ln; // no logging
for (unsigned int i = 0; i < count; ++i)
{
// wxDir::GetAllFiles() does *not* clear the array, so it suits us just fine ;)
wxDir::GetAllFiles(data->searchPath, &filesList, masks[i], flags);
}
}
// if the list is empty, leave
int filesCount = filesList.GetCount();
if (filesCount == 0)
{
cbMessageBox(_("No files to search in!"), _("Error"), wxICON_WARNING);
return 0;
}
So, it use a local variable wxLogNull ln to disable the logging temporary.
Can thread search plugin have a similar mechanism?
BTW:
Maybe another way to handle this it to redirect the log message to texctrl, such as the "Code::Blocks" in the "logs and others panel" at the bottom of C:B's main frame.