Lazarus 1.2 fixes branch

From Lazarus wiki
Revision as of 11:34, 23 November 2013 by Paul Ishenin (talk | contribs) (Submitted by developer / committer)

This page contains the revisions to be merged from trunk to the Lazarus 1.2 fixes branch.
This are only fixes made after the branch was created. For other fixes made since the previous release (1.0) see SVN and Lazarus_1.0_fixes_branch

Release notes can be found here

Fixes for 1.2 RC2

Merge requests

Submitted by developer / committer

  • r43456 LCL: fix types for GDI objects (fixes crash on 64bit)
  • r43457 Cocoa: fix default GDI objects construction/destruction
  • r43461 Cocoa: fix TMemo creation
  • r43467 Cocoa: fix winapi Rectangle() implementation
  • r43475 Cocoa: some corrections to window creation
  • r43462 IDE: fixed compilation fpc 2.7.1
  • r43464 Debugger: Update registers, if stackframe changes
  • r43469 carbon: fix for freez if wakemainthread is called from the main thread prior to event loop initialization. #23393
  • r43472 examples: TSQLScript database sample program. #25350

Submitted by others

Merged revisions for 1.2 RC2

  • r43361 TApplication: set THintWindow.BidiMode. Issue #0022048.
  • r43362 Debugger: Add timeout protection for breakpoints during start up. Issue #0025277
  • r43364 Debugger: prevent messing up the environment on windows, due to gdb bug (gdb not setting debuggee environment) / introduced in rev 42419
  • r43366 Debugger: better pid detection for attach. Issue #0025273
  • r43367 THintWindow: adjust for BidiMode in CalcHintRect. Issue #0025275.
  • r43368 TApplication: adjust position of THintWindow depending on LTR or RTL alignment.
  • r43371 Components: fixed Lazarus Package Manager compilation with FPC >= 2.6.3
  • r43373 THintWindow: adjust for BidiMode in CalcHintRect. Slight improvement on r43367.
  • r43375 SynEdit: Highlight-all, fix index for last element
  • r43381 Debugger: taborder for watch-properties
  • r43380 Debugger: fix internal type for gdb request (eval vs ptype)
  • r43429 Translations: Japanese translation update by Haruyuki Fujimaki
  • r43433 Translations: Polish translation update by Tomasz Wieckowski, Issue #25308
  • r43434 IDEIntf: regenerated some translations
  • r43384 carbon: fix selecting an item in a TListView on Carbon when OwnerDraw is true.patch by Joost van der Sluis. Issue #25274
  • r43385 Qt: fixed changing font color of themed text draw. Issue #25253
  • r43386 Qt: restore pen color if we change it during draw themed text. regression of r43385. Issue #25253
  • r43387 Qt: fixed another regression introduced with r43385 and r43386
  • r43396 Win, installer: delete correct conf folder, if updating 2ndary install and choose to clear conf
  • r43395 LazUtils: allow ReleaseRef on nil
  • r43397 Win, installer: convert Spanish to ansi
  • r43398 EditorMacroScript: Add some more try except dealing with self-test. Save reason of failure
  • r43378 codetools: fixed TCustomCodeTool.ReadBackTilBracketOpen when there is no bracket
  • r43424 SynEdit: Fixed painting highlight frame-borders. (do not paint extra left/right borders)
  • r43432 codetools: asking compiler for config files: expand relative file names
  • r43431 IDE: test file for compiler, expand temp directory
  • r43441 Qt: cleanup
  • r43442 Qt: changed defines for TQtFloatSpinEdit and CPU64
  • r43443 LCL: TControlCanvas: do not flood terminal about painting outside of paint event for widgetsets which actually supports painting outside of paint event.
  • r43451 PoChecker: add option to check translation statistics.
  • r43453 lazutils: added conversion KOI8U and KOI8RU
  • r43459 Components, PoChecker: regenerated translations; updated Russian translation

Fixes for 1.2 RC1 (Merged)

