Lazarus

Announcements => Lazarus => Topic started by: Martin_fr on July 14, 2015, 04:37:59 pm

Title: Lazarus 1.4.2 Release
Post by: Martin_fr on July 14, 2015, 04:37:59 pm
The Lazarus team is glad to announce the release of Lazarus 1.4.2.

This release was built with FPC 2.6.4, same as the previous
release Lazarus 1.4.0.

Here is the list of fixes for Lazarus 1.4.2:
http://wiki.freepascal.org/Lazarus_1.4_fixes_branch#Fixes_for_1.4.2_.28Merged.29

Here is the list of changes for Lazarus and Free Pascal:
http://wiki.lazarus.freepascal.org/Lazarus_1.4.0_release_notes
http://wiki.lazarus.freepascal.org/User_Changes_2.6.4

The release is available for download on SourceForge:
http://sourceforge.net/projects/lazarus/files/

Choose your CPU, OS, distro and then the "Lazarus 1.4.2" directory.
Windows x64 users: please use the 32 bit installer if possible. See
http://wiki.lazarus.freepascal.org/Windows_Programming_Tips#FPC_2.6.x.2FLazarus_warning_.28Missing_support_for_SEH.29
for more details.

Minimum requirements:
Windows:       98, 2k, XP, Vista, 7, 32 or 64bit.
               On 64bit it is recommended to use the 32bit IDE.
               Win98 IDE needs building with flag -dWIN9XPLATFORM.
FreeBSD/Linux: gtk 2.8 or qt4.5, 32 or 64bit.
Mac OS X:      10.5 to 10.10, 10.9+ debugging requires -gw,
               LCL only 32bit, non LCL apps can be 64bit.

The svn tag is
http://svn.freepascal.org/svn/lazarus/tags/lazarus_1_4_2

For people who are blocked by SF, the Lazarus releases from SourceForge
are mirrored at:
ftp://freepascal.dfmk.hu/pub/lazarus/releases/
and later at (after some time for synchronization)
http://michael-ep3.physik.uni-halle.de/Lazarus/releases/
and
http://mirrors.iwi.me/lazarus/
Title: Re: Lazarus 1.4.2 Release
Post by: lainz on July 14, 2015, 05:00:14 pm
I can install this lazarus on top of the 1.4.0 or I must uninstall and install it.

Also I have the Lazarus for Windows 32 bits with CrossCompiler for 64 bit.
Title: Re: Lazarus 1.4.2 Release
Post by: Basile B. on July 14, 2015, 05:29:33 pm
Thx.  :D

I see at least one bug fix that's not listed. But i'm 99% sure it's also merged (rev 49114).
Title: Re: Lazarus 1.4.2 Release
Post by: Martin_fr on July 14, 2015, 06:20:58 pm
Thx.  :D

I see at least one bug fix that's not listed. But i'm 99% sure it's also merged (rev 49114).

49114 (SynEdit caret) was only broken in 1.4 fixes. So the fix is in 1.4.2. There was no fix needed for trunk (1.5)

So technically it wasn't merged. That would have required it to be on trunk first.
Title: Re: Lazarus 1.4.2 Release
Post by: jc99 on July 14, 2015, 06:31:12 pm
Thanks,
I can install this lazarus on top of the 1.4.0 or I must uninstall and install it.

Also I have the Lazarus for Windows 32 bits with CrossCompiler for 64 bit.
I give it a try ... (will post, either way) ...
[Edit]
Installed it right over 1.4.0 (32-bit on  Win7 x64)
On first compile, problems with Indy 10.2.x (deal with that later)
Second compile fine
32-bit works,
64-bit xCompile works.
seems OK ....
So a BIG THANKS goes to the developers (Y)
Title: Re: Lazarus 1.4.2 Release
Post by: Deepaak on July 14, 2015, 09:16:59 pm
big welcome for laz team. :-)
When we will get a new compiler. Its belng a long time we are working on 2.6.4. Eagerly waiting for FPC 2.8 / 3.0
Title: Re: Lazarus 1.4.2 Release
Post by: chenyuchih on July 15, 2015, 03:08:17 am
Thank you all the Lazarus Team!!

