News:

The new Release 25.03 is out! You can download binaries for Windows and many major Linux distros here .

Main Menu

The 06 March 2011 build (7040) is out.

Started by killerbot, March 06, 2011, 06:15:02 PM

Previous topic - Next topic

killerbot

Get quick announcements through the RSS feed http://www.codeblocks.org/nightly/CodeBlock_RSS.xml

Before you use a nightly make sure you understand how it works.

A link to the unicode windows wxWidget dll for Code::Blocks : http://prdownload.berlios.de/codeblocks/wxmsw28u_gcc_cb_wx2810_gcc451-TDM.7z

For those who might need this one (when no MingW installed on your system) : the mingw10m.dll : http://prdownload.berlios.de/codeblocks/mingwm10_gcc451-TDM.7z

The 06 March 2011 build is out.
  - Windows :
   http://prdownload.berlios.de/codeblocks/CB_20110306_rev7040_win32.7z
  - Linux :
   none

Resolved Fixed:


  • CC: add part 2 of one parser per whole workspace, see http://forums.next.codeblocks.org/index.php/topic,14201.0.html for more information
  • applied patch #2955 to fix bug #16671
  • applied patch #2922: AutoVersion changes log GUI sizing (includes patch #2940)
  • applied (modified) patch #2957: partial fix for bug #14087
  • applied patch #3127 (additional parts): several enhancement, e.g. hard-coded doxygen directory name and directory creation code
  • fix for bug #17950 (another case where a tabcontrol did not correctly release mouse-capture in some cases)
  • CodeSnippets 1.3.120 2011/02/11
    - Fix crash when double clicking previously opened snippet
    - Copy fixes 5995 & 6000 from CB EditorManager to SEditormanager
  • fix a crash, if no editor is open and the environment settings dialog is closed with OK (see: http://forums.next.codeblocks.org/index.php/topic,14294.msg96148.html#msg96148 )
  • allow to hide the folder name in project tree (in "flat view" mode)
  • optimised SDK interface to project view (namely BuildTree in cbProject)
  • applied patch by oBFusCATed to reload project while keeping dependencies
  • fixed a crash candidate in CopyTreeNodeRecursively
  • add missing abbreviationsconfigpanel.xrc to C::B's project files. Thanks daniloz for reporting it !
  • add missing autosave.xrc to C::B's project files. Again thanks daniloz for reporting it !

Regressions/Confirmed/Annoying/Common bugs:




Jenna

Debian packages (binaries and sources) for 32-bit and 64-bit systems can be found in my repo.

Phenom

I want to report something very annoying.

Open the project properties dialog and switch to the Build targets tab.
Select a target and edit something(type, output, working path.....) and after that click the white space below the project targets
listbox. All your modifications are lost....


killerbot

can't reproduce this, what am I missing ?

Phenom

I think I wasn't clear enough. Hope the attached image helps.


MortenMacFly

Quote from: Phenom on March 24, 2011, 09:20:52 AM
I think I wasn't clear enough. Hope the attached image helps.
This is by design. You should leave the window (e.g. text box...) you are editing before selecting another target. Otherwise your input in cancelled.
Compiler logging: Settings->Compiler & Debugger->tab "Other"->Compiler logging="Full command line"
C::B Manual: [url="https://www.codeblocks.org/docs/main_codeblocks_en.html"]https://www.codeblocks.org/docs/main_codeblocks_en.html[/url]
C::B FAQ: [url="https://wiki.codeblocks.org/index.php?title=FAQ"]https://wiki.codeblocks.org/index.php?title=FAQ[/url]

Jenna

Quote from: MortenMacFly on March 24, 2011, 10:27:10 AM
Quote from: Phenom on March 24, 2011, 09:20:52 AM
I think I wasn't clear enough. Hope the attached image helps.
This is by design. You should leave the window (e.g. text box...) you are editing before selecting another target. Otherwise your input in cancelled.
That's quite unintuitive in my opinion and what's more, it behaves different on linux (that's why I never noticed it before).
And if I want to edit properties of more than one target I have to leave and reopen the dialog multiple times, very annoying.

It should either not happen (as on linux) or there should at least be an "Apply"-button and probably an annoying-dialog that warns that changes get lost, if the target is changed.

fubo

Found an issue in building project with multiple targets.
If you have target "a" and "b" and specify a custom variable "foo=dummy" in "b" without specifying it for "a", it is used also in "a". I can get rid of this by defining "foo=" in target "a".

ahui886


eternallite

Hello! This is not really a big problem but I noticed that the new call tip doesn't bold the current argument you are on
while typing; for example, in SVN 6992, if a function f(int arg0, int arg1, int arg2) exists,
typing f(1, 2

while staying on 2, arg1 will appear bolded which is quite nifty but the new calltip doesn't seem
to be doing that :\

Anyway, wonderful job nonetheless :)

ollydbg

Quote from: eternallite on March 30, 2011, 09:01:00 AM
Hello! This is not really a big problem but I noticed that the new call tip doesn't bold the current argument you are on
while typing; for example, in SVN 6992, if a function f(int arg0, int arg1, int arg2) exists,
typing f(1, 2

while staying on 2, arg1 will appear bolded which is quite nifty but the new calltip doesn't seem
to be doing that :\

Anyway, wonderful job nonetheless :)
I can confirm this on my self build rev 7071 (Windows,wx2.8.11), I will take sometime to check it.  :D
If some piece of memory should be reused, turn them to variables (or const variables).
If some piece of operations should be reused, turn them to functions.
If they happened together, then turn them to classes.

ollydbg

Quote from: ollydbg on March 30, 2011, 09:17:26 AM
Quote from: eternallite on March 30, 2011, 09:01:00 AM
Hello! This is not really a big problem but I noticed that the new call tip doesn't bold the current argument you are on
while typing; for example, in SVN 6992, if a function f(int arg0, int arg1, int arg2) exists,
typing f(1, 2

while staying on 2, arg1 will appear bolded which is quite nifty but the new calltip doesn't seem
to be doing that :\

Anyway, wonderful job nonetheless :)
I can confirm this on my self build rev 7071 (Windows,wx2.8.11), I will take sometime to check it.  :D

it seems the code: codecompletion.cpp line around 1446

    int start = 0;
    int end = 0;
    int count = 0;
    int commas = m_NativeParser.GetCallTipCommas(); // how many commas has the user typed so far?
    wxArrayString items = m_NativeParser.GetCallTips(maxCalltipLineSizeInChars);
    std::set< wxString, std::less<wxString> > unique_tips; // check against this before inserting a new tip in the list
    wxString definition;
    for (unsigned int i = 0; i < items.GetCount(); ++i)
    {
        // allow only unique, non-empty items with equal or more commas than what the user has already typed
        if (unique_tips.find(items[i]) == unique_tips.end() && // unique
            !items[i].IsEmpty() && // non-empty
            commas <= m_NativeParser.CountCommas(items[i], 1)) // commas satisfied
        {
            unique_tips.insert(items[i]);
            if (count != 0)
                definition << _T('\n'); // add new-line, except for the first line
            definition << items[i];
            m_NativeParser.GetCallTipHighlight(items[i], &start, &end);
            ++count;
        }
    }
    if (!definition.IsEmpty())
        ed->GetControl()->CallTipShow(pos, definition);
//    Manager::Get()->GetLogManager()->DebugLog(_T("start=%d, end=%d"), start, end);
    // only highlight current argument if only one calltip (scintilla doesn't support multiple highlighting ranges in calltips)
    ed->GetControl()->CallTipSetHighlight(count == 1 ? start : 0, count == 1 ? end : 0);
}

the text between "start" and "end" will be highlight, but these interval was always wrong.  :(
If some piece of memory should be reused, turn them to variables (or const variables).
If some piece of operations should be reused, turn them to functions.
If they happened together, then turn them to classes.

ollydbg

ok, debug a little, and I have found that the reason is:

recently, we use some pretty printer mechanism to do the call tip,
My test code is:

void f11111(int arg0, int arg1, int arg2);

f11111(1111111,)

I just enter a commas in the last line.


so the code works wrong



int commas = m_NativeParser.GetCallTipCommas(); // how many commas has the user typed so far?
    wxArrayString items = m_NativeParser.GetCallTips(maxCalltipLineSizeInChars);
    std::set< wxString, std::less<wxString> > unique_tips; // check against this before inserting a new tip in the list
    wxString definition;
    for (unsigned int i = 0; i < items.GetCount(); ++i)
    {
        // allow only unique, non-empty items with equal or more commas than what the user has already typed
        if (unique_tips.find(items[i]) == unique_tips.end() && // unique
            !items[i].IsEmpty() && // non-empty
            commas <= m_NativeParser.CountCommas(items[i], 1)) // commas satisfied
        {
            unique_tips.insert(items[i]);
            if (count != 0)
                definition << _T('\n'); // add new-line, except for the first line
            definition << items[i];
            m_NativeParser.GetCallTipHighlight(items[i], &start, &end);
            ++count;
        }
    }

Here, items[0]="void f11111(int arg0, int arg1, int arg2)"
and commas calculated by "m_NativeParser.GetCallTipCommas();" is 1

But see the statement:

commas <= m_NativeParser.CountCommas(items[i], 1)) // commas satisfied


This will get false, because we pass a full string "void f11111(int arg0, int arg1, int arg2)", and CountCommas return ZERO. so we have No way to calculate the "start" and "end".

Maybe, the idea is: pass only the argument string which is "int arg0, int arg1, int arg2" to CountCommas() function, so the commas position should be satisfied.

Any ideas??? :D
If some piece of memory should be reused, turn them to variables (or const variables).
If some piece of operations should be reused, turn them to functions.
If they happened together, then turn them to classes.

Cubic

I don't know if this is related, but the call tip apparently appears only after the first comma is entered, and disappears for good if the first comma is deleted.
ex: void uninitGL(HWND hWnd);
No tip: uninitGL(hWnd);
Tip: uninitGL(,hWnd);
Tip disappears again and doesn't reappear:
uninitGL();

oBFusCATed

It is not related (probably), but it is very annoying behavior, it is great that you've been able to reproduce it.
(most of the time I ignore long posts)
[strangers don't send me private messages, I'll ignore them; post a topic in the forum, but first read the rules!]