r42850,​r42851 carbonfix linear gradient drawing
r42843 codetoolssyntax error if parameter type is missing
r42844 codetoolsfixed parsing var type deprecated bracket close
r42846 codetoolsfix parsing of "specialize SomeGeneric<TypeParams>" as function/operator result (this fixes error with parsing of new objpas generics)
r42859 codetoolsfixed removing first unit from second line
r42868 codetoolsfixed checking if resolving edged bracket open is allowed, bug 25045
r42910 ConverterDefine PUREPASCAL for units during conversion when simulate Delphi defines is set.
r43076 Components, Lazreportupdated Russian translation
r43195 ConverterFix a crash when a replaced function had brackets '()' without parameters.
r43201,​r43202,​r43203,​r43204,​r43205,​r43208,​r43209,​r43214,​r43215codetoolsparsing new modifiers and keywords, needed for parsing FPC sources
r43337 ComCtrlschange signature of TDrawTabEvent to avoid compilation error due to duplicatie identifier. Issue 0025245.
r42856 DebuggerDisable logging of stackdump during unit lookup
r42913,​r42917 Debuggerreset thread on start/init
r42931 DebuggerOptions, disable add/remove buttons on signal opts. Not implemented
r42932 DebuggerOptions, mark project as modified, when exceptions are enabled/disabled. Issue 0025074
r42988 DebuggerSpelling
r42989 Debuggerfix disassembler, check if offset can be used
r42990 Debuggerfix race condition, stopping the debugger could lead to debugger error
r43038 Debuggerforce gdb to use lang=pascal. (set after attach / needed in some environment, such as cgi in webserver)
r43189 DebuggerFix handling of single quote in strings returned by gdb
r43197 DebuggerFix handling of backslash in strings returned by gdb (used for classname resolving)
r43240 DebuggerTry filename in app bundle for newer gdb
r43255 Debuggerparse version / mac file encoding depends on version
r43294 DebuggerFix getting min callstack depth in some cases.
r43302 Debuggerimprove cache / fix compare none case-sensitive
r43303 Debuggerfix disassembler testcase
r43304 Debuggerfix adding watch via dialog. Open watch view window
r43306 DebuggerChange ExceptionList to one list (no master/slave), fix debugger follows config which exceptions to ignore.
r43317,​r43318 DebuggerFix parsing class with nested record / array of record
r43329 DebuggerFix mem leak in disassembler
r42842 dmgversions with letters and minus
r43253 Docsadded Yuichiro Takahashi and Haruyuki Fujimaki to contributors list
r43122 Gtk2implemented TListView.OwnerDraw + OnDrawItem. part of issue 25149
r43156 Gtk2implemented themed draw of combobox.issue 25151
r43174 Gtk2Gtk2Themes: return correct size value for checkbox and radiobutton
r43176 Gtk2fixed combobox themed paint (separated combo button from combo root).issue 25151
r43178 Gtk2pass TCheckListBox.OnDrawItem when Style <> lbStandard.issue 14071
r42835 IDEmode matrix: fixed showing targets
r42865 IDEfixed complete block, bug 24935
r42866 IDEfixed complete block on char, fixed codebrowser check if something changed
r42886 IDEIntfChange TComponentPropertyEditor back to original behavior so it lists all components from all forms.
r42909 IDEadd PowerPc processor types to selection list.
r42916 IDEImprove the All Compiler Options GUI filter. It lost focus because it was disabled. Not any more.
r42945 IDEdesigner: fixed adding components on inherited form, bug 25084
r42946 IDEwhen closing a modified package and user does not save mods, clear modified, bug 22956
r43028 IDERespect the Use Comments setting also when editing defines.
r43078 IDEregenerated Brazilian Portuguese translation
r43182 IDECompare TargetOS without case sensitivity. The default value is lowercase.
r43219 IDEsave package main source: ignore case, bug 25173
r43351 IDEFix the check for conflicting sequential (multi-stage) shortcuts. Issue 25085
r43352 IDEUpdate popup menu item Enabled state correctly in Keymapping options. Sender is PopupMenu, not TreeView.
r42825 Installer, Winallow "pre-release" in version name (inno setup)
r42994,​r42995,​r42996LazReportseveral template fixes including fix crash on loading template, issue 14137
r43040 LazReportfix hyphenation helper mem leak
r43046 LazReportimprove error message on missing classes, was about FRF format while in reality is about LRF format
r43047 LazReportfix error in dialogs when object is deleted and then a new one inserted, issue 25097
r43063 LazReportrestored accidentally removed translations
r43162 LazReportseveral fixes by Alexey Lagunov
r43271 Lazreportfix Report shape tool has black shadow, issue 14127
r43272 LazReportsome times objects that are hidden by others in upper layer show up because clipping region of moving object enable them, make sure they are visible or not
r43273 LazReportenable native print dialog in Mac OS X by default + option to disable it
r43341 lazcontrolsfixed crash on freeing TFileNameItem
r43348 LazUtf8implement Utf8 versions of LeftStr and RightStr.
r42845 LCLminor corrections of comments in clipbrd.pp (thanks to Mike Thompson), bug 25033
r42854 LCLadded TPairSplitter.Constraints
r42877 LCLTTreeView: check OverlayIndex upper bound
r42912 lcldbgrids: fixed memleak of KeyBookmark, patch from Luca Olivetti, bug 24412
r42923 LCLGtk2, fix grid editing problem on ALT+TAB forward and back, issue 22475
r42924 LCLGtk2, force redraw of GTKWinApiWidgets on focus changes so they can reflect focused/unfocused state (for grids in this case)
r42936 LCLgrids, handle the first key in keypress, fixes issue 24893
r42943 LCLfix grids focus where OnEnter occurs twice, issue 25010
r42948 LCLgtk2, check if widget is still valid (avoid a CRITICAL warning)
r42954 LCLgrids, modify editor bounds in case it's affected by modifying default Col width or Row height
r42958 LCLfix ValueListEdit not showing key column at runtime, issue 24780
r42985,​r42986,​r42991LCLgrids, fixed selection by mouse if editor is visible and focused
r42992 LCLgrids, allow the RETURN key to go to OnKeyPress
r42993 LCLgrids, implemented InsertRowWithValues from Everton Vieira, issue 21176
r43052 LCLgrids, reformat some code that SHIFT+CTRL+C keeps reminding is different
r43054 lclgrid: initialize var
r43061 LCL, carbonfix filterindex and add trigger some missing dialog events, fix issue 25086
r43115 LCLimplemented TListView.OwnerDraw + OnDrawItem. part of issue 25149
r43222 LCLwslclclasses, increased VIRTUAL_VMT_COUNT const from 100 to 128, to be able to add more methods to ws classes.
r43244 LCLTCustomListView: implemented SelectAll & ClearSelection for delphi compatibility. issue 19812
r43245 LCLTCustomListView: added TCustomListView.AddItem for delphi compatibility. issue 25092
r43251 LCLJapanese translation by Yuichiro Takahashi, bug 25123
r43269 LCL, carbonfix CombineRgn when op=diff and dst=src2, dst(src2) ended with a copy of src1 and result is src1 op src1
r43270 LCL, carbonimplements CreateEllipticRgn
r44051 LCLgrids, do not trigger CellButton click if MouseDown is OutBounds, mdified patch from malcome, issue 25127
r43350 MaskEditavoid calling OnChange when setting initial values for Mask and Text. Issue 0019029.
r42950,​r42951,​r42952,​r42953Object Inspectorshow collections referenced multiple times only once, show TFieldDefs without owner
r42832 Propeditsremove a test version of TCoolBarControlPropertyEditor.CheckNewValue
r43024 Printerswindows, do not open and setup printer if it's being destroyed, issue 23026
r43140 Printers, carbonfix context origin (the origin should be the imageable area not the paper rect)
r43141 Printers, Carbonsupport for printing at higher resolution, issue 23339
r43164 Printerscups, fix PrintDialog does not set Copies and Colate properties, from Petr-K, issue 24959
r42905 QtTQtComboBox fix for call IntfGetItems when we are non-editable combobox.
r42906 Qtcall OnDropDown imediatelly after IntfGetItems, so our events are in expected order and there's no disturbing of QListWidget while showing.issue 25032
r42940 Qtfixed TQtCheckListBox double click event duplication.issue 25089
r42941 Qtchange current row of TQtCheckListBox for Qt >= 4.8 since it does not change ItemIndex when checkbox is clicked.
r43041 Qtupdated Qt bindings to version 2.5
r43043 Qtfixed application closing when session manager is used. issue 18910
r43053 Qtfixed compilation with fpc 2.7.1. issue 25125
r43062 Qtfix conditional switches. issue 25139
r43116 Qtimplemented TListView.OwnerDraw + OnDrawItem. part of issue 25149
r43135 Qtimplemented TCustomListView OnCustomDraw, OnCustomDrawItem, OnCustomDrawSubItem. part of issue 7059
r43146 Qtimproved qt themes. Added tab drawing.
r43149 Qtimproved qt themes text drawer.
r43150 Qtimplemented teProgress in qt themes.
r43152 Qtpartially implemented teListView in qt themes.
r43154 Qtimplemented teSpin in qt themes.
r43158 QtTQtListWidget, TQtTreeWidget.itemDelegatePaint() draw background of item by default.related to issue 24941
r43166 Qtfixed TQtCheckListBox triggering OnItemClick when TCheckListBox.Style <> lbStandard.
r43167 Qtimproved QtThemes.GetDetailSize by returning sizes of checkbox and radiobutton.
r43168 Qtimproved teTreeView theme drawer, trigger IntfDoOnThemeChange when theme is changed.
r43169 Qtfixed TQtListWidget behaviour when it's owner drawn and checkable = true.
r43170 Qtfixed checked item state and custom painting cdsChecked when TQtTreeWidget is ownerdrawn (assigned OnCustomDrawXXX).
r43171 QtTQtTreeWidget: added odChecked to drawstate when OnDrawItem is assigned and we are checkable listview.
r43172 Qtfixed wrong DrawState param for TQtListWidget when OnDrawItem is assigned (ownerdraw).
r43173 Qtfixed behaviour of checkable items when key space is pressed in TQtAbstractItemView.OwnerDraw mode.
r43175 Qtfixed drawer for themed TGroupBox.
r43180 Qtfixed regression in owner drawn combobox from rev.43135. issue 25172
r43218 Qtimplemented scrollbars on forms (scrollable forms).Currently it works only if QTSCROLLABLEFORMS define is enabled in issue 24715
r43234 Qtfixed crash when QTSCROLLABLEFORMS are enabled and reparenting form with mouse (eg undock).part of issue 24715
r43236 Qtfixed problem with clientrect sizes when QTSCROLLABLEFORMS are enabled.part of issue 24715
r43238 Qtfixed QPainter assertion when QTSCROLLABLEFORMS is enabled.Completely fixes issue 24715
r43241 Qtinvalidate clientrect cache when viewport of scrollable form is resized.QTSCROLLABLEFORMS part.
r43242 Qtdo not loop with LCL when designing TPageControl, keep LCL sizes when InUpdate.
r43243 Qtdo not invalidate client rect cache in scrollable form viewport if we are embedded form (eg. docked).
r43274 Qtfixed sizing of autosized forms by ignoring sizepolicy for centralwidget when QTSCROLLABLEFORMS is enabled.
r43308 Qtadded note about spotted bug in Qt-4.8.5 lib when using raster graphicssystem.
r43315 Qtworkaround for Qt raster engine bug when rectangle is drawn and pen is cosmetic. issue 25227
r43333 Qtimplemented SWP_SHOWWINDOW and SWP_HIDEWINDOW in TQtWidgetSet.SetWindowPos.
r42838 rpmfixed handling versions with minus
r43160 SourceEditSet ifdef (on tab change) after dec-paintlock)
r42840 Spelling
r43188 sqldbTSQLDBLibraryLoader, TPQEventMonitor, TFBEventMonitor and TFBAdmin were backported to FPC 2.6.3
r43194 sqldbenabled TSQLDBLibraryLoader, TPQEventMonitor, TFBEventMonitor and TFBAdmin for FPC 2.6.3 too in order to allow to test them before FPC 2.6.4 is released (FPC 2.6.3 built in February is OK)
r43263 sqldbTSQLDBLibraryLoader, TPQEventMonitor, TFBEventMonitor and TFBAdmin are actually available in FPC 2.6.2, bug 25200
r43307 SrcEditworkaround for Mac QueueAsync bug
r42898 SynEditIfDef Markup, fix issue with not displaying nested disabled blocks sometimes
r42987 SynEditSpelling
r43009 SynEditAllow to set ssoMatchCase for TSynEditMarkupHighlightAllCaret. Issue 0025108 Patch by Denis Golovan
r43064 SynEditIfdef highlight, more verbose assert.
r43159 SynEditAvoid highlighter scanning twice, due to trailing space changes
r43165 SynEditFixed uninitialized value in block-selection
r43332 SynEditIFDEF lowlight, fix wrong index, and fix using same nested comment setting as HL / Issue 0025244
r43342 SynEditPas HighLighter, recognize new &keyword for identifier style
r43077 TranslationsBrazilian Portuguese translation update by Marcelo B Paula, bug 25134
r43163 TRadiouGroupdo not reset FItemIndex in UpdateIyems whilst loading. Issue 0025158.
r43223 TRadioGroupfix resetting ItemIndex to -1 when calling Items.Assign (regression introduced by me in r42772).
r43344 TreeFilterEditImprove TTreeFilterBranch.RemoveChildrenData logic.
r43109 ValEditFix crash in InsertRow if Strings.Count = 0. Issue 0025144
r43110 ValEditimplement an adapted version of InsertRowWithValues
r43118 ValEditrefactor the logic behind wether or not to hide the editor when manipulating the Strings property.
r43119 ValEditfix possible error in InsertRowWithValues due to uninitialized NameValueSeparator.
r43177 ValEditfix crash on GetCells when empty rows are auto-added.
r43157 Win32implemented TListView.OwnerDraw and TListView.OnDrawItem. issue 25149


  • r43042 Qt: updated Qt4Pas5.dll to version 2.5. IMPORTANT !