Well, I think the features & functions of Lazarus are already good enough for us to do anything except for some minor bug fixes. What I am waiting for is the next FPC(2.8? 3.0?) features supporting.....

Thanks again for such a good thing!

chenyuchih
Title: Re: Lazarus 1.4.2 Release
Post by: otoien on July 15, 2015, 04:27:39 am
Thanks to the team for the great work!

For those who are impatient waiting for the new features in FPC 3.+ the fixes branch can be installed with fcpup (without any parameters). I just updated my Win7 VM today to Lazarus 1.4.3/(FPC 3.0.1).
Title: Re: Lazarus 1.4.2 Release
Post by: SnoopyDog on July 17, 2015, 03:08:47 pm
For some reason SourceForge is messed up right now since hours. It shows Version 1.2.6 as the actual version and Lazarus 1.4RC3 is the most recent folder for all OS...
Title: Re: Lazarus 1.4.2 Release
Post by: BeniBela on July 17, 2015, 03:15:19 pm
The hosted webpages are completely gone, e.g. http://lazarus-ccr.sourceforge.net/
Title: Re: Lazarus 1.4.2 Release
Post by: ChrisTG on July 17, 2015, 04:13:38 pm
Confirmed, 1.4.2 rlelease is missing on SF though it is available here:
ftp://freepascal.dfmk.hu/pub/lazarus/releases/
Title: Re: Lazarus 1.4.2 Release
Post by: Signal on July 17, 2015, 04:41:43 pm
Sourceforge is in maintenance mode if you are lucky, down if not. Evidently, they are having problems.

Title: Re: Lazarus 1.4.2 Release
Post by: legroumf on July 18, 2015, 07:11:34 am
Hello and thank you for this update :)
However, I disable the "r49170 LCL-Win: Prevent Flicker in TListBox" because it created an overexposure effect on Lisbox implanted in a TPageControl.
Title: Re: Lazarus 1.4.2 Release
Post by: wp on July 18, 2015, 10:38:08 am
Please post a screenshot. Does the "overexposure" occur with standard listbox drawing or only with ownerdraw styles?
Title: Re: Lazarus 1.4.2 Release
Post by: jc99 on July 18, 2015, 04:23:57 pm
Please post a screenshot. Does the "overexposure" occur with standard listbox drawing or only with ownerdraw styles?
Does it look like this, then I got the same problem.
(Program: Example/Fontenumeration )
Title: Re: Lazarus 1.4.2 Release
Post by: wp on July 18, 2015, 10:33:19 pm
The mentioned patch was supposed to reduce background drawing in case of ownerdrawn listbox style. But this example demonstrates that standard background drawing is broken now.

I reopened the old bugreport http://bugs.freepascal.org/view.php?id=28146
Title: Re: Lazarus 1.4.2 Release
Post by: jc99 on July 19, 2015, 01:10:58 am
The mentioned patch was supposed to reduce background drawing in case of ownerdrawn listbox style. But this example demonstrates that standard background drawing is broken now.

I reopened the old bugreport http://bugs.freepascal.org/view.php?id=28146 (http://bugs.freepascal.org/view.php?id=28146)
I have to (un-)clarify things a little,
The screenshot came from a x86_64 (win64) compile, i tried to reproduce it (Form with single listview filled with lots of Random text (short and long)),
but i was not able to reproduce the error jet, only two programs (both font-related, both Win64-x64) show this strange behavior.
Title: Re: Lazarus 1.4.2 Release
Post by: wp on July 19, 2015, 09:42:16 am
I can reproduce it with the fontenum example. It is important to scroll the list down until the next page is visible which has not yet been painted. Standard background painting probably is not executed after scrolling.
Title: Re: Lazarus 1.4.2 Release
Post by: jc99 on July 19, 2015, 01:02:42 pm
I can reproduce it with the fontenum example. It is important to scroll the list down until the next page is visible which has not yet been painted. Standard background painting probably is not executed after scrolling.
I found out, why on some progs it works, and on other why not.
I stripped the font-enum-example down to it's bare minimum -> Error still there,
and compared it to the running example.
Difference was the XP-Manifest.
... and voila ...
Without: listbox with error
With XPMan : listbox OK
[Edit:]
To get the error, I don't have to scroll down a whole page, Scrolling down 1 line with the side-scrollbar is enough, (Background turns black)

