User forums > Nightly builds

The 20 February 2011 build (7017) is out.

<< < (5/11) > >>

ollydbg:

--- Quote from: oBFusCATed on February 25, 2011, 08:30:34 pm ---Thanks I'll try these two :)

Probably it will look something like this:

--- Code: ---Index: src/plugins/codecompletion/nativeparser.cpp
===================================================================
--- src/plugins/codecompletion/nativeparser.cpp (revision 7025)
+++ src/plugins/codecompletion/nativeparser.cpp (working copy)
@@ -1727,7 +1727,7 @@
 
 bool PrettyPrintToken(wxString &result, Token const &token, TokensTree const &tokens, bool root = true)
 {
-    if (token.m_ParentIndex != -1)
+    if (token.m_ParentIndex != -1 && (token.m_TokenKind & (tkAnyContainer | tkAnyFunction)) != 0)
     {
         if (!PrettyPrintToken(result, *tokens.at(token.m_ParentIndex), tokens, false))
             return false;

--- End code ---
I'm not totally sure that the condition is correct.
Loaden, Ollydbg can you look at it?

--- End quote ---
Oh my god, the PrettyPrintToken will call recursively. and the condition was too complex to understand. let me have a look deeply.

oBFusCATed:
The condition is something like: if the token has parents and the token is a container or a function, then pretty print the parent of the token.

Jens:
I think this patches works around the problem:

--- Code: ---Index: src/src/main.cpp
===================================================================
--- src/src/main.cpp    (revision 7028)
+++ src/src/main.cpp    (working copy)
@@ -724,6 +724,10 @@
     if (!Manager::IsBatchBuild())
     {
         m_pInfoPane = new InfoPane(this);
+
+        long closestyle = Manager::Get()->GetConfigManager(_T("app"))->ReadBool(_T("/environment/tabs_close_on_all"))?wxAUI_NB_CLOSE_ON_ALL_TABS:0;
+        DoUpdateEditorStyle(m_pInfoPane, _T("infopane"), closestyle | wxAUI_NB_DEFAULT_STYLE);
+
         m_LayoutManager.AddPane(m_pInfoPane, wxAuiPaneInfo().
                                   Name(wxT("MessagesPane")).Caption(_("Logs & others")).
                                   BestSize(wxSize(clientsize.GetWidth(), bottomH)).//MinSize(wxSize(50,50)).

--- End code ---
The problem happens, because wxAuiNotebook::UpdateTabCtrlHeight is called.
Inside it there is some call to the cloning of the ArtProvider and probably something is pointing to the wrong/old ArtProvider.
Unfortunately I don't understand the way wxAUI works, nor how C::B uses it, so I can't debug further.
I couldn't reproduce it with the auidemo in wx2.9's sources.

With this patch my other gtk_style patch ( http://smrt.is-a-geek.org/codeblocks/patches/gtk_notebook4.patch ) works super :)

Jenna:

--- Quote from: oBFusCATed on February 26, 2011, 07:27:52 pm ---The condition is something like: if the token has parents and the token is a container or a function, then pretty print the parent of the token.

Jens:
I think this patches works around the problem:
[...]
The problem happens, because wxAuiNotebook::UpdateTabCtrlHeight is called.
Inside it there is some call to the cloning of the ArtProvider and probably something is pointing to the wrong/old ArtProvider.
Unfortunately I don't understand the way wxAUI works, nor how C::B uses it, so I can't debug further.
I couldn't reproduce it with the auidemo in wx2.9's sources.

--- End quote ---

Can you try it with target->SetTabCtrlHeight(-1); commented out ?
I'm not sure if it is still needed.

ollydbg:

--- Quote from: oBFusCATed on February 26, 2011, 07:27:52 pm ---The condition is something like:

--- End quote ---
Ok, I understand now, and it should work fine. So I totally agree this fix :D
so, what about this one:


--- Code: ---//if the token has parents and the token is a container or a function, then pretty print the parent of the token.
if (token.m_ParentIndex != -1 && (token.m_TokenKind & (tkAnyContainer | tkAnyFunction)) )

--- End code ---

Also, the sentence can added as comments. :D

oBFusCATed:

--- Quote from: jens on February 26, 2011, 08:31:47 pm ---Can you try it with target->SetTabCtrlHeight(-1); commented out ?
I'm not sure if it is still needed.

--- End quote ---
Removing my patch from above and target->SetTabCtrlHeight(-1); brings the problem back :(
If I don't remove my patch and remove target->SetTabCtrlHeight(-1); it works...

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version