Roadmap to 1.2

The release process will consist of the following steps.

  • Creation of the SVN 1.2 fixes branch (Done 15 Sept 2013)
  • Publication of Lazarus 1.1.99 pre-release (Done 18 Sept 2013)

This will be an early alpha of the upcoming 1.2. It will be available to anyone who wants to help testing. Testers should treat this release with similar caution as the daily snapshots. The testing period is scheduled to last 6 to 8 weeks.

  • Release of 1.2 RC 1 (Done 6 November 2013)

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 6 to 8 weeks.

  • Release of 1.2 RC 2 (Mid/End December 2013 / Early 2014)

The testing period is scheduled to last 6 to 8 weeks.

  • Maybe 1.2 RC 3

An RC 3 may be scheduled, if necessary.

  • Release of Lazarus 1.2 (between Feb and Apr 2014)


  • 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.2 in fixes_1_2 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.2RC1 for RC1, no spaces!
    • lazarus/lcl/lclversion.pas for RC1, for RC2, for final
    • lclbase.lpk
    • lcl.lpk
    • lazarus/debian/changelog 1.2.0-1 for RC1, 1.2.0-2 for RC2, 1.2.0-3 for final
    • lazarus/ v1.2 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_2 branch to tags/release_1_2_RC1
svn copy svn+ssh:// svn+ssh:// -m 'tagged 1.2RC1 as tags/lazarus_1_2_RC1'
  • Set version to 1.2 in trunk

How to merge

See Lazarus_1.0_fixes_branch#How_to_merge