Lazarus
Announcements => Lazarus => Topic started 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/
-
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.
-
Thx. :D
I see at least one bug fix that's not listed. But i'm 99% sure it's also merged (rev 49114).
-
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.
-
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)
-
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
-
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
-
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).
-
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...
-
The hosted webpages are completely gone, e.g. http://lazarus-ccr.sourceforge.net/
-
Confirmed, 1.4.2 rlelease is missing on SF though it is available here:
ftp://freepascal.dfmk.hu/pub/lazarus/releases/
-
Sourceforge is in maintenance mode if you are lucky, down if not. Evidently, they are having problems.
-
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.
-
Please post a screenshot. Does the "overexposure" occur with standard listbox drawing or only with ownerdraw styles?
-
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 )
-
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
-
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.
-
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 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.
-
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 !
-
I uploaded a new patch to bugtracker which hopefully will soon be applied and back-ported to Laz 1.4.4
-
I uploaded a new patch to bugtracker which hopefully will soon be applied and back-ported to Laz 1.4.4
Thanx to you :)
-
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:
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 ?
-
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.
-
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
@@ -613,7 +613,8 @@
is wrong.
is @@ -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 ?
-
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:
- Open file "win32wsstdctrls.pp", you find it in the folder "lcl\interfaces\win32" of the Lazarus installation.
- Seek the function "ListboxWindowProc" (it begins in line 580) and replace it by this one:
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.
-
Apparently unlike 1.4.0, 1.4.2 can be built using latest fpc trunk. This is a good thing.
-
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
-
(Y) Yeah !