Author Topic: Any comments about 'Dreaded DDE-open bug related' ?  (Read 10563 times)

Offline Loaden

  • Lives here!
  • ****
  • Posts: 1014
Any comments about 'Dreaded DDE-open bug related' ?
« on: August 20, 2010, 05:49:18 pm »
Quote
void NativeParser::CreateClassBrowser()
{
    ConfigManager* cfg = Manager::Get()->GetConfigManager(_T("code_completion"));
    if (!m_pClassBrowser && cfg->ReadBool(_T("/use_symbols_browser"), true))
    {
        bool isFloating = cfg->ReadBool(_T("/as_floating_window"), false);

        if (!isFloating)
        {
            // make this a tab in projectmanager notebook
            m_pClassBrowser = new ClassBrowser(Manager::Get()->GetProjectManager()->GetNotebook(), this);
            Manager::Get()->GetProjectManager()->GetNotebook()->AddPage(m_pClassBrowser, _("Symbols"));
            m_pClassBrowser->UpdateSash();
        }
        else
        {
            m_pClassBrowser = new ClassBrowser(Manager::Get()->GetAppWindow(), this);

            // make this a free floating/docking window
            CodeBlocksDockEvent evt(cbEVT_ADD_DOCK_WINDOW);

            evt.name = _T("SymbolsBrowser");
            evt.title = _("Symbols browser");
            evt.pWindow = m_pClassBrowser;
            evt.dockSide = CodeBlocksDockEvent::dsRight;
            evt.desiredSize.Set(200, 250);
            evt.floatingSize.Set(200, 250);
            evt.minimumSize.Set(150, 150);
            evt.shown = true;
            evt.hideable = true;
            Manager::Get()->ProcessEvent(evt);
            m_pClassBrowser->UpdateSash();
        }
        m_ClassBrowserIsFloating = isFloating;

        // Dreaded DDE-open bug related: do not touch unless for a good reason
//        m_pClassBrowser->SetParser(m_pParser);

    }
}

What is the 'DDE-open bug' ?
If i uncomment the line "m_pClassBrowser->SetParser(m_pParser);", CC also works fine, include open file through DDE.

Offline MortenMacFly

  • Administrator
  • Lives here!
  • *****
  • Posts: 9694
Re: Any comments about 'Dreaded DDE-open bug related' ?
« Reply #1 on: August 20, 2010, 10:09:54 pm »
What is the 'DDE-open bug' ?
IIRC it was the following:
Windows reserves just about 5 secs for a DDE call to succeed. If parsing takes longer the return event comes too late, so the calling application using DDE "hangs".

However, you can also try to use SVN blame to find out when this was commented.
Compiler logging: Settings->Compiler & Debugger->tab "Other"->Compiler logging="Full command line"
C::B Manual: https://www.codeblocks.org/docs/main_codeblocks_en.html
C::B FAQ: https://wiki.codeblocks.org/index.php?title=FAQ

Offline Loaden

  • Lives here!
  • ****
  • Posts: 1014
Re: Any comments about 'Dreaded DDE-open bug related' ?
« Reply #2 on: August 21, 2010, 12:44:55 am »
What is the 'DDE-open bug' ?
...
However, you can also try to use SVN blame to find out when this was commented.

Quote
mandrav  2008-2-23 22:14:40           
* Seemingly fixed dreaded DDE bug on windows.
* Parse project(s) for symbols when opening through the command-line.
But even if I do not comment this line, through the command line to open the project is parsing correct, include class browser.

Offline Loaden

  • Lives here!
  • ****
  • Posts: 1014
Re: Any comments about 'Dreaded DDE-open bug related' ?
« Reply #3 on: August 21, 2010, 12:49:54 am »
Of course, I have rewritten SetParser function, and added a temporary Parser, So, I think do not have this problem now.

Offline MortenMacFly

  • Administrator
  • Lives here!
  • *****
  • Posts: 9694
Re: Any comments about 'Dreaded DDE-open bug related' ?
« Reply #4 on: August 21, 2010, 03:15:45 pm »
Of course, I have rewritten SetParser function, and added a temporary Parser, So, I think do not have this problem now.
So - it *might* work now. In fact, since so many things have changed it may have become obsolete.

I can try my self to use it again on large workspaces / projects. I'll report back.
Compiler logging: Settings->Compiler & Debugger->tab "Other"->Compiler logging="Full command line"
C::B Manual: https://www.codeblocks.org/docs/main_codeblocks_en.html
C::B FAQ: https://wiki.codeblocks.org/index.php?title=FAQ