The new Release 20.03 is out! You can download binaries for Windows and many major Linux distros here .
void* ClassBrowserBuilderThread::Entry(){ while (!TestDestroy() && !Manager::IsAppShuttingDown()) { // wait until the classbrowser signals m_Semaphore.Wait();// Manager::Get()->GetLogManager()->DebugLog(F(_T(" - - - - - -"))); if (TestDestroy() || Manager::IsAppShuttingDown()) break; if (platform::gtk) { // this code (PART 1/2) seems to be good on linux // because of it the libcairo crash on dualcore processors // is gone, but on windows it has very bad influence, // henceforth the ifdef guard // the questions remains if it is the correct solution if (!::wxIsMainThread()) ::wxMutexGuiEnter(); } BuildTree(); if (platform::gtk) { // this code (PART 2/2) seems to be good on linux // because of it the libcairo crash on dualcore processors // is gone, but on windows it has very bad influence, // henceforth the ifdef guard // the questions remains if it is the correct solution if (!::wxIsMainThread()) ::wxMutexGuiLeave(); } } m_NativeParser = 0; m_TreeTop = 0; m_TreeBottom = 0; return 0;}
i always considered wxMutexGuiEnter more like a hack. There is discussion among the wx developers to remove it completely.I recommend not to use it.
Can we build the symbols tree on MAIN Thread?Any comments?
Quote from: Loaden on August 28, 2011, 10:59:48 amCan we build the symbols tree on MAIN Thread?Any comments?Building the symbols-tree can take several seconds and would block the main-thread every time it is rebuild.
You can use shared_ptr to prevent the deletion.
Quote from: oBFusCATed on August 28, 2011, 11:19:35 amYou can use shared_ptr to prevent the deletion.and additional a flag, that marks the parser as invalid, so the symbolsbrowser buildthread (or possibly others that use the parser) stop using it.