Author Topic: The 06 March 2011 build (7040) is out.  (Read 34677 times)

Offline killerbot

  • Administrator
  • Lives here!
  • *****
  • Posts: 5193
The 06 March 2011 build (7040) is out.
« on: March 06, 2011, 06:15:02 pm »
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.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.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:



    Offline jens

    • Administrator
    • Lives here!
    • *****
    • Posts: 7265
      • Jens' unofficial debian-repository for the Code::Blocks - IDE
    Re: The 06 March 2011 build (7040) is out.
    « Reply #1 on: March 06, 2011, 10:26:47 pm »
    Debian packages (binaries and sources) for 32-bit and 64-bit systems can be found in my repo.

    Offline Phenom

    • Multiple posting newcomer
    • *
    • Posts: 57
    Re: The 06 March 2011 build (7040) is out.
    « Reply #2 on: March 23, 2011, 08:25:21 pm »
    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....


    Offline killerbot

    • Administrator
    • Lives here!
    • *****
    • Posts: 5193
    Re: The 06 March 2011 build (7040) is out.
    « Reply #3 on: March 23, 2011, 10:24:42 pm »
    can't reproduce this, what am I missing ?

    Offline Phenom

    • Multiple posting newcomer
    • *
    • Posts: 57
    Re: The 06 March 2011 build (7040) is out.
    « Reply #4 on: March 24, 2011, 09:20:52 am »
    I think I wasn't clear enough. Hope the attached image helps.


    Offline MortenMacFly

    • Administrator
    • Lives here!
    • *****
    • Posts: 9508
    Re: The 06 March 2011 build (7040) is out.
    « Reply #5 on: March 24, 2011, 10:27:10 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: http://www.codeblocks.org/docs/main_codeblocks_en.html
    C::B FAQ: http://wiki.codeblocks.org/index.php?title=FAQ

    Offline jens

    • Administrator
    • Lives here!
    • *****
    • Posts: 7265
      • Jens' unofficial debian-repository for the Code::Blocks - IDE
    Re: The 06 March 2011 build (7040) is out.
    « Reply #6 on: March 24, 2011, 11:01:04 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.

    Offline fubo

    • Multiple posting newcomer
    • *
    • Posts: 38
    Re: The 06 March 2011 build (7040) is out.
    « Reply #7 on: March 24, 2011, 11:09:56 am »
    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".

    Offline ahui886

    • Multiple posting newcomer
    • *
    • Posts: 29
    Re: The 06 March 2011 build (7040) is out.
    « Reply #8 on: March 25, 2011, 03:07:04 am »
    great,well done

    eternallite

    • Guest
    Re: The 06 March 2011 build (7040) is out.
    « Reply #9 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 :)

    Offline ollydbg

    • Developer
    • Lives here!
    • *****
    • Posts: 5247
    • OpenCV and Robotics
      • Chinese OpenCV forum moderator
    Re: The 06 March 2011 build (7040) is out.
    « Reply #10 on: March 30, 2011, 09:17:26 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.

    Offline ollydbg

    • Developer
    • Lives here!
    • *****
    • Posts: 5247
    • OpenCV and Robotics
      • Chinese OpenCV forum moderator
    Re: The 06 March 2011 build (7040) is out.
    « Reply #11 on: April 01, 2011, 04:50:19 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
    Code: [Select]
        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.

    Offline ollydbg

    • Developer
    • Lives here!
    • *****
    • Posts: 5247
    • OpenCV and Robotics
      • Chinese OpenCV forum moderator
    Re: The 06 March 2011 build (7040) is out.
    « Reply #12 on: April 01, 2011, 08:13:10 am »
    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:
    Code: [Select]
    void f11111(int arg0, int arg1, int arg2);

    f11111(1111111,)
    I just enter a commas in the last line.


    so the code works wrong

    Code: [Select]

    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:
    Code: [Select]
    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.

    Offline Cubic

    • Single posting newcomer
    • *
    • Posts: 3
    Re: The 06 March 2011 build (7040) is out.
    « Reply #13 on: April 01, 2011, 02:51:10 pm »
    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:
    Code: [Select]
    void uninitGL(HWND hWnd);No tip:
    Code: [Select]
    uninitGL(hWnd);Tip:
    Code: [Select]
    uninitGL(,hWnd);Tip disappears again and doesn't reappear:
    Code: [Select]
    uninitGL();

    Offline oBFusCATed

    • Developer
    • Lives here!
    • *****
    • Posts: 12127
      • Travis build status
    Re: The 06 March 2011 build (7040) is out.
    « Reply #14 on: April 01, 2011, 04:27:00 pm »
    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!]