Lazarus 1.8 fixes branch

From Free Pascal wiki
Revision as of 09:46, 29 April 2017 by Michl (talk | contribs) (Merge requests)

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

This are only fixes made after the branch was created. For other fixes made since the previous release (1.6) see SVN and Lazarus 1.6 fixes branch

Release notes can be found here

Fixes for 1.8.0 RC1

Merge requests

Submitted by developer / committer and waiting for testing (do not commit yet)

  • r54697 Gtk2: fixed triggering selection change in TCheckListBox. Issue #0031697

Submitted by developer / committer

  • r54766 LCL: TTrayIcon: Win32: Fixed SIGSEGV after closing app. Issue #0029739

Submitted by others

Merged revisions for 1.8.0

  • r54585 Qt,Qt5: do not process events after modal form is hidden, otherwise we can have av if formclose contain caFree.
  • r54586 Qt: simplified code.
  • r54588 examples: fixed testall.lpi
  • r54589 Qt,Qt5: do not eat cpu with gtk theme. Issue #31191
  • r54593 Qt,Qt5: do not disable DT_WORDBREAK if we are using DT_CALCRECT, otherwise we'll have wrong calculation in combination with DT_NOCLIP.
  • r54594 LazControls: Apply filter also at start in ListFilterEdit and ListviewFilterEdit. Issue #31632.
  • r54596 translations: German: updates from Swen Heinig
  • r54597 LazControls: Apply filter also at start in TreeFilterEdit. Issue #31632.
  • r54599 Qt,Qt5: fixed potential memleak with TQtWSDragImageList when bitmap handle is null.
  • r54600 LCL-Win32: Fix range error in ComboBoxWindowProc. Use SetWindowLong from LCLIntf. Issue #31635.
  • r54618 Lazreport: fix column number Issue #31544.
  • r54619 LazReport: fix export from LazReport to pdf (fclpdf), from Aleksey Lagunov Issue #31659
  • r54624 LCL: TGroupBox: Win32: Fix for doubled caption. Issue #31670.
  • r54627, r54656, r54657 LCL: TSpinEdit: Win32: Fixed Z-order problem with TSpinEdit. Issue #27862
  • r54631 IDE: useunit dialog: fixed adding unit to program uses section
  • r54632 codetools: fixed predefined identifiers delphi, fpc, pas2js
  • r54633 GTK2, GTK3: In DrawText support prefixed UTF-8 codepoints. Issue #31674.
  • r54638 codetools: delphi predefined identifiers: nativeint, bools
  • r54639 codetools: referenceto: fixed endpos
  • r54641 codetools: keywordfunclists: use fast property Count
  • r54643 codetools: ctnReferencTo for typeinfo, code hints and type check
  • r54648 IDE images: new images menu_view_components, menu_view_inspector, menu_view_messages, menu_view_search_results. Designed by FTurtle, Issue #31625
  • r54650 codetools: fixed resolving function result, simplified code
  • r54651 DateTimePicker - OnChange fires twice Issue #0031679
  • r54654 Qt, Qt5: fixed av because parent can be nil. Issue #31684
  • r54655 Gtk3: removed gdk_pixbuf_gettext which does not exist in gdk-pixbuf. Issue #31677
  • r54660 codetools: added nativeint, nativeuint for pas2js
  • r54666 codetools: added unique ids for bug reports
  • r54667 codetools: fixed recognizing str
  • r54670 codetools: fixed code completion for v in constset
  • r54672 codetools: debug gather unit names
  • r54675 codetools: fixed error msg
  • r54677 IDE: do not check package source directory of a manual package
  • r54680 fpcunit: consolerunner: use lazutils instead of lcl
  • r54683 codetools: linkscanner: unique ids for errors
  • r54685 codetools: sourcechangecache and directiveparser: unique ids for errors
  • r54687 codetools: fixed id on unknown exception
  • r54689 codetools: define template directory: fixed skipping empty directory
  • r54691 cody: identifier dictionary: use identifier: fixed jumping to syntax error
  • r54693 codetools: code completion: add proc for procvar: fixed reference-to
  • r54694 Qt, Qt5: fixed selection with TListView. Issue #0031595
  • r54696 Qt, Qt5: fixed triggering of selection change in TCheckListBox. Issue #0031697
  • r54698 TAChart: Change default value of TFitSeries.Pointer.Visible to false for backward-compatibility
  • r54707 Qt, Qt5: trigger OnSelectionChanged for first click. Part of Issue #0031697
  • r54710 Qt, Qt5: fixed wrong key release event after pressing ENTER in combobox dropdown list. Issue #0031574
  • r54713 codetools: fixed modeswitch name blocks to cblocks
  • r54715 codetools: added $mode ExtPas, load hidden units MacPas, ISO7185, ExtPas, BlockRTL
  • r54718 IDE: fixed compilation, bug 31711
  • r54720 codetools: parse multi dim arrays, patch from Paul W, issue 25045
  • r54724 IDE: identifier completion: do not auto complete single possibility when invoked by timer
  • r54727 codetools: fixed compilation with fpc 2.6.4
  • r54730 codetools: fixed parsing array
  • r54738 codetools: fixed find declaration of dotted unit name identifiers, improved identifier completion for namespaces
  • r54741 codetools: identifier completion: list each namespace only once
  • r54746 codetools: search units with namespaces
  • r54748 IDE: sourceeditor completion box: namespaces
  • r54743 Qt5: added QBuffer class, needed for saving and loading streams where QIODevice is needed. eg QImage
  • r54722 lcl: forms: don't check for old value in UpdateShowInTaskBar. Issue #31248, patch by Michl
  • r54732 lcl: grids: fix endless loop "paint->update scrollbars->paint". Issue #31518.
  • r54733 lcl: grids: don't invalidate grid when changing bounds if not necessary. Issue #31518.
  • r54765 LCL-GTK2: A workaround to prevent a complete freeze with menu separators. Issue #31138.
  • r54771 IDE: regenerated translations and updated Russian translation
  • r54772 IDE: Spanish translation update by Alonso Cárdenas Márquez, bug 31731

