Code::Blocks June Month Update Summary

Biplab July 11th, 2007

We made a lot of improvements in Code::Blocks last month. As usual the list contains a large number of bug-fixes, new additions / improvements made to Code::Blocks.

Summary:

  • Scripted wizards’ layout problem has been fixed. This bug was affecting Linux users with wx-2.8.x runtime.
  • A large number of compilation warnings were fixed. Now C::B would compile with wx-2.6.x or wx-2.8.x without annoying warnings. These warnings were popping up due to the code changes in wxWidgets 2.8.x.
  • Fixed major memory leak.
  • Code-completion got a lot of improvements.
  • Code of Internationalization of C::B has been changed. Please visit the forum for more details.
  • wxSmith got some huge update.

Detailed changelog is as follows:

Core
—-
* Fixed: Wizard.GetProjectTitle() should now work properly according to new changes made in ProjectPathPanel.
* Fixed: [Bug #11214] No cursor on Fine-in-files when no file open
* Removed remaining wx26 artefacts from project files
* Fixed: A Number of Compilation Warnings in SDK.
* Fixed: [Bug #10527] Search in modified files (By applying [Patch #2028], Thanks to pauliusz)
* Applied: [Patch #2025] relative paths fix for findinfiles
* Fixed: [Bug #11148] Can’t compile using files on different drives
* Removed various “variable might be uninitialized” warnings from pluginmanager.cpp (lns 918-921), sqapi.cpp (ln 49), app.cpp (ln 496) and main.cpp (ln 661)
* Managed to get rid of various wx2.8 DEPRECATED warnings from the wxScintilla class.
* Removed wx2.8 deprecated warnings from wxFlatNotebook
* Fixed: Search string in Find/Find-in-files dialog Search history is duplicated.
* Fixed: On Windows, Object files are created in same directory where source files exist.
* Fixed: [Bug #11229] Sdk never issues cbEVT_EDITOR_DEACTIVATED (By applying [Patch #2034], Thanks pauliusz)
* Fixed: New search item not stored in Search history of Find/Find-in-files dialog.
* Applied: [Patch #2027] Patch for bug 10992
* Fixed: [Bug #11250] Scripting settings -> Main Security Settings Dialog
* Fixed: If an editor is closed & reopened during an active debugging session, last execution line was not highlighted.
* Fixed: [Bug #10881] Advanced Regexes not available on some versions of wx lib
* Fixed: [Bug #11007] Too small list windows in “New FLTK/wxWidgets project”
* Fixed: [Bug #11270] Missing focus on “Goto Function” dialog
* Fixed: [Bug #11284] –personality=ask does not work
* Applied an reworked fix of [Bug #9438] View menu check error
* Exposed ttNative target type to scripts (thx to Christoph for spotting this).
* Added “kernel-mode driver” wizard (windows only). Contributed by Timo Kreuzer.
* Added in project tree in the right click menus : Find File : allows you to find and focus in the tree on the file you specify
* Fixed: Possible crash while closing C::B.
* Fixed: [Bug #11334] configure help text incorrect
* Fixed: [Bug #11347] Configure tools then keyboard shortcuts is gone
* Added GetID() utility function
* Changed default TargetGenerationPolicy to platform_default in *Project Options->Build Target* dialog.
* Added: The following SDK functions.
- ProjectManager::IsLoadingProject()
- ProjectManager::IsLoadingWorkspace()
- ProjectManager::IsClosingProject()
- ProjectManager::IsClosingWorkspace()
* HUGE Memory leak (hundreds of megabytes) fixed!
* SDK: Added static ProjectManager::IsBusy() for plugins development.
* Fixed: DLL and import library name becomes same if Target Output name generation policy is set to User-specified. (Thanks Tim S.)
* Fixed: Crash while loading a Project/Workspace with a Unicode character in File Name/Path.
* Reduced startup time by only calling the cbEditor hooks after project has finished loading (thanks dmoore).
* SDK: Added new event type: EVT_WORKSPACE_LOADED. It’s triggered when the project or workspace finishes loading.
* Added Delete() member function to AbstractJob. Ownership of jobs is no longer in user hands.
* Added Loader class
* SDK: Fixed ProjectManager::m_IsClosingProject for the case of closing all projects.
* SDK: Updated EVT_WORKSPACE_LOADED to handle closing of projects. Now it gets triggered at the end of ANY workspace modification (loading workspace, opening project, closing, closing all projects, closing workspace). Very useful for plugins.
* The linker search paths are now also used as search paths for the dynamic linker automatically (LD_LIBRARY_PATH for unices, DYLD_LIBRARY_PATH for Mac and PATH for windows).
* Replace $PATH with %PATH% for windows in dynamic linker search paths.
* Added $WORKDIR variable substitution in terminal command line (non-windows platforms only).
* SDK (ProjectManager): Fixed (yes, for real now) annoying random crash on startup.
* SDK (ProjectManager): Renamed EVT_WORKSPACE_LOADED to EVT_WORKSPACE_CHANGED to reflect more clearly its behavior
* Fixed: Couldn’t compile on MSW without PCH (applied patch #1992 – thanks stahta01)
* Applied: [Patch #2081] Project properties -> line counter fix
* Internationalisation works

Compiler
——–
* Massive (but safe) macro-to-template update, mainly for compiler plugins
* Fixed annoying warning messages for access to registry keys that are not available
* Rewritten portion of OpenWatcom linker command generation code. Now the order of options will be maintained.
* Added RegExp for auto-import info from linker of GCC based compilers
* Added new compiler output parsing level: cltInfo (fixes info’s treated as warnings).
* Added new parsing line “In function: ” for GNU Compiler.
* Compiler Settings now at version 0.0.2.
* Fixed nasty crash in OW compiler (command generator)

Code-Completion
—————
* Added support for moving to the previous/next function using CTRL+PgUp/PgDn (just like in Visual Studio)
* Fixed: [Bug #11205] Code Completion toolbar – not loading functions
* Now Code-Completion plugin would not parse editor files during Project Loading/Closing or App closing.
* Fixed tiny memory leak in CodeCompletion plugin
* CodeCompletion’s function toolbar speedup. Now it only parses each file only once.
* Fixed possibly huge memory leak in code-completion (patch #2075, thanks dmoore).
* Fixed bug [ Bug #11443 ] Insert all class methods without implementation fails const

Scripted Wizard
—————
* Some code clean up
* Fixed: DLL linking issue with Borland compilers.
* DLL Wizard:
- Fixed: Generated DLL not exporting function(s).
- Added: Borland, MSVC, OpenWatcom, Digital Mars C compiler support.
- Added: Wizard will now create a header to use exported function(s).
* Scripted wizard pages are now resizable. If you can’t see a control, please resize the page.
* Fixed: Scripted wizard pages’ minimal size is not computed properly (Thanks wxLearner).
* Added wxSmith files for scripted wizard’s embedded panels (i.e. those panels can now be edited again using wxSmith).
* Also fixed some wx2.8 layout issues with the wizards.
* DLL Wizard:
- Now wizard will setup post-build commands (for VC 8.0) to embed manifest in a dll.
- DLL will now be generated in respective target output directories.
* Fixed: wxWidgets wizard source generation bug.
* wxWidgets Wizard:
- Now Empty project creation and adding pch support options are available separately on Linux.
- User selections will now be stored on Linux.
* Fixed some issues for non-pch project using wxSmith generated by wizard

To-Do
—–
* TODO list: Applied patch #2082 to fix bug #10783 (ToDo list too big)

Contrib Plugins
—————

Astyle
——
* Bugfix: Crash when file to be formatted had lines with more than 2047 characters.

CodeSnippets
————
* Prepend CodeBlocks –personality= argument to codesnippets.ini
* Use text, up to first ‘\r’ or ‘\n’ to determine if snippet is file link. This Allows notes to accompany file link.
* Added MIME open support using Alt-double-click & “Open File” context menu
* Refactored EditSnippet and OpenFileLink
* Added “Open Url” support
* ReInstated ToolTips for wx284 using first line of snippet
* Fixed: Index might not be saved when changing category label

CodeStat
——–
* wxTextFile::Open() error bugfix

Dragscroll
———-
* Prepend –personality arg to .ini filename
* Add non-pch header
* Reduce minimum Unix Context menu sentry delay
* Clean up configuration panel

Devpak
——
* Fixed minor memory leak

Envvars
——-
* Added support for envvars per project
* Added support for recursion and C::B macro expansion
* Made debug output to debug console optional
* Fixed C::B freeze due to unresolvable recursion (limitation -but not a bug!- of MacrosManager)

KeyBinder
———
* Re-enabled dynamic merge eliminating consideration of duplicates
* Prepend –personality arg to cbKeybinder.ini filename
* Use full menu paths as key value in external storage
* Resolve unmatched menu id’s with full menu paths
* Add Tool menu shortcut preservation via cbEVT_MENUBAR_CREATE_BEGIN/END events

Libfinder
———
* Updated to new wxSmith

wxSmith
——-
* Fixed bug in long string properties (multiline editor was not shown)
* Fixed wxSmith extensions in RegExTestbed plugin
* Applied patch (made by Biplab) to make wxCustomButton more wx2.8 compatible
* Added missing EVT_INIT_DIALOG into wxDialog
* When saving string into xml files, & is now stored as & – this prevents a little bit incompatibilities between XRC file versions
* Restored wxSmith bindings in main C::B project
* Internal update of resources
* Unsupported items (in XRC-based resources) are now removed from palette (they were only disabled before)
* Added few NULL-pointer checks into wxsDrawingPanel to improve stability
* Updated refreshing system in editor
* Added “Extra code” property based on patch by #2029 by Raph, some small bug fixed by the way
* Applied patch #2032 by Raph: wxSmith: prevent menueditor crash
* Applied patch #2031 by raph – added missing icons in art provider, combo boxes in image editor are now sorted
* Applied patch #2030 by raph – added missing icon property for menus
* Fixed problems with generated code using wxFontEnumerator (it was incompatible with wx 2.8)
* Applied patch #1994 by stahta01: Enable wxSmith build using wxMSW without PCH
* Removed flickering of editor when there’s some dialog opened in C::B
* Fixed updating position when using drag&drop in editor inside items without sizers
* Another anti-artifact fix (prevent fetching screen content when preview is being shown/hidden)
* Applied patches #2041 (wxSmith: wxsItemResData doesn’t store tool children ids fix) and #2042 (wxSmith: “Resource already exists”) made by Raph:
* wxHtmlWindow tries to load html page when it’s shown in preview
* Small update to wxsDrawingWindow
* Update to code generating new event handler – it now shows new handler property inside editor
* Fixed bug #10980: Reproducible crash with Cut/Paste
* Fixed bug #10680: Pasting controls ignores insertion point
* Fixed: [Bug #11188] Dialogs Incorrectly Assign wxWS_EX_VALIDATE_RECURSIVELY
* Yield delay method is now selected for Mac when fetching editor content, added Refresh before Update.
* Fixed sizing for childless sizers (static box in wxStaticBox sizer did not expand)
* Updated xml loading routines so they support unicode paths now
* Massive NULL->0 udpate (in both generated code and wxSmith’s code)
* Updated function operating on files to use Encoding / BOM.
* Applied fix that will probably prevent some rare crashes when closing editor
* Fixed many issues with wxWidgets wizard when project name was not build from alphanumeric characters only
* Applied some advises by killerbot (http://forums.codeblocks.org/index.php/topic,6235.msg47719.html#msg47719) related to wxWidgets wizard and wxSmith-generated code
* Fixed bug which caused project name to be empty in resource tree after creating it with wizard
* Added PCH support for new resources
* Switched naming of new sources / wxs files to CamelCase
* Added <wx/string.h> to list of includes added by default
* Small update to wizard-generated files (no need to guard #include “wx_pch.h”)
* Automatically switch to Resources tab when resource is opened
* Fix bug in splitter between resource tree and property browser – it’s now properly centered in case it’s position is not stored in configuration
* Fixed synchronization issues between editor and resource tree selection
* Fixed: [Bug #11454] wxDatePickerCtrl: wxDataEvent instead of wxDateEvent
* Added few missing icons and fixed small bug in property editor (it didn’t clear events page after closing editor)
* Fixed bug #11274 – Double click item in Resources tree, 2 editor tabs opened
* Synced style lists with XRC sources (it may add extra styles for most components but at least it will prevent missing ones)

Have a nice experience with the newer Nightlies. :)

Trackback URI | Comments RSS

Leave a Reply