Lazarus 1.4 fixes branch

From Free Pascal wiki
Jump to navigationJump to search

This page contains the revisions to be merged from trunk to the Lazarus 1.4 fixes branch.

This are only fixes made after the branch was created. For other fixes made since the previous release (1.2) see SVN and Lazarus_1.2_fixes_branch

Release notes can be found here



Warning: FPC 2.6.4 has a bug when assigning data to TStringfield types (e.g. VARCHAR) of larger than 8192 bytes. Please see Issue #26068 for a fix you can apply to your projects.

Fixes for 1.4 RC2

Merge requests

Submitted by developer / committer

  • r47881 TShellTreeView: SetPath: take value of ObjectTypes into account.
  • r47889 Gtk2: new function Gtk2_PixBufFromBitmap(), simplified usage. patch by theo. Issue #27477
  • r47906 Qt: fixed TListView.OnData when we use TQtListWidget (vsList).
  • r47907 Qt: fixed selection behaviour of TListView.vsList when OwnerData = true.
  • r47923 Qt: fixed getting displaysize of TListView.Item drIcon. part of Issue #27509
  • r47939 Qt: do not send resize event on restore of minimized mdichild form. Issue #27518
  • r47941 LCL: TCustomListView: use drLabel instead of drBounds for listview editor bounds. Issue #27509
  • r47942 Qt: fixed TListItem DisplayRect for drLabel & drIcon. part of Issue #27509
  • r47944 Gtk2: fixed TListView displayRect for drLabel.Issue #27509
  • r47946 Qt: return correct displayrect(drLabel, drIcon) for TListView.vsList. Issue #27509
  • r47959 LHelp: Speedup communication between Lazarus and LHelp and speedup the chm search. LHelp is rebuilt if BeginUpdate is not supported.
  • r47975 LHelp: Lazarus tries to save the old LHelp executable if compilation fails.
  • r47987 Help/LHelp: Don't scan directories in search path recursively to look for chm files
  • r47992 TCheckListBox: when user presses spacebar: if ItemIndex = -1: set it to 0 and fire OnClick; fire OnClickCheck. Issue #0024695.
  • r47993 TCheckListBox: fix possible crash introduced in r47992.

Submitted by others