Roadmap to 1.8.0

The release process will consist of the following steps.

  • Creation of the SVN 1.8 fixes branch. (ToDo 8 Apr 2017)

This is the start of the stabilization process before a new Lazarus release.

  • Release of 1.8.0 RC 1 (ToDo)

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.8.0 RC 2 (ToDo)

The testing period is scheduled to last 2 weeks.

  • Release of 1.8.0 RC 3 (maybe)

The testing period is scheduled to last 2 weeks.

  • Release of Lazarus 1.8 (ToDo)

Users can download the new stable version.


  • 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 in fixes_1_8 branch
    • open lazarus/lazarus.lpi in the IDE and change the version numbers in the project options dialog for RC1, for RC2, for RC3, for final
    • lazarus/ide/ 1.8.0RC1 for RC1, no spaces! (1.8.0 for final release)
    • lazarus/lcl/lclversion.pas for RC1, for RC2, ... for final
    • lclbase.lpk
    • lcl.lpk
    • lazarus/debian/changelog 1.8.0-1 for RC1, 1.8.0-2 for RC2, ... 1.8.0-4 for final
    • lazarus/
      • CFBundleShortVersionString "1.8.0"
      • CFBundleVersion 1 for RC1, 2 for RC2, 3 for RC3, 4 for final release
    • 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_8 branch to tags/release_1_8_0_RC1 (or tags/lazarus_1_8_0 for final release)
svn copy svn+ssh:// svn+ssh:// -m 'tagged 1.8.0RC1 as tags/lazarus_1_8_0_RC1'
  • Set version to next version in svn

How to merge

See Lazarus_1.0_fixes_branch#How_to_merge

Other branches