Lazarus 1.0 fixes branch

From Lazarus wiki
Revision as of 12:54, 28 April 2012 by Luizmed (talk | contribs) (Submitted by developer / committer)

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

  • r36929 Gtk2: fixed text background drawing in TGtk2WidgetSet.ExtTextOut() when BkMode = OPAQUE.issue #19384
  • r36941 Translations: Brazilian Portuguese translation update by Marcelo B Paula, bug 21818
  • r36938,36939 LazReport, lift up to preview window improving layout and functionality, from Julio Jimenez B.
  • r36942 LazReport, avoid hiding text at some zoom values due small differences in text height calc (DONT MERGE YET, NEEDS MORE TESTING)
  • r36943 IDE: msg quickfix for cant find unit: add position
  • r36956 carbon: added FHasPaint variable to TCarbonWidget to allow owner draw.issue #21744
  • r36957 carbon: added ScrollRect() routine to TCarbonWidget. issue #21741
  • r36958 carbon: set FTabIndex instead ATabIndex variable in TCarbonTabsControl.SetPageIndex. patch by David Jenkins.issue #21728
  • r36959 carbon: optimized caret drawing to not update whole widget.patch by David Jenkins. issue #21768
  • r36960 carbon: fixed order of check width > height in TCarbonTrackbar.patch by David Jenkins. issue #21740
  • r36961 carbon: implemented autosizing for listview / databrowser columns.patch by David Jenkins. issue #21745
  • r36962 carbon: fixed possible bad loop in TCarbonSpinEdit.CreateWidget.Patch by David Jenkins.issue #21732
  • r36965 IDEIntf: fixed typo
  • r36967 Gtk2: fixed retreiving font name from TGtk2WidgetSet.GetObject() when font is default. issue #21828
  • r36968 codetools: JumpToPublishedMethodBody: raise error
  • r36969 codetools: fixed FindMethodNodeInImplementation for program
  • r36971 tests: codetools: added test for duplicate sections, parsing library
  • r36972 codetools: fixed reparsing initialization, finalization, begin
  • r36973 codetools: fixed treating initialization, finalization as statement
  • r36974,r36975,r36976,36977,36978 codetools: fixed find declaration in library starting in initialization, bug 21832
  • r36981,r36982 codetools: identifier completion: fixed continue searching
  • r36979 Updated Japanese translation by Haruyuki Fujimaki
  • r36980 Fix japanese encoding
  • r36983,r36984 codetools: identifier completion: some keywords for library, program
  • r36985 codetools: identifier completion: keyword initialization for library, issue 21839
  • r36986 Updated Japanese translation by Haruyuki Fujimaki
  • r36990 codetools: identifier list: skip identifier at cursor
  • r36991,r36992 IDE: identifier completion: add do after with, issue 16850
  • r36996,r36997,r36999,r37013,r37014,r37015 runtests: fixed compilation, added some tests
  • r37012,r37011,r37009,r37008,r37007,r37006,r37005,r37004,r37003,r37002,r37000 carbon interface: clean up
  • r37020 IDE: recent/history lists: replaced case sensitive comparison with three types
  • r37021 docking: update modified flags
  • r37022 codetools: fixed uninitialized result
  • r37025 IDE: use unit dialog: check for syntax errors
  • r37029 Gtk2: fixed drawing of text with solid brush. issue #21863 ( ! WAIT FOR MORE TESTING ! .. I'll merge this one ..zeljko).
  • r37031 Gtk2: do not draw text background if colormap isn't assigned. Second part of issue #21863 (I'll merge this one ..zeljko).
  • r37032 gtk2: clean up old mouse capture
  • r37033 gtk2: fixed releasecapture
  • r37034 gtk2: verbosity for ubuntu liboverlay mouse capture bug
  • r37043 LCL, fix TPostScriptPrinterCanvas.ClipRect is empty-rect until explicitly set by user, patch from Joachim Paepke, issue 21027
  • r36796 SourceEdit: use softcenter for Replace prompt. Issue 0021709
  • r36910 DBG: Tests for environment
  • r37026,r37027 DBG: Prepare for different line endings. / Accept different line endings (#10, #13, #10#13, #13#10) issue 0021834.
  • r37051 Translations: Ukrainian translation update by Igor Paliychuk
  • r37052 regenerated translations; updated Russian translation
  • r37053 LCL: fixed compilation for fpc 2.7.1
  • r37055 lcl: clear field list before calling GetFieldList

Submitted by others

  • r36804 win32: mark client rect as required update before WM_SIZE passing, remove DoAdjustClientRectChange - they are called inside WM_SIZE handler after the client rect is updated (fixes bug #0021724)
    • Paul remarked about r36804: "Please don't merge it for at least 2 weeks". Also seems to cause problems in grids, see issue 21790.
  • r36993: LCL, fixed Problems setting Width, Height for TCustomGrid if ScrollBars is auto, from cobines, issue 21790. If r36804 is merged, please merge also r36993

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.
  • r36603 debian: updated patches to latest source in lazarus svn
  • 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
  • r36617 lazbuild: build ide: replace exe on windows
  • r36644 IDE: improved 'Export package list' dialog localization
  • r36645 IDE: improved 'Package Graph Explorer' dialog localization
  • 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
  • r36659 LCL: Refactoring. Make TCalculatorDialog.Execute more understandable by removing a "with" block.
  • r36661 LCL: Prevent "Test Dialog" feature of Calculator and Calendar dialogs locking the IDE, issue #21644
  • r36616 SynEdit: do not include IME for WinCe
  • 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
  • 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,r36657,r36602,r36672,r36675,r36677,r36679,r36683,r36701,r36708,r36709 Makefiles: updated, reduced dependencies, fixed double compiles
  • r36676 LCL: Implement TListItem.EditCaption, issue #20295.
  • 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
  • r36696 IDE: add resource strings for various windows manifest keys
  • 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
  • r36711 Qt: enable wordwrap on TQtStaticText. issue #21697.
  • r36712 LCL: fixed function result
  • r36713,r36715 lcl: fixed TToolButton.MouseUp X,Y in boundsrect check
  • r36716 LCL, combination of modal form + wsMaximized style produces tiny windows on GTK2, issue 21634
  • r36717 LCL: reverted changes to menus.pp from r36666 (by Paul's request)
  • r36718 LCL: regenerated translations
  • r36719, *r36826 LCL: fix range check error
  • r36720 LazReport: added option to ignore undefined symbols, from Luiz Americo, issue 21683
  • r36723,36724 IDE,lazbuild: fixed repeated build project clean: save project state file before compiling too
  • r36727 lazbuild: fixed expanding --lazarusdir
  • r36728 make useride: pass --lazarusdir=.
  • r36729 Improve TStringHashList, prevents a PO file update crash. Issue #21685
  • 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
  • r36733 lazbuild: auto create ide/ if missing
  • r36734 Gtk2: fixed mouse capturing on native scrolling win controls (TListBox,TListView etc).issue #21713
  • r36735 LCL: TToolButton: commented debugln().
  • r36740 lazbuild: fixed uninitialized function result, fixed checking if init failed, quick check if lazarusdir is valid.
  • r36741 lazutils: Patch with font collection support from Circular
  • r36744 examples: Adds a OpenURL/OpenDocument test
  • r36745 LCL: Adds the sysenvapis include files to the lpk and adds an extra safety in OpenURL for users which forget to encode spaces in filenames
  • r36746 IDE: fixed fixed size dialogs
  • r36747 IDE: sort selection: layout
  • r36748 IDE: added debugging for sort selection
  • r36749 gtk2: clean up
  • r36750 IDE: less debugging
  • r36751 IDE: jump to next/prev error: fixed direction
  • r36752 LCL: TTreeView: clean up
  • r36753 IDE: next/prev error: clear multi selection
  • r36754 lcl: move interface initialization of TCustomEdit from CreateWnd to InitializeWnd. Consistent with other controls and allows interfaces to check is handle is being created
  • r36755 IDE: Add acceleration keys and fix tab order in Project Wizard and ImageListEditor, issue #21718
  • r36756 lcl: remove TCustomListBox.Loaded. ItemIndex is initialized in InitializeWnd
  • r36757 lcl: call inherited after setting FLines in TCustomMemo.InitializeWnd. Fix potential crash since widgetset code expect FLines be initialized
  • r36758 lcl: check for csDestroyingHandle in TControl.HandleObjectShouldBeVisible. Fix issue 19882
  • r36759 lcl: revert 31890 since issue 19882 is properly fixed now
  • r36760 gtk2: less hints
  • r36761 gtk2: less hints
  • r36762 Carbon: fixed result of TWSCarbonCustomListView GetTopItem,GetViewOrigin and GetBoundingRect. issue #21733
  • r36763 Carbon: added themed TComboBox drawing.Patch by David Jenkins. issue #21747
  • r36764 Carbon: added themed TComboBox drawing.Patch by David Jenkins. issue #21747
  • r36765 Docs: added David Jenkins to contributors list
  • r36766 Carbon: make carbon widget visibility in sync with lcl. Patch by David Jenkins. issue #21731
  • r36767 lcl: remove Destroying and DestroyWnd calls from TCustomListBox.Destroy
  • r36768 lcl: cleanup TCustomListBox.Create
  • r36769 codetools: fixed skipping include files in skipped ifdef
  • r36770 gtk2: less hints
  • r36771 gtk2: less hints
  • r36772 ide: fix selection painting of debugger eventlog colors list
  • r36773 carbon: improved TCarbonWidgetSet.RawImage_XXXX routines.Patch by David Jenkins. issue #21743.
  • r36774 carbon: proper initialization of alpha channel.Patch by David Jenkins. issue #21753
  • r36775 LCL: implement ClientToParent, ParentToClient based on patch of David Jenkins (issue #0021763)
  • r36776 LCL: extend TThemeServices.IsDisabled, IsHot, IsPushed for teCombobox
  • r36777 IDE: Fix tab order and set shortcuts in Application Options frame.
  • r36778 LazControls: fix potential crash in TListFilterEdit and TTreeFilterEdit
  • r36779 GTK2: add TGtk2WidgetSet.SetDesigning to prevent Abstract method call in IDE. Issue #21773
  • r36780 IDE: fix tab order in Project Save Options frame.
  • r36781 IDE: fix tab order in frames: Build Modes editor, Miscellaneous Options and Version Info
  • r36782 IDE: fix tab order in option frames: Code Generation, Compilation, Linking, Messages, Parsing.
  • r36783 GTK2: clean up
  • r36784 GTK2: clean up
  • r36786 Carbon: removed extra code for teComboBox, since teComboBox is supported by themes as of r36776.
  • r36787 gtk2: clean up
  • r36788 gtk2: fixed Gtk2WidgetSet.ClipboardGetData mem leak on stream write error
  • r36789 gtk2: removed OldCreateStatusBarPanel
  • r36790 gtk2: clean up
  • r36791 gtk2: clean up
  • r36794 IDE: CloseQueryIDEWindows: skip sub forms
  • r36795 Fix crash in dbg-console, if dbg not active. issue 21712
  • r36797 regenerated translations; updated Russian translation
  • r36800 IDE: when checking if a FPC unit has changed: ignore units that have no source in the FPC sources. Needed to ignore user units reachable through fpc.cfg.
  • r36801 IDE: fix error message can't find unit if the ppu is in one of the loaded packages
  • r36803 DOCS: correct the documentation about CanFocus
  • r36806 LCL: clear FActiveDefaultControl on that control destruction
  • r36810 LCL: fix copy paste error
  • r36811 LCL: don't update Default, Cancel during their applying in UpdateDefaultCancel
  • r36812 LCL: add and ability to use own TListItems, TListItem descendants in TListView for delphi compatibility
  • r36821 gtk2 intf: fixed compilation FPC_FULLVERSION<20600
  • r36822 gtk2 intf: clean up
  • r36823 gtk2 intf: clean up
  • r36824 gtk2 intf: clean up
  • r36825 LCL: initialize font height with the height from DefFontData
  • r36852 IDE: when checking if global unit has changed, skip units in packages
  • r36857,36859 LCL: TControl.UpdateBaseBounds: set cfBaseBoundsValid
  • r36861 LCL: TCustomSplitter.SetAnchors: adapt anchors before applying
  • r36870 LCL: SetAlign: restore the basebounds set before changes
  • r36877 LCL: clean up
  • r36882 LCL: TControl.SetAnchors: during disabled autosize: update basebounds when changing Anchors, bug 21730
  • r36884 LCL: fixed sending CM_EXIT,CM_ENTER when flastfocusedcontrol was removed
  • r36885 LCL: constraint Width,Height to >=0
  • r36888 Converter: fixed 'Missing units' dialog localization, part of bug 21784
  • r36889,r36890 codetools: class completion: fixed gathr proc definitions
  • r36891 IDE: show compiling resource lines when error on compiling resources
  • r36892 IDE: improved message when can not find unit and unit was found in a package
  • r36893,r36894 IDE: messages: show debug: lines and calling resource compiler
  • r36895,r36896 gtk2 intf: checking for liboverlay, using value-changed instead of change-value
  • r36897 LCL: made TImage.DestRect public
  • r36899 Fix encoding errors in Japanese translation
  • r36900,r36901 startlazarus: fixed asking for custom or default
  • r36902 LCL: fixed ShowModal() when Hide() is called on modal form to be Delphi compatibile.issue #15390
  • r36903 IDE: fixed read/write designinfo, bug 21804
  • r36904 IDE: do not save a new project where only session was modified, bug 21803
  • r36905 gtk2 intf: fixed TGtk2WSCustomTabControl.GetDefaultClientRect to check if gtknotebook has a page
  • r36906,36907 codetools: AddLocalVar: do not add hidden used unit
  • r36908 Qt: added TQtWidget.testAttribute() function.
  • r36913 TAChart: Set Brush.Color before Brush.Style to work around issue #21806
  • r36924 gtk2 intf: TGtk2WSCustomTabControl.GetDefaultClientRect for TTabControl
  • r36925 Qt: fixed resize events of TQtTabWidget and accurate information about clientRect changes. issue #21805

How to merge

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

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


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

Or if you don't have a fixes directory checked out, you can pass the URL path of the fixes branch:

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