Lazarus 1.4 fixes branch

From Free Pascal wiki
Revision as of 17:41, 4 March 2015 by Zeljan (talk | contribs) (Submitted by developer / committer)

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

Notes

Warning-icon.png

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 RC3

Merge requests

Submitted by developer / committer

  • r48134 ShellCtrls: don't raise unspecified exceptions for errors specific to shellctrls. (Not Delphi compatible, but won't break anything, and ShellCtrls isn't very Delphi compatible.)
  • r48135 TShellTreeView: don't call SetObjectType in constructor. Part of Issue #0027591.
  • r48136 Gtk2: fixed av with modal forms. Issue #0026752 , Issue #0027577

Submitted by others

Merged revisions for 1.4 RC3

  • r47911 LCL, dbgrid, call SelectEditor manually in DatasetScrolled in case row index do not change, based on patch by Luca Olivetti. Issue #0027232
  • r47990 was undo, as it broke many other functions: codetools: method jumping, class completion: support having an overload that differ only in class keyword, issue 25130
  • r48041 Gtk2: fixed crash with TSplitter with resizestyle = rsNone. Issue #0027559
  • r48042 Qt: fixed crash with TSplitter with resizestyle = rsNone. Issue #0027559
  • r48047 LCL: TCustomSplitter, fixed bug with dangling pointer of rubber band.Issue #0027559
  • r48048 Themes: fixed memleak with dotted brush bitmap.Part of Issue #0027559
  • r48051 tests: fixed TestFilenameIsMatching on Windows, bug 27567
  • r48054 IDE: fixed resolving macros of external tools before switching back from IDE to project
  • r48056 TShellTreeView: fix not displaying files in connected ShellListView. Issue #0027571.
  • r48057 CairoCanvas: cairo is not supported on Win64, but the package needs to be compiled for printers4lazarus
  • r48060 IDE: fixed updating highlighters after changing project options, bug 27554
  • r48070 lazutils: TFileStreamUTF8: fixed string type
  • r48082 IDE: codetools error: scroll in Messages window
  • r48063 TShellTreeView: better fix not displaying files in connected ShellListView. Issue #0027571.
  • r48072 TShellTreeView: when a TShellListView is attached, handle selecting items that do not exist anymore on disk.
  • r48090 LCL: regenerated translations and updated Russian translation
  • r48093 Carbon: fixed range check error when setting column width in TListView. Patch by C Western. Issue #0027581
  • r48096 IDE: source editor command: fixed check focus in sourcenotebook or mainidebar, issue 27165
  • r48100 r48102 r48105: removed obsolete SrcPath and OtherUnitFiles
  • r48106 LHelp: i18n and initial Hungarian translation, based on patch by Péter Gábor, bug 27576; also added Russian translation
  • r48107 Translations: French translation update by Gilles Vasseur, bugs 27585, 27587
  • r48108 IDE: fixed minor typo, bug 27583
  • r48109 IDE: regenerated translations and updated Russian translation (also solves bug 27583)
  • r48114 sqldb: fixed license mentioning GPL-2 of unit registersqldb
  • r48120 LazFileUtils: fix error in TryCreateRelativePath (it failed e.g with Dest=C:\ and Source=C:\foo). Issue #0027601.
  • r48121 TShellTreeView: setpath: only check for hidden dirs in folders below the root. Fixes Issue #0027591.
  • r48125 TShellTreeView: setpath: adjust for the fact that some Windows versions report faHidden on drive roots (e.g. C:\). Second attempt to fix Issue #0027591.
  • r48128 IDE: project: if target file is set and apply conventions is off then always pas -o
  • r48132 IDE: FindProgram: resolve leading ~ under Unix

Fixes for 1.4 RC2

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
  • 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
  • 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.
  • r47970 IDE: Fix "All Options" parser for FPC 3.x output.
  • r47975 LHelp: Lazarus tries to save the old LHelp executable if compilation fails.
  • r47979 IDE: Take care of component palette page names that differ only by character case. Issue #27516.
  • r47982 LCL: Horizontal and Vertical Spacing for TCoolBar. Issue #27523
  • 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.
  • r47983, r47994 TI Grid: Fix and publish CheckboxForBoolean. Issue #27521.
  • r47971, r47995 IDE: Improve ComponentList window. Issues #27527, #27539
  • r48017 lcl: TWinControl: apply framewidth/height only to preferred clientarea, not to widget, bug 27538
  • r48024 LazReport: Polish translation update by Paweł Dmitruk, bug 27548. While at this, regenerated all other translations.
  • r48025 IDE: French translation update by Gilles Vasseur, bug 27546
  • r48013 Fixed Finnish translation.
  • r48014 IdeIntf: Use CheckBox as boolean editor also for Set elements.
  • r48022 Add Balazs Szekely to contributors list.
  • r48023 IdeIntf: Support restoring default value in Object Inspector for Set types. Issue #18734.
  • r48039 IDE: fpc msg parser, use console or system codepage depending on compiler version, bug 26623

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/lazarusid.it.po
  • 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)


Tests

  • 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 1.4.0.1 for RC1, 1.4.0.2 for RC2, 1.4.0.3 for final
    • lazarus/ide/version.inc 1.4RC1 for RC1, no spaces!
    • lazarus/lcl/lclversion.pas 1.4.0.1 for RC1, 1.4.0.2 for RC2, 1.4.0.3 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/lazarus.app/Contents/Info.plist v1.4 RC1
    • tools/install/linux/environmentoptions.xml same as version.inc
    • tools/install/win/environmentoptions.xml same as version.inc
    • tools/install/macos/environmentoptions.xml same as version.inc
    • 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.freepascal.org/FPC/svn/lazarus/branches/fixes_1_4 svn+ssh://svn.freepascal.org/FPC/svn/lazarus/tags/lazarus_1_4_RC1 -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