Difference between revisions of "Lazarus 2.2 fixes branch"

From Lazarus wiki
Jump to navigationJump to search
Line 45: Line 45:
==== Submitted by developer / committer, tested, waiting to be merged ====
==== Submitted by developer / committer, tested, waiting to be merged ====
* 622a7619d0 Docs: LCL/lcltype. Adds missing topics. Removes topics no longer in source. Updates topic content.
* 9057aece Qt,Qt5: fixed system mouse lock when TCustomControl is double clicked. {{LazIssue|27384}}
* 7f0e0cd0 Qt,Qt5: fixed broken TTrayIcon popup menu after recreating popup menu handle. {{LazIssue|38849}}
=== Processed Merge requests for 2.2.0RC2 ===
=== Processed Merge requests for 2.2.0RC2 ===
Line 178: Line 175:
*99e4bd2515  LCL-GTK2: Use a new SysTray API by default. The old one fails to work in new Ubuntu versions + derivatives.
*99e4bd2515  LCL-GTK2: Use a new SysTray API by default. The old one fails to work in new Ubuntu versions + derivatives.
*14304e8180  LCL: Fix typos in virtual key constants. {{LazIssue|39434}}
*14304e8180  LCL: Fix typos in virtual key constants. {{LazIssue|39434}}
* 622a7619d0 Docs: LCL/lcltype. Adds missing topics. Removes topics no longer in source. Updates topic content.
* 9057aece Qt,Qt5: fixed system mouse lock when TCustomControl is double clicked. {{LazIssue|27384}}
* 7f0e0cd0 Qt,Qt5: fixed broken TTrayIcon popup menu after recreating popup menu handle. {{LazIssue|38849}}
== Fixes for 2.2.0RC1 (merged) ==
== Fixes for 2.2.0RC1 (merged) ==

Revision as of 22:42, 22 October 2021


Note: This page is used internally by the Lazarus team.
The data in this page does not represent the full extent of what is included in the fixes branch/versions


For a list of what was merged to the Fixes branch please visit:

Open issues listed on the linked milestones are loosely targeted for the indicated version. Their final inclusion depends on the available man-power and/or contributions. Release may or may not be deferred for any non resolved issue.



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

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

Release notes can be found here

Internal Merge requests for 2.2.0

Open Merge requests

Submitted by others / waiting for sign off by team member

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

Merge conflicts

  • 5e0cc9032a Documentation updates. — depends on d5fe15d448b3b84183c0cf5c399e184ac6aa7091 (Docs: LCL. Updates topics in ShellCtrls.xml.)
  • 06a60b60b6 Documentation updates. — depends on 840389dad3b79d180297422d7c208950f4ecdc4e.
  • 70452d48d7 Docs: LCL/dialogs. Updates topics for changes in 608ffc5e.
  • b4b11c6f2a Documentation updates.
  • 1f1239bb7a Docs: LazUtils/lazmethodlist. Adds SameMethod and updates CompareMethods topics. Depends on 814e4ba4.
  • 370e42c4e4 Docs: LCL/lclproc. Removes topics deprecated since version 2.1. Depends on 814e4ba4.

Submitted by developer / committer, tested, waiting to be merged

