Lazarus 1.0 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.0 fixes branch.
Release notes can be found here Release notes

Fixes for 1.0.0

Merge requests

Submitted by developer / committer

  • r36716 LCL, combination of modal form + wsMaximized style produces tiny windows on GTK2, issue 21634
  • r36616 Decision to merge pending [SynEdit: do not include IME for WinCe]
  • r36617 lazbuild: build ide: replace exe on windows
  • r36647,r36653,r36654,r36655,r36656,36668,36673 IDE: view / IDE internal / what needs building
  • r36648,r36650,r36651 IDE: read state file created by Makefile: fix path delimiters, checking compiled state: ignore -v,-i,-B flags, do not skip all -F
  • r36652 IDE: codetools options: shorter caption
  • r36658 regenerated translations; updated Russian translation
  • r36662 LCL: implementation of TCustomImageList.GetIcon()
  • r36663 In GUI strings, unify all 3 dots to have a space before them ( ...)
  • r36664 IDE: Use CreateAbsolutePath when switching between relative/absolute paths in AddFile dialogs (CreateAbsoluteSearchPath gives wrong output)
  • r36665 LCL: publish TUpDown.OnChangingEx
  • r36666 IDE etc.: unify 3 dots in GUI string to have a space ( ...).
  • r36667 translation: german: updates from Swen Heinig
  • r36668 IDE: info what needs building
  • r36669 updatemakefiles: write which lpk have conditionals
  • r36670,r36671 IDE,lazbuild: create makefile: use CPPROG instead of COPY to get the current date for Makefile.compiled under Windows
  • r36649,r36672,r36675,r36677,r36679,r36683,r36701,r36708,r36709,r36728 Makefiles: updated, reduced dependencies, fixed double compiles
  • r36680,r36699 lazbuild: fixed crash, replaced some MessageDlg with IDEMessageDialog
  • r36681 IDE,lazbuild: use parsed compiler filename, make filename
  • r36682 IDE: debugfilename, debugsearchpath: use same function as other env vars to resolve macros, trim and find
  • r36686,r36688 IDE/lazbuild backup, delete the same lazarus exe on all platforms
  • r36694 regenerated translations; updated Russian translation
  • r36695 LazDataDesktop: regenerated translations; updated Russian translation
  • r36697 fix ImageList.AddMasked() in case of source image has no mask description
  • r36702 IDE: TProject.TitleIsDefault: check for project+number, fix for renaming the title of a new project
  • r36713,r36715 lcl: fixed TToolButton.MouseUp X,Y in boundsrect check
  • r36712 lcl: fixed function result
  • r36717 LCL: reverted changes to menus.pp from r36666 (by Paul's request)
  • r36719 LCL: fix range check error
  • r36723,36724 IDE,lazbuild: fixed repeated build project clean: save project state file before compiling too
  • r36727 lazbuild: fixed expanding --lazarusdir
  • r36730 IDE: project wizard: fixed fixed size, bug 21714
  • r36731 lazreport: fix possible access violation by checking dataset for nil
  • r36732 win32: fix range check error

Submitted by others

  • r36729 Improve TStringHashList, prevents a PO file update crash. Issue #21685

Merged revisions

Submitted by developer / committer

  • r36506 LazReport, fix barcode dialog localization (Jesus)
  • r36508 Updated Japanese translation
  • r36509 Window Column, store pointer to resourcestring
  • r36510 LazReport, fix barcode addin when TfrBarCodeObject is not yet instantiated (in this case barcode editor defaults to memo view.
  • r36511 DividerBevel: implemented Transparent.
  • r36514 IDE: moved macros save/saveall to source editor
  • r36515 IDE: update macro descriptions after translating resource strings
  • r36516 IDE: trim TLazPackageGraph.GetFallbackOutputDir
  • r36517 IDE: check if package needs rebuild: switch to fall back directory: update compiler params
  • r36518 IDE: install/uninstall package dialog: fixed icons, added info about current state
  • r36528 SynEdit: Template(Syncro) fix invalidation
  • r36529 IDE: Printing: break long lines. Issue 0013479;
    • r36547 IDE: Printing: break long lines. Fix Utf8. Update for rev 36529
  • r36531 LazReport: fixed buttonpanel localization in BarCode editor dialog
  • r36533 IDE: clean up of unused resourcestrings
  • r36534, r36536, r36553, r36583, r36646 regenerated translations; updated Russian translation
  • r36535 IDE: more clean up of unused resourcestrings
  • r36537 Documents LCLIntf.GetDeviceCaps
  • r36538 IDE: always store lazarus directory
  • r36539 LazReport: uppercase variable before comparing with hardcoded functions. Properly fix to 21624
  • r36543 IDE: setup dialog: using same file resolving as IDE
  • r36546 IDE: consider empty lazarusdirectory as pcp, empty fpcsrcdir as lazdir, empty testdir as lazdir
  • r36548 IDE: fixed note about wrong laz dir
  • r36549 IDE: fixed crash on find identifier references
  • r36551 IDE: translate descriptions of all macros
  • r36552 IDE: fixed editor tab position combobox items localization on Editor/Misc options page
  • r36556,r36557 IDE: warn if upgrading configs
  • r36561, 36562, 36563, 36566: Improve Options/Keymap
  • r36565 LCL: Prevent TShape.stRectangle disappearing with certain Height/Width and Pen.Width values.
  • r36567,r36568,r36569 IDE: show downgrade warning
  • r36570 lazbuild: select IDE build mode, fixed compiling with different mode
  • r36572 LCL: set csCaptureMouse on TToolButton, but don't send click if mouse is out of ttoolbutton on mouseup.issues #19688,#21560
  • r36574 IDE: fixed saving environment on every change
  • r36577 LCL, TreeView: fix GetNextVisible, GetPrevVisible. Issue 21264
  • r36575 IDE/Setup dialog: force taskbar button to be shown
  • r36584 IDE: import package list: opendialog
  • r36587 IDE: intial setup: fpc src dir: lazdir/fpc/fpcver/source
  • r36588 IDE: intial setup: fixed if no candidates found
  • r36589,r36590 IDE: compiler file name: search first with macros
  • r36591 IDE: verbose search for candidates
  • r36592 IDE: search fpc src relative to fpc.exe
  • r36594 IDE: check compiler: only run common names
  • r36595,r36599 IDE: use under windows as default for make the make.exe in the compiler directory
  • r36596 IDE,codetools: fixed ppccross,crossppc to ppcross
  • r36601 IDE: unify the 2 filters in KeyMapping window. Prevent a potential crash.
  • r36608 Gtk2: do not set widget name, it's completelly unnecessary and produce unexpected behaviour if some keywords are in widget name.issue #21661.
  • r36613 SynEdit: Fix an issue with Scrollbars not being updated
  • r36644 IDE: improved 'Export package list' dialog localization
  • r36645 IDE: improved 'Package Graph Explorer' dialog localization

How to merge

The lazarus developers have decided to use the native svn merge for this branch. Other branches used the svnmerge.py script to manage the revisions to be merged.

  • TODO: Maybe this information should be put in a separate page.

SVN_Migration#Merge_with_plain_svn

Using TortoiseSVN

As noted in the link above using TortoiseSVN is more or less self explaining.

  • TODO: add some screen shots.

When committing, in the recent messages a nice commit message is available.

Tested with TortoiseSVN 1.7.6, SVN 1.7.4.

Show list of revision that can be merged

In the lazarus fixes_1_0 directory do:

svn mergeinfo ^/trunk --show-revs eligible

Show list of revision that have been merged

In the lazarus fixes_1_0 directory do:

svn mergeinfo ^/trunk --show-revs merged

Merging revisions from trunk

To merge one or more revisions from trunk, use the svn merge command. For example to merge revision 36506 and 36510 use:

 svn merge -c 36506,36510 ^/trunk

To generate a commit log message, use:

svn log ^/trunk -c 36506,36510 > svnmerge-commit-message.txt

Edit svnmerge-commit-message.txt with your favorite text editor and add a first line like:

Merged revision 36506,36510 from /trunk.

Commit this with:

svn commit -F svnmerge-commit-message.txt

Blocking a revision to be merged

Sometimes you want to block a revision to be merged, i.e. you want to make sure that this revision is never merged to the fixes branch, for example, because it contains a new feature or it contains a version number change not applicable to the fixes branch, but only to trunk. To block revision 36507, use:

svn merge -c 36507 --record-only ^/trunk

Then you can create a log message with:

svn log ^/trunk -c 36507 > svnmerge-commit-message.txt

Edit svnmerge-commit-message.txt with your favorite text editor and add first line like:

Blocked revision 36507 from /trunk

Then commit this change:

svn commit -F svnmerge-commit-message.txt