Merged revisions for 1.4 RC2

  • r47793 LCL: TShellCtrl: fixed slow checking for duplicates, bug 27473
  • r47782 TDateEdit: fix GetDate when DateOrder is doNone and Text has literal day- or monthnames. Issue Issue #0027454.
  • r47794 TDateEdit: Remove method DateFormatChanged: it exposes a private field that is only meant for internal use, and should not be changed by user.
  • r47790 Qt: fixed segfault when setting image list on TListView with OwnerData:=True. part of (Issue #0027469)
  • r47804 Qt: dramatically improved OnData event of TListView. (Issue #0027475)
  • r47805 Gtk2: fixed drawing images when TListView.OwnerData := true. (Issue #0027469)
  • r47812, r47817, r47818 IDE: append -dWIN9XPLATFORM when building IDE on win9x for win32
  • r47814 LCL: added a listener for CM_CURSORCHANGED in TGraphicControl (Issue #0014257)
  • r47841 LCL: fix to *r47814 for the control being in a scrolled window.
  • r47815 TShellTreeView: if Selected is a file then set the associated ShellListView.Root to the parentfolder (instead of to the file itself).
  • r47820 Qt: fixed regression with design time forms from r47674.
  • r47827 Converter: Fix converting DFM form files. Last char was left out. Issue #27446.
  • r47839 LCL: regenerated Russian translation
  • r47840 LCL: French translation update by Gilles Vasseur, bug 27478
  • r47842 LCL, ShellTreeView: improved i18n, patch by Péter Gábor with some changes, bug 27474; regenerated translations and updated Russian translationLCL: regenerated Russian translation
  • r47850 IdeIntf: Show Meta- menuitem shortcuts in Object Inspector only for Mac. Issue #27456
  • r47861 IDE: compare compiled file: ignore spaces between options
  • r47863 IDE: checking Makefile.compiled: ignore -Cg on Linux
  • r47866 TAChart: Less compilation hints and notes Issue #274884
  • r47869 LCL: gtk2: GetPreferredSize: subtract client area
  • r47871 IDE: project options: version: disable unneeded AutoSize
  • r47873 LCL: TScrollingWincontrol: GetLogicalClientRect: independent of AutoScroll to avoid cycle, GetPreferredSize: independent of AutoScroll, added extra checks if LCL clientrect is not in sync with widgetset, improved debugging preferredsize
  • r47875 LCL: TCustomGrid: disable default preferred size, because grid moves controls and change scrollbars, bug 27095
  • r47879 lazutils: fixed compilation on win64
  • r47877 IDE: Workaround for a missing DirectoryEdit event in Carbon. Issue #23063
  • r47886 LCL: win32: do not start timer when application terminated
  • r47887 IDE: editor color option: fixed layout, bug 27434
  • r47890 lazutf8: GetFormatSettingsUTF8: map common multibyte chars to ASCII
  • r47895 LCL: TTreeView: mousedown: fixed select on click on state icon
  • r47897 LCL: gtk2: GetGTKDefaultWidgetSize: ignore client area with child controls
  • r47898 IDE: designer: initialize FIsNonVisualComponent, bug 27502
  • r47900 IDE: designer: resize multiple controls: round mathematically instead of always down, needed for increase size by 1
  • r47905 IDE: Change default mouse settings for left gutter clicks
  • r47908 lcl: TCustomListView: show editor on dblclick via QueueAsyncCalls, bug 27505
  • r47913 LCL: carbon: do not use GetBestControlRect if there are child controls
  • r47920 IDE: auto create application bundle for IDE on darwin for all widgetsets
  • r47922 IDE: build laz: when clean option is on, clean up fallback directories too
  • r47924 LCL: MessageBox: default parameter Flags = MB_OK, bug 27510
  • r47928 Package editor: Prevent collapsing all tree nodes when changing file type. Issue #26188
  • r47930 codetools: fixed directive WriteableConst, bug 27512
  • r47932 codetools: identifier completion: updated list of directives
  • r47948 IDE: lpi: General/Icon/Value: use same default in read and write
  • r47950 IDE: messages: fixed showing commandline
  • r47952 IDE: messages: about: use wordwrap
  • r47954 IDE: messages: linker errors: fixed finding them even without info message (9015) Linking
  • r47956 IDE: external tools: added TAbstractExternalTool.ReadStdOutBeforeErr, changed default to read stderr before out, needed by FPC linker errors
  • r47958 IDE: always pass -vi to FPC, needed to resolve file names without path
  • r47960 IDE: compiler options: verbosity: one column
  • r47964 IDE: compiler options: verbosity: removed -ve, IDE needs this to jump to errors
  • r47965 IDE: compiler options: removed obsolete option show summary, summary are now always shown in header
  • r47973 IDE: added TargetCPU a64
  • r47990 codetools: method jumping, class completion: support having an overload that differ only in class keyword, issue 25130

Fixes for 1.4 RC1

Merged revisions for 1.4 RC1

  • r47339 Qt: fixed LM_CONTEXTMENU event in case of TQtCustomControl, when eg. form.PopupMenu is assigned, and control.PopupMenu=nil.
  • r47340 IDE Fix possible crash in TInitialSetupDialog.Init
  • r47345 IDE: Updated Italian translation languages/
  • r47343 TAChart: Modify TBoxAndWhiskerSeries.AddXY to use correct YCount value.
  • r47346 SynEdit: TSynPluginSyncroEdit: Add a "CaseSensitive" property (Issue #0027258)
  • r47348 TAChart: Improvements of Box-Whisker series (no crash on NaN, new prop WidthStyle, respect data point color)
  • r47352 IDE: Assign event handler in better place, designer will be focused when component is selected in palette.
  • r47353 Comp. Education: fix compilation after component palette changes.
  • r47354 IDE: build file: clean messages
  • r47356 IDE: fixed typo
  • r47358 IDE: corrected message after r47319
  • r47359 IDE: regenerated translations; updated Russian translation
  • r47360, r47369 Translations: committed regenerated files
  • r47367 TAChart: Avoid TBubbleSeries crashing if X/Y/R is NaN
  • r47375 lcl: TWinControl.InsertControl fixed position in Controls, widgetsets do not support that yet, issue 25405
  • r47374 Qt: fixed infinite loop with when double click item inside QTreeWidget (TListView.vsReport).(Issue #0027298)
  • r47379 IDE: Messages window: fixed autoscroll to new message
  • r47393 IDE: fix button anchors in UnusedUnitsDialog.
  • r47394 GDBMI debugger: updated Russian translation
  • r47399 IDE: Hid "Cancel Scanning" button in "Compare Files" dialog. It is always disabled and its functionality was never implemented.
  • r47401 OI: Update Boolean value from a Checkbox also when the control is changed but property remains the same.
  • r47402 TAChart: Fix font color/style/rotation in TADrawerSVG
  • r47403 H2Pas: fixed typos, patch by Péter Gábor, bug 27316; also regenerated translations and updated Russian translation.
  • r47404 Debugger: minor message improvements
  • r47405 Debugger: regenerated translations; updated Russian translation
  • r47420 translations: German: updates from Swen Heinig
  • r47421 IDE: options: identifier completion: dividers for groups
  • r47423 IDE: resourcestring
  • r47426 IDE: project options: FPC resources above old lrs resources
  • r47428 translations: German: updates from Swen Heinig
  • r47411 EditButton: implement property ButtonCursor (Issue #0027277).
  • r47412 EditButton: publish some more properties in TCustomEditButton derived components (for consistency).
  • r47413 Qt: proper paint of selected item in TListView.OnAdvancedDrawItem. (Issue #0027315)
  • r47414 Qt: added cdPostPaint for TListView when ViewStyle <> vsReport. part of (Issue #0027315)
  • r47415 Qt: added QtAlignVCenter, so text is properly aligned in TListItem. (Issue #0027043)
  • r47416 Qt: fixed paint of empty items when we use OnCustomDraw or OnAdvancedDraw in TListView.
  • r47418 Gtk2: fixed item height. (Issue #0027043)
  • r47419 EditButton: replace property ButtonAlign: TButtonAlign with Layout: TLeftRight.
  • r47435 IDE, Identifier Completion dialog: allow some captions to be translated independently
  • r47436 IDE: regenerated translations; updated Russian translation
  • r47410 OI: show '(Mixed)' for Checkbox caption when multiselect and values are mixed.
  • r47441 Object Inspector: i18nalize '(Mixed)' value
  • r47474 LCL: Fix a grammar error in a resource string.
  • r47475 Improvements for Finnish translation.
  • r47476 LCL: regenerated translations; updated Russian translation
  • r47479 Fix errors in Finnish translation.
  • r47481 LCL: Revert a workaround for FPC bug that causes Arithmetic overflow in TControlbar. Fixed in FPC trunk. Issue #27167.
  • r47482 IDE: regenerated Finnish translation
  • r47484 LazReport: i18n-ed editor options and function editor, based on patch by Péter Gábor, bugs 27339, 27340; regenerated translations and updated Russian translation.
  • r47485 LazReport: fixed typo in function description, patch by Péter Gábor, bug 27338; regenerated translations and updated Russian translation.
  • r47490 IDE: Improve TPathEditorButton class, handle Templates better.
  • r47491 IDE: Refactor TPathEditorButton more. Copy values between dialog and edit here instead of clients' code.
  • r47492 IDE: in Compiler_path_options, turn method CheckSearchPath into a function. Harmonize.
  • r47493 IDE: Let TPathEditorButton show the list of paths in edit control's hint.
  • r47494 IDE: Fix a layout error in TPathEditorDialog where TemplateGroupBox went under ButtonPanel.
  • r47499 Fix some Finnish translations.
  • r47500 LazReport: correctly clear combobox in editor options and fix typo in class method name, based on patch by Péter Gábor, bugs 27347
  • r47524 IDE: messages: fixed scanning filenames with brackets
  • r47530 lcl: grids: docs, issue 27325, from Simon Ameis
  • r47532 ideintf: resourcestring, issue 27317, from Gábor
  • r47542 LCL: TCustomSpeedButton: do not store Glyph in lfm when Action provides the Glyph, issue 27357, from BBaz
  • r47521 TAChart: Move declaration of TDrawEvent event out of the context of TChart and rename it to TChartDrawEvent to fix event OnAfterDraw
  • r47523 LCL: TCustomBitBtn: do not store Glyph when set by Action, issue 27358, from BBaz
  • r47553 IDEIntf: updated Russian translation
  • r47554 Translations: Hungarian translation update by Péter Gábor, bug 27365
  • r47556 * Phillipe Levi mentioned seeing "Stringrid" on the ml, a grep turned up two occurances -> fixed.
  • r47557 LCL: Prevent calling TListView OnMouseUp twice on Windows 7. Issue #27189, patch from Michl.
  • r47563 IDE: drop files: invalidate file state cache
  • r47562 Revert r47557 "LCL: Prevent calling TListView OnMouseUp twice on Windows 7. Issue #27189."
  • r47578 Qt: fixed themed drawing of disabled combobox.Issue #0027381
  • r47583 ColorListBox: use same logic for Style as TColorBox. Issue Issue #0027397.
  • r47590 IDE: added parameters --verbose, --quiet, when building IDE or project and when quit, give message when already building
  • r47616 IDE: package links dialog: fixed delete after sort
  • r47618 IDE: package links dialog: fixed sort after refilling grid
  • r47623 codetools: DateToCfgStr extended for time
  • r47625 printers: fixed combining date+time
  • r47627 turbopower_ipro: fixed combining date+time
  • r47629 lazsvnpkg: fixed combining date+time
  • r47631 examples: fixed combining date+time
  • r47633 tests: fixed combining date+time
  • r47635 LCL: tiff: fixed combining date+time
  • r47637 datetimectrls: fixed decodetime
  • r47639 codetools: fixed decodetime
  • r47641 fixed wrong Frac/Trunc in DecodeDate/Time
  • r47645 lazutils: TAvgLvlTree.FindLeftMostKey/FindRightMostKey fixed
  • r47647 IDE: package links: remove old links to same lpk files, fixed using the recently used lpk of two packages with same name
  • r47677 LCL: carbon: TMemo.Lines.Assign: fixed empty strings at start, bug 27438
  • r47679 IDE: invalidate file cache before building, after save
  • r47585 Components, sqlite: i18n and layout improvement, patch by Péter Gábor, bug 27390 with string corrections. Also added Russian translation.
  • r47602 Translation example: Fix compilation, DefaultTranslator -> LCLTranslator.
  • r47606 IPro, TIpHtmlPreview: make printers print always. Issue #27409
  • r47652 IPro, TIpHtmlPanel: Support color printers. Issue #27420.
  • r47650 ShellTreeView: when fObjectTypes = [otFolders] only show expandsign if node has subdirs. Modified patch from theo. Issue #0027415.
  • r47686 ShellTreeView: change the logic of showing an expandsign so that the same logic of r47650 is applied wether or not [otHidden] is specified.
  • r47687 ShellTreeView: comment out some redundant code.
  • r47690 ShellTreeView: respect the designtime settings of ObjectTypes; add DbgS() for TObjectTypes
  • r47651 LCL/interfaces/qt: remove wrong offsets from Ellipse and RadialPie
  • r47662 fpvectorial: Add font name, color and styles, text rotation, text anchors to svgvectorialwriter. Issue #0027321
  • r47663 TAChart: Improved output of fpvectorial writer (related to Issue #0027321)
  • r47700 LCL: French translation update by gilles58, bug 27423
  • r47649 translations: German: updates from Swen Heinig
  • r47672 GDBMI debugger, check result of SetFileName. Issue 0027431 po files
  • r47689 LazDebuggerGdbmi: updated Russian translation
  • r47706 Components, sqlite: Hungarian translation by Péter Gábor
  • r47721 Docs: added Gilles Vasseur to contributors list
  • r47584 IDE: regenerated translations and updated Russian translation
  • r47691 IDE: regenerated translations and updated Russian translation
  • r47600 Qt: added define TQTMESSAGEBOXUSEPARENT to fix showing dialogs behind application on MacOSX.
  • r47673 Qt: improved TQtGroupBox, added ability to show/hide checkbox in title of TQtGroupBox, needed by 3rd party components.
  • r47674 Qt: properly handle designed forms. Now IDE minimizing also minimize designed forms.
  • r47730 Qt: implemented TPreviewFileDialog.
  • r47731 Qt: check if GlobalCaret is assigned before setting respond to focus, or using getter. fixes crash.
  • r47732 Qt: qtwsdialogs: check if directory or filename exists in TOpenDialog.
  • r47733 Qt: change to mswin path delimiters if qt returned slash.Try to find $HOME if it's added as InitialDir.
  • r47734 Qt: make ALT modifier work under MacOSX. (Issue #0027411)
  • r47742 Qt: fixed bug when setting filename of TSaveDialog.
  • r47743 ShellTreeView: refresh the tree when ObjectTypes is changed. Based upon a patch by theo.
  • r47744 Qt: finally fixed AppMinimize for designed forms.
  • r47747 Qt: unset elide mode on tabs under macosx because we have unreadable tabs when control contains a lot of tabs.

Older versions

Roadmap to 1.4

The release process will consist of the following steps.

  • Creation of the SVN 1.4 fixes branch (Done 11 Jan 2015)
  • Release of 1.4 RC 1

This will be the first Release Candidate. We would like to urge all users to test this version. The testing period is scheduled to last 2 weeks.

  • Release of 1.4 RC 2

The testing period is scheduled to last 2 weeks.

  • Maybe 1.4 RC 3

An RC 3 may be scheduled, if necessary.

  • Release of Lazarus 1.4 (between March and April 2015)


  • Menu item exists
  • Clear pcp directory and start IDE, a new project application with a form should be visible
  • Double click on form - a FormCreate event should be created
  • Check View / IDE internals / What needs building - no package should need building, only the project
  • Restart the IDE - there should be no warning about upgrading
  • Install the package cody, after restart the component palette should show the component TCodyTreeView

Tagging release

  • Set version to 1.4 in fixes_1_4 branch
    • open lazarus/lazarus.lpi in the IDE and change the version numbers in the project options dialog for RC1, for RC2, for final
    • lazarus/ide/ 1.4RC1 for RC1, no spaces!
    • lazarus/lcl/lclversion.pas for RC1, for RC2, for final
    • lclbase.lpk
    • lcl.lpk
    • lazarus/debian/changelog 1.4.0-1 for RC1, 1.4.0-2 for RC2, 1.4.0-3 for final
    • lazarus/ v1.4 RC1
    • tools/install/linux/environmentoptions.xml same as
    • tools/install/win/environmentoptions.xml same as
    • tools/install/macos/environmentoptions.xml same as
    • check if lpl files needs updating by running ./tools/lplupdate -c
    • run ./tools/updatemakefiles
  • Tag fixes_1_4 branch to tags/release_1_4_RC1
svn copy svn+ssh:// svn+ssh:// -m 'tagged 1.4RC1 as tags/lazarus_1_4_RC1'
  • Set version to next version in svn

How to merge

See Lazarus_1.0_fixes_branch#How_to_merge

Other branches