I noticed a rather serious regression in code completion, at least on Windows when using MinGW (tried with 4.4.1 and 4.5.2-tdm). On the olderHi, thanks for the report, I can confirm this bug.
(April and before) builds, typing this:
std::string s;
s.
activates the code completion for the string object; on the latest nightly, it does nothing. This is also true for several other test scenarios,
especially with C++ objects and classes (and especially STL). For instance, in the older builds, this:
std::cout.
activates the completion while in the latest nightly it doesn't. Tested both with the "std::" prefixation and without it when using "using namespace std".
- Agetian
Hi, thanks for the report, I can confirm this bug.
I'll check it.
which version did you remember it works OK?
mortenmacfly 2011-5-22 23:25:37
* CC: renamed "up-front" into "priority" for better understanding
* CC: massively updated testing tool to allow to parse into includes
- CC: code-cleanup
void TokensTree::RecalcInheritanceChain(Token* token)
{
if (!token)
return;
if (!(token->m_TokenKind & (tkClass | tkTypedef | tkEnum | tkNamespace)))
return;
if (token->m_AncestorsString.IsEmpty())
return;
token->m_DirectAncestors.clear();
token->m_Ancestors.clear();
TRACE(_T("RecalcInheritanceChain() : Token %s, Ancestors %s"), token->m_Name.wx_str(),
token->m_AncestorsString.wx_str());
// TODO (MortenMacFly#5#): Can we safely ignore local tokens here?
// if (!token->m_IsLocal) // global symbols are linked once
// {
TRACE(_T("RecalcInheritanceChain() : Removing ancestor string from %s"), token->m_Name.wx_str());
token->m_AncestorsString.Clear();
// }
wxStringTokenizer tkz(token->m_AncestorsString, _T(","));
You have clear the string before tokenize it.Ooops - that indeed slipped in and was a patch of yours, btw. ;-)
Index: token.cpp
===================================================================
--- token.cpp (revision 7257)
+++ token.cpp (working copy)
@@ -1036,6 +1036,7 @@
token->m_DirectAncestors.clear();
token->m_Ancestors.clear();
+ wxStringTokenizer tkz(token->m_AncestorsString, _T(","));
TRACE(_T("RecalcInheritanceChain() : Token %s, Ancestors %s"), token->m_Name.wx_str(),
token->m_AncestorsString.wx_str());
@@ -1047,7 +1048,7 @@
token->m_AncestorsString.Clear();
// }
- wxStringTokenizer tkz(token->m_AncestorsString, _T(","));
+
while (tkz.HasMoreTokens())
{
wxString ancestor = tkz.GetNextToken();
I nearly forgot my patch :DYou have clear the string before tokenize it.Ooops - that indeed slipped in and was a patch of yours, btw. ;-)
here it is:It seems not the best way.Codeit is too simple. :D.Index: token.cpp
===================================================================
--- token.cpp (revision 7257)
+++ token.cpp (working copy)
@@ -1036,6 +1036,7 @@
token->m_DirectAncestors.clear();
token->m_Ancestors.clear();
+ wxStringTokenizer tkz(token->m_AncestorsString, _T(","));
TRACE(_T("RecalcInheritanceChain() : Token %s, Ancestors %s"), token->m_Name.wx_str(),
token->m_AncestorsString.wx_str());
@@ -1047,7 +1048,7 @@
token->m_AncestorsString.Clear();
// }
- wxStringTokenizer tkz(token->m_AncestorsString, _T(","));
+
while (tkz.HasMoreTokens())
{
wxString ancestor = tkz.GetNextToken();I nearly forgot my patch :DYou have clear the string before tokenize it.Ooops - that indeed slipped in and was a patch of yours, btw. ;-)
ollydbg, could you checking you mail?replied, and I think my tiny patch is acceptable. :D
I have some question need talk to you.
Done.ollydbg, could you checking you mail?replied, and I think my tiny patch is acceptable. :D
I have some question need talk to you.
Done.Good! I personally think the m_AncestorString should be cleared as soon as possible to avoid the recursive infinite loop when calculate class inheritance.
You can review rev7259 and find what's the changes.
Index: src/sdk/logmanager.cpp
===================================================================
--- src/sdk/logmanager.cpp (revision 7266)
+++ src/sdk/logmanager.cpp (working copy)
@@ -9,6 +9,10 @@
#include "sdk_precomp.h"
+#ifndef WX_PRECOMP
+#include <wx/bitmap.h>
+#endif
+
#ifndef CB_PRECOMP
#include <wx/log.h>
#endif
Patch for NON PCH Build.done. :)
Tim S.CodeIndex: src/sdk/logmanager.cpp
===================================================================
--- src/sdk/logmanager.cpp (revision 7266)
+++ src/sdk/logmanager.cpp (working copy)
@@ -9,6 +9,10 @@
#include "sdk_precomp.h"
+#ifndef WX_PRECOMP
+#include <wx/bitmap.h>
+#endif
+
#ifndef CB_PRECOMP
#include <wx/log.h>
#endif
Console redirect doesn't work in windows 8. Please, fix it. >_<
Harhar... right. According to this:Console redirect doesn't work in windows 8. Please, fix it. >_<Well, it looks like you are the one who got his hand on Windows 8. It should be easier for you then to provide us with a patch :)
Harhar... right. According to this:Console redirect doesn't work in windows 8. Please, fix it. >_<Well, it looks like you are the one who got his hand on Windows 8. It should be easier for you then to provide us with a patch :)
http://windows8beta.com/2011/06/windows-8-may-rtm-in-april-2012
...we have still plenty of time left. Not to remind you that this might actually be a bug in Windows 8, right?