Processed Merge requests for 2.2.0RC2

  • r65294 LazReport: Allow entering more than one digit in font combobox editor. Issue #39026, patch by Soner.
  • r65295 LazReport: Change an event parameter name. "Width" clashed with TControl.Width. Issue #39025, patch by Soner.
  • r65383 LazUtils: Fix building when directory is a Windows mount point. Issue #39120.
  • r65388 IdeIntf: Allow multi-line property editors in Dialogs, TTaskDialog. Issue #39170.
  • r65392, 65424, 65438, 65444, 65450, 65462, 65472, 65477, 65481, 65495, 65500 Documentation updates.
  • r65395 TPageControl: QT5: Fixed PageControl.GetTabRect, see project Issue #39166
  • r65396 TPageControl: QT: Fixed PageControl.GetTabRect, see project Issue #39166
  • r65432 IDE: add unit DB to uses when TBufDataset or TCSVDataset are added. Issue #29733.
  • r65441 DockedFormEditor: Fixed wrong ShowHint value when switching from tab Code to tab Form. Issue #39217
  • r65442 DockedFormEditor: Disable CM_PARENTSHOWHINTCHANGED for all WidgetSets. Issue #39217
  • r65443 DockedFormEditor: Use correct WidgetSet Win32 instead of Windows
  • r65448 DockedFormEditor: Check for WidgetSet LCLWin32 and LCLWin64. Issue #39222
  • r65449 LazUtils: Restore function KOI8ToUTF8, earlier renamed as KOI8RUToUTF8, and deprecate it.
  • r65314 Examples/address_book: Fix compilation. Remove hard-coded MS font.
  • r65315 Examples/bidi: Fix layout issue due to overlapping controls.
  • r65316 Examples/dblookup: Fix compilation.
  • r65336 examples: Remove a writeln from checkbox demo.
  • r65337 examples: Fix typo in TestAll demo.
  • r65338 examples/mssql: Fix compilation
  • r65355 LCL/TPageControl: Add new method "Clear" to remove all pages.
  • r65362 docs/lcl: Add documentation for the new method TPageControl.Clear.
  • r65366 docs/lcl: Merge the two TPageControl.Clear doc versions from r65362 and 65358.
  • r65375 LCL/TColorDialog: Show Title property. Issue #39155, based on code submitted by jamie in https://forum.lazarus.freepascal.org/index.php/topic,55236.msg410713.html#msg410713
  • r65454 LCL/ShellTreeView: Speed-up of populating a folder with many subfolders (example: c:\Windows\WinSxS)
  • r65455 LCL/ShellTreeView: Speed-up when opening a node with many subfolders a second time.
  • r65376 TAChart: Update xml help.
  • r65379 TAChart: Decode system colors in text elements.
  • r65384 TAChart: Add method GetAxisRange to determine the range of an axis covered by all series assigned to it.
  • r65385 TAChart: Use real axis limits in ChartEditor demo.
  • r65389 TAChart: Rename TChart.GetAxisRange to .GetAllSeriesAxisLimits (more precise).
  • r65391 TAChart/ChartEditor demo: Check that axis maximum is always greater than the minimum.
  • r65393 TAChart/ChartEditor demo: Fix bug in handling of axis.Inverted.
  • r65394 TAChart: Update xml doc.
  • r65420 TAChart/ChartEditor demo: Fix update of axis grid visibility.
  • r65421 TAChart/ChartEditor demo: Fix axis lines not being updated.
  • r65422 TAChart: Always draw axis arrows with solid pen.
  • r65423 TAChart: Fix usage of axistransformations in ChartLiveView having ExtentY = lveAuto.
  • r65425 TAChart: Fix initialization error in TChartLiveView when ExtentY is lveAuto.
  • r65427 TAChart: Fix axis scaling of TChartLiveView with coincident axis limits and ExtentY = lveAuto.
  • r65431 TAChart/ChartEditor demo: add forgotten lfm file.
  • r65440 TAChart/ChartLiveView: Fix autoscaling when multiple axes are used. Add new ExtentY mode, lveMultiAxisRange
  • r65453 TAChart/TChartLiveView: Add some comments. Add xml documentation.
  • r65456 TAChart/TChartLiveView: Simplify operation of ExtentY modes.
  • r65463 TAChart/TChartLiveView: Fix operation when axes have a predefined Range. Modified patch by forum user Muso (https://forum.lazarus.freepascal.org/index.php/topic,55266.msg412075.html#msg412075)
  • r65468 LazReport: Fix compilation of ZeosDB
  • r65469 IDE: Fix compiling with FPC trunk. The removed code was only active in fpc trunk 3.1.1 [r36768-r38658)
  • r65470 TAChart/TChartLiveView: Simplification
  • r65471 TAChart/LiveView demo: fix typo.
  • r65473 LCL: Fix TListView selection on Windows with MultiSelect=True and OwnerData=True. Issue #34877.
  • r65474 LCL: Make ListView.Selected return the first selected item also when OwnerData=True.
  • r65475 FpDebug, Windows: Forward OutputDebugString to IDE.
  • r65479 GdbMiDebugger: fixed reporting OutputDebugString messages
  • r65488 FpDebug: remove double line break from formatted watches.
  • r65489 Debugger: Remove linefeeds for locals dialog. Issue #0039212
  • r65490 Add DbgS for FormStyle.
  • r65491 AnchorDocking: Don't set FormStyle to fsStayOnTop for modal shown windows to prevent showing it in front of other applications. E.G. in IDE Tools -> Desktops.
  • r65496 TAChart: Fix default value of TChartTitle.Brush.Color
  • r65499 TAChart: Add methods StoreAxisRange() and RestoreAxisRange() to LiveView component.
  • 3e9e3ecc6c, 4d4485f209, c7508cbbf3, 543b3ba2af, bb47f65547, 145bf90ea6, 9d48c0eff5, 862cedaca9, 03b41f9ef2, bc7d6df12a, 172b6d5464, ac39e408c7, 5db1922e37, 0467d7cf0f, fb27fcd12a Documentation updates.
  • 3313ccc17c Adds and updates grids, dbgrids topics for merges to fixes_2_2.
  • 10c474f730 Documentation updates.
  • ce63f619 Qt,Qt5: Fixed slowness with TListBox.Issue #39311
  • 5466d422 Qt,Qt5: Fixed checkboxes states after sorting in TListView. Issue #38137 Reverted since it cannot be compiled in fixes_2_2 !
  • fcf36153 Qt,Qt5: fixed changing TMenuItem.ImageIndex inside main menu. Issue #37608
  • 31c207d9ed, 59b2adcee3, f8fae99933, 510899de02 Documentation updates.
  • 5ae19e4e88, acf31c45b6, 4ff5c00578, 64fdfecf46 Documentation updates.
  • a84e602a Qt5: Additional theme drawing fix for issue Issue #38356
  • 63ca7a9a Qt5: Fixed AV when changing TListView.ViewStyle in design time. Issue #39353
  • 2473e77422 Documentation updates.
  • e1be3c5608ee03f5c IDE: Update DefineTemplates after switching build mode. Issue #39347
  • 655bd2ba0d, 6c8e9f0867, fc99cfa6ee, 19b127a2b1, 0f5ed91814 Documentation updates.
  • 515da224 Qt5: fixed doubled menu items in IDE. Issue #39364
  • fc685470 Qt5: implemented TCustomMemo.setCaretPos(). Patch by Joeny Ang. Issue #39373
  • a7ee5a544d, 3b9cfa9943, 34bef0cbf9, 6a29f96cec Documentation updates.
  • 6eca378f9d101199cc429c67420ee59739f72274 TListView: call OnDeletion also when destroying. Issue #39391.
  • 5a1abf733a7 LazUtils: Check for Pascal keywords in LazIsValidIdent. Must be prepended with '&'. Merge Request !11 by Abdullahi Usman.
  • f6b7ba26622 Designer: Prevent an illegal name for a component when "Ask name on create" is enabled. Issue #39292.
  • 92c69567 , 059c77a6 , 86a3ea83 Documentation updates.
  • 45a590ed0b9b6 Revert partly "Add HookGetCheckboxForBoolean handler in OI only once." Issue #39378
  • b7ab9549a64 IdeIntf: Improve recursion in TComponentTreeView.FindAndChange. Call RebuildCollection only once per deleted comp. Issue #39290.
  • 907f8248 IDE: When completing a label, add a colon (':') after it. Issue #38307.
  • a8a398e553 PascalScript: Fix event TPSOnProcessDirective signature. Active clashed with TForm.Active. Issue #39359.
  • 1d0d348cf6 Documentation updates.
  • de4f724924255 Revert checking for Pascal keywords in LazIsValidIdent which is used also for unit names etc. Prevent illegal name by other means.
  • 1c0f3e699c Docs: LazUtils/lazstringutils. Updates LazIsValidIdent for revert in de4f7249.
  • 824e696005 IDE: Remove Assert() that prevented adding source files with errors in them. Issue #22921.
  • 7cb38d7bc6 IDE: Check Filename<>UnitName mismatch only when Codetools was able to parse the source. Issue #22921.
  • ee4324bbe5 Documentation updates.
  • b379bae7 OpkMan: fix readability of hint window on dark themes, remove hardcoded colors...
  • 24ababf578 Docs: LCL. Updates topics to reflect code changes in 865013ee.
  • f120539d03 LCL-GTK3: Show applications better under KWin. Issue #39367.
  • 555a0bb5fc CodeTools: Support case-insensitive {$Align X} etc. directives. Issue #39339.
  • 736e71078e Docs: LCL/filectrl. Updates MinimizeName to specify that the width argument is pixels and not characters.
  • a669e084 TComboBox: update ItemIndex in RealSetText also if Text is empty string. Issue #39366.
  • 2e98d119 T(Float)SpinEditEx: set Modified to False if Value is set programmatically.
  • abd3cd5c T(Float)SpinEdit: set Modified to False if Value is set programmatically.
  • e868afe1 T(Float)SpinEditEx: set make sure Modified is correct in OnChange event as well.
  • 16c42cea T(Float)SpinEditEx: forgotten to commit file in e868afe1.
  • 2befd9dd T(Float)SpinEdit: make Modified have the correct value in OnChange as well.
  • f77ea526e4 Docs: LCL/stdctrls. Updates topics for issue #39413. Depends on a669e084.
  • 335ac8b724 Docs: LazControls/spinex. Updates topics for recent source code changes.
  • cc0c03af28 Docs: LCL/spin. Adds and updates topics for changes in abd3cd5c, 2befd9dd.
  • 0ca9443df0 Update create_lazarus_export_tgz.sh
  • d753efec99 Update create_fpc_rpm.sh
  • e8317fb5 Qt,Qt5: fixed problem with drawing primitives when antialiasing enabled. Issue #39416
  • 8c248da41d IDE: Disable Project Options command while compiling many build modes. Issue #39332.
  • b6a4282835 IDE: Execute a shortcut command only when it is enabled.
  • 29fa1e50 Qt,Qt5: fixed maximized window with borderstyle = bsnone. Issue #39158
  • 26930d85 Qt,Qt5: fixed antialias drawing of ellipse and polygon. Issue #35568, part of Issue #39416
  • e42dfcff Qt5: fixed typo.
  • e67c74ed7e IDE: Disable Project Options toolbuttons while compiling many build modes. Issue #39332.
  • 4204b2bd DockedFormEditor: Remove invalid widgetset LCLWin64
  • 6439e19d40 JEDI Code Formatter: Support a list of used registers at the end of "asm" block. Issue #35722.
  • e027061cb5 Docs: LCL/controls. Adds short descriptions for various topics.
  • c822e578 Qt,Qt5: fixed radialPie paint with antialiasing. Issue #39416
  • 52f2a8b8 Qt,Qt5: Fixed menu radio items. Issue #37741
  • 4076f4ef Qt,Qt5: fixed palette change at runtime. Issue #38589
  • a058e53864 Docs: LCL/menus. Adds missing topic content.
  • 7fa32a1e Qt5: optimized palette reload instead of calling recreateWnd(). Issue #38589
  • b83a9fd9 Qt5: implemented T(Float)SpinEdit.EditorEnabled. Issue #38736
  • 9233efad Qt: optimized palette reload instead of recreating handles. Issue #38589
  • e5ed5082d5 Docs: LazControls/checkboxthemed. Updates TCustomCheckBoxThemed.State to reflect actions in the property setter.
  • d21ebb1b Qt,Qt5: removed old workaround for Qt < 4.8.7, fixes TApplication activate/deactivate events. Issue #37868 Issue #29294
  • f1156f55 Qt,Qt5: ReleaseCapture when app is deactivated.
  • 5081a526 Qt,Qt5: restored the way how we send application activate/deactivate to LCL, removed calling of RestoreStayOnTop windows which cause confusion.
  • fea136a894 Docs: LazControls/listviewfilteredit. Removes extra short description in module topic.
  • 99e4bd2515 LCL-GTK2: Use a new SysTray API by default. The old one fails to work in new Ubuntu versions + derivatives.
  • 14304e8180 LCL: Fix typos in virtual key constants. Issue #39434
  • 622a7619d0 Docs: LCL/lcltype. Adds missing topics. Removes topics no longer in source. Updates topic content.
  • 9057aece Qt,Qt5: fixed system mouse lock when TCustomControl is double clicked. Issue #27384
  • 7f0e0cd0 Qt,Qt5: fixed broken TTrayIcon popup menu after recreating popup menu handle. Issue #38849

Fixes for 2.2.0RC1 (merged)

  • r65243, 65249, 65254-65256, 65261-65271, 65274, 65278-65279, 65281, 65290, 65293, 65297, 65300, 65305, 65317, 65325, 65328, 65335, 65339, 65358, 65367 Documentation updates
  • r65248 Qt: removed unsupported QString_toHtmlEscaped. Issue #38982.
  • r65275 CodeTools: Allow a "var" section inside a record with {$modeswitch advancedrecords}. Issue #38957.
  • r65303 LCL: Revert revision 63847, fixing FormShow call at wrong time. Issue #38922
  • r65304 IDE: Remove EnvironmentOptions.DesignerPaintLazy to prevent paintings outside OnPaint resulting in painting artefacts. Fixes issue #23741 and #33781
  • r65306 IDE: regenerated translations
  • r65311,r65312,r65318 IDE: Implement multi-line selection in Messages window. Issue #35493
  • r65319 IDE: Update DefineTemplates (package graph) after adding a component, in case its package was not used earlier.
  • r65320 Fix spelling errors in grids.pas. Patch by Don Siders. Issue #0039093.
  • r65329 Converter: Replace Mask with Masks, not MaskEdit.
  • r65330 IDE: Generate Dwarf3 for Debug build mode and for debug profile for the IDE itself.
  • r65341 IdeIntf: Disable copy/paste of TMenuItem in Object Inspector tree because it does not work for some reason. Issue #19530.
  • r65342 IDE: Use Dwarf3 debug format for our projects. Needed when debugging with FPDebug.
  • r65348 SQLdb: added pqteventmonitor.pas unit to LPK, bug 39097
  • r65354 IdeIntf: Disable copy/paste of TAction in Object Inspector tree because it does not work for some reason. Issue #19530.
  • r65372 Translations: Brazilian Portuguese translation update by Marcelo B Paula, bug 39152
  • r65374 Fix spelling errors in lclproc.pas. Patch by Don Siders. Issue #0039161.
  • r65378 AnchorDocking DragNDrop of pages not working on GTK2. Issue #39166
  • r65412 win installer: EnvironmentOpt.xml: Fix gdb location for windows (new installation)
  • r65413 make component: compile freetype before lazcontrols
  • r65414 lcl: updated Makefile.compiled
  • r65415 lcl: updated Makefile.compiled
  • r65416 lcl: updated Makefile.compiled with freetype
  • r65417 lcl: fix makefile path for freetype
  • r65418 Installer, Win: fix cross build flags
  • r65419 Installer, Win: fix cross build, include package buildintf

Roadmap to 2.2

The release process will consist of the following steps.

  • Creation of the SVN 2.2 fixes branch. (Done 15 Jun 2021)

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

  • Release of 2.2.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 2.2.0 RC 2 (ToDo)

The testing period is scheduled to last 2 weeks.

  • Release of 2.2.0 RC 3 (ToDo)

The testing period is scheduled to last 2 weeks.

  • Release of Lazarus 2.2 (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
  • Run Unit-Tests from menu "Tools"--> "Example Projects". Choose project "runtestsgui.lpi" and run it. It will do about 390 unittests.

Tagging release

  • SVN merge requests of this page
  • Set version in fixes_2_2 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/version.inc 2.2.0RC1 for RC1, no spaces! (2.2.0 for final release)
    • lazarus/components/lazutils/lazversion.pas for RC1, for RC2, ... for final
    • lclbase.lpk
    • lcl.lpk
    • lazarus/lazarus.app/Contents/Info.plist
      • CFBundleShortVersionString "2.2.0"
      • CFBundleVersion 1 for RC1, 2 for RC2, 3 for RC3, 4 for final release
    • 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 lpl files by running "./tools/lplupdate -c" and do the svn mv commands
    • Update makefiles: Make sure Additions and Overrides are empty and run
FPCDIR=/path/to/fpc/src/trunk PATH=/path/trunk/fpc/utils/fpcm/bin/x86_64-linux/:$PATH ./tools/updatemakefiles
  • check that ide/lazarus.lpi and ide/lazarus.res have changed:
svn diff | grep Index:
  • svn commit
  • Tag fixes_2.2 branch to tags/release_2_2_0_RC1 (or tags/lazarus_2_2_0 for final release)
svn copy svn+ssh://svn.freepascal.org/FPC/svn/lazarus/branches/fixes_2_2 svn+ssh://svn.freepascal.org/FPC/svn/lazarus/tags/lazarus_2_2_0_RC1 -m 'tagged 2.2.0RC1 as tags/lazarus_2_2_0_RC1'

Other branches