PS.: Is it a good thing having the discussion about this error in this thread, or should there be a new one ?
PPS: If you like I can post or pm you my test-project.
Title: Re: Lazarus 1.4.2 Release
Post by: legroumf on July 20, 2015, 06:48:11 am
Please post a screenshot. Does the "overexposure" occur with standard listbox drawing or only with ownerdraw styles?
Does it look like this, then I got the same problem.
(Program: Example/Fontenumeration )

yes, this is exactly here !
Title: Re: Lazarus 1.4.2 Release
Post by: wp on July 20, 2015, 12:51:42 pm
I uploaded a new patch to bugtracker which hopefully will soon be applied and back-ported to Laz 1.4.4
Title: Re: Lazarus 1.4.2 Release
Post by: legroumf on July 20, 2015, 01:15:53 pm
I uploaded a new patch to bugtracker which hopefully will soon be applied and back-ported to Laz 1.4.4

Thanx to you :)
Title: Re: Lazarus 1.4.2 Release
Post by: jc99 on July 20, 2015, 10:27:39 pm
I uploaded a new patch to bugtracker which hopefully will soon be applied and back-ported to Laz 1.4.4
Thanks,
I think the patch for 1.4.2 should look like:
Code: [Select]
Index: win32wsstdctrls.pp
===================================================================
--- win32wsstdctrls.pp    (revision 49524)
+++ win32wsstdctrls.pp    (working copy)
@@ -613,7 +613,8 @@
         Exit(DeliverMessage(WindowInfo^.WinControl, LMessage));
       end;
     WM_ERASEBKGND:
      // Avoid unnecessary background paints to avoid flickering of the listbox
+      if (WindowsVersion <= wvXP) or not ThemeServices.ThemesEnabled then
+        // Standardbehavior for XP, or no themes
+        Result := CallDefaultWindowProc(Window, Msg, WParam, LParam)
+      else
      begin
        WindowInfo := GetWin32WindowInfo(Window);
Is that correct ?
Title: Re: Lazarus 1.4.2 Release
Post by: wp on July 20, 2015, 10:58:02 pm
Yes, patches are always relative to trunk. After being applied I'll request backporting to Laz 1.4fixes (http://wiki.lazarus.freepascal.org/Lazarus_1.4_fixes_branch (http://wiki.lazarus.freepascal.org/Lazarus_1.4_fixes_branch)), which eventually will turn into Laz 1.4.4. The current version 1.4.2 will not be touched any more.
Title: Re: Lazarus 1.4.2 Release
Post by: jc99 on July 21, 2015, 12:04:10 am
Yes, patches are always relative to trunk. After being applied I'll request backporting to Laz 1.4fixes (http://wiki.lazarus.freepascal.org/Lazarus_1.4_fixes_branch (http://wiki.lazarus.freepascal.org/Lazarus_1.4_fixes_branch)), which eventually will turn into Laz 1.4.4. The current version 1.4.2 will not be touched any more.
Definitely.
It was not meant to be something to change the release. It was only meant as a quick-fix for those who want to apply your change(s) to get the bug in their 1.4.2 version fixed, knowing that they change release sources, and not working with 1.4.2 anymore but with an experimental thing. Which is, btw looking relative good, thanks to you.
I think the
Code: [Select]
@@ -613,7 +613,8 @@
is wrong.
is
Code: [Select]
@@ -613,6 +613,10 @@ better ?
About the comment, was the comment omitted in the trunk ?
Is it better after the else-statement , or also omitted ?
Title: Re: Lazarus 1.4.2 Release
Post by: wp on July 21, 2015, 12:47:06 am
Since many people are not familiar with patching I am posting here step-by-step instructions to quick-fix the non-themed listbox background painting issue of Laz 1.4.2 for those who cannot wait for Laz 1.4.4:
Code: [Select]
function ListBoxWindowProc(Window: HWnd; Msg: UInt; WParam: Windows.WParam;
    LParam: Windows.LParam): LResult; stdcall;
var
  WindowInfo: PWin32WindowInfo;
  NCCreateParams: PNCCreateParams;
  LMessage: TLMessage;
  Count: LResult;
  Top: Integer;
  ARect: TRect;
begin
  case Msg of
    WM_NCCREATE:
      begin
        NCCreateParams := PCREATESTRUCT(lParam)^.lpCreateParams;
        if Assigned(NCCreateParams) then
        begin
          WindowInfo := AllocWindowInfo(Window);
          WindowInfo^.WinControl := NCCreateParams^.WinControl;
          WindowInfo^.WinControl.Handle := Window;
          WindowInfo^.DefWndProc := NCCreateParams^.DefWndProc;
          // listbox is not a transparent control -> no need for parentpainting
          WindowInfo^.needParentPaint := False;
          SetWindowLong(Window, GWL_ID, PtrInt(NCCreateParams^.WinControl));
          NCCreateParams^.Handled := True;
        end;
      end;
    WM_MEASUREITEM:
      begin
        WindowInfo := GetWin32WindowInfo(Window);
        LMessage.Msg := LM_MEASUREITEM;
        LMessage.LParam := LParam;
        LMessage.WParam := WParam;
        LMessage.Result := 0;
        Exit(DeliverMessage(WindowInfo^.WinControl, LMessage));
      end;
    WM_ERASEBKGND:
      if (WindowsVersion <= wvXP) or not ThemeServices.ThemesEnabled then
        // Standardbehavior for XP, or no themes
        Result := CallDefaultWindowProc(Window, Msg, WParam, LParam)
      else
      begin
        // Avoid unnecessary background paints to avoid flickering of the listbox
        WindowInfo := GetWin32WindowInfo(Window);
        Count := SendMessage(Window, LB_GETCOUNT, 0, 0);
        if Assigned(WindowInfo^.WinControl) and
          (TCustomListBox(WindowInfo^.WinControl).Columns < 2) and
          (Count <> LB_ERR) and (SendMessage(Window, LB_GETITEMRECT, Count - 1, Windows.LParam(@ARect)) <> LB_ERR) then
        begin
          Top := ARect.Bottom;
          Windows.GetClientRect(Window, ARect);
          ARect.Top := Top;
          if not IsRectEmpty(ARect) then
            Windows.FillRect(HDC(WParam), ARect, WindowInfo^.WinControl.Brush.Reference.Handle);
          Result := 1;
        end
        else
          Result := CallDefaultWindowProc(Window, Msg, WParam, LParam);
        Exit;
      end;
  end;
  // normal processing
  Result := WindowProc(Window, Msg, WParam, LParam);
end;

I just installed 1.4.2 and followed this procedure - it is working.
Title: Re: Lazarus 1.4.2 Release
Post by: lagprogramming on July 21, 2015, 02:45:36 pm
Apparently unlike 1.4.0, 1.4.2 can be built using latest fpc trunk. This is a good thing.
Title: Re: Lazarus 1.4.2 Release
Post by: wp on July 22, 2015, 11:23:00 am
I uploaded a new patch to bugtracker which hopefully will soon be applied and back-ported to Laz 1.4.4
The patch now has been applied by Juha to trunk and it will make it into Laz 1.4.4
Title: Re: Lazarus 1.4.2 Release
Post by: jc99 on July 22, 2015, 06:22:09 pm
(Y) Yeah !
TinyPortal © 2005-2018