Forum > LCL

Polishing LCL for Laz 2.2.0

(1/2) > >>

Muso:
Since Laz 2.2.0 is close to be released, maybe the LCL package could be polished to get less compiler warnings.

I don't know if they can be ignored, so I list here what I think deserves a look:

Potential data loss:


--- Code: ---win32wscalendar.pp(235,27) Warning: Implicit string type conversion with potential data loss from "WideChar" to "AnsiString"
win32wsshellctrls.pp(83,24) Warning: Implicit string type conversion from "AnsiString" to "WideString"

--- End code ---

Range error:


--- Code: ---win32wsdialogs.pp(1131,7) Warning: Converting pointers to signed integers may result in wrong comparison results and range errors, use an unsigned type instead.

--- End code ---

Unrelated classes:


--- Code: ---win32wsbuttons.pp(593,7) Warning: Class types "TBitBtn" and "TBitBtnAceess" are not related

--- End code ---

Implicit string type conversion:


--- Code: ---win32wsdialogs.pp(354,51) Warning: Implicit string type conversion from "AnsiString" to "WideString"

--- End code ---

Implicit Pointer conversion:


--- Code: ---win32int.pp(21,26) Warning: User defined: Fix implicit pointer conversions

--- End code ---

Uninitialized variables:


--- Code: ---win32proc.pp(648,61) Hint: Local variable "IntfHeight" does not seem to be initialized
win32proc.pp(648,49) Hint: Local variable "IntfWidth" does not seem to be initialized
win32proc.pp(692,17) Hint: Variable "ORect" does not seem to be initialized
win32proc.pp(726,34) Hint: Local variable "TM" does not seem to be initialized
win32proc.pp(781,40) Hint: Local variable "winRect" does not seem to be initialized
win32proc.pp(782,40) Hint: Local variable "parRect" does not seem to be initialized
win32proc.pp(1051,91) Hint: Local variable "textSize" does not seem to be initialized
win32proc.pp(1073,23) Hint: Local variable "WideBuffer" of a managed type does not seem to be initialized
win32proc.pp(1196,12) Hint: Local variable "Info" does not seem to be initialized
win32proc.pp(1329,16) Hint: Local variable "Info" does not seem to be initialized
win32extra.pas(518,16) Hint: Local variable "Info" does not seem to be initialized
win32extra.pas(554,90) Hint: Local variable "TmpBytesPtr" does not seem to be initialized
win32extra.pas(585,94) Hint: Local variable "AlphaBytesPtr" does not seem to be initialized
win32extra.pas(671,88) Hint: Local variable "DstBytesPtr" does not seem to be initialized
win32wsimglist.pp(117,18) Hint: Local variable "Info" does not seem to be initialized
win32wsimglist.pp(160,18) Hint: Local variable "Info" does not seem to be initialized
win32wsimglist.pp(319,24) Hint: Local variable "DrawParams" does not seem to be initialized
win32themes.pas(215,28) Hint: Local variable "SHIconInfo" does not seem to be initialized
win32themes.pas(294,36) Hint: Function result variable does not seem to be initialized
win32themes.pas(435,37) Hint: Local variable "DrawRect" does not seem to be initialized
win32wsbuttons.pp(100,16) Hint: Local variable "Info" does not seem to be initialized
win32wsbuttons.pp(176,27) Hint: Local variable "PaintParams" does not seem to be initialized
win32wsbuttons.pp(179,104) Hint: Local variable "TmpDC" does not seem to be initialized
win32wsbuttons.pp(264,23) Hint: Local variable "Options" does not seem to be initialized
win32wsbuttons.pp(320,51) Hint: Local variable "TextSize" does not seem to be initialized
win32wscalendar.pp(152,23) Hint: Local variable "HitTestInfo" does not seem to be initialized
win32memostrings.inc(75,23) Hint: Local variable "WideBuffer" of a managed type does not seem to be initialized
win32memostrings.inc(171,17) Hint: Local variable "Msg" does not seem to be initialized
win32wsstdctrls.pp(787,52) Hint: Local variable "ARect" does not seem to be initialized
win32wsstdctrls.pp(821,19) Hint: Local variable "P" does not seem to be initialized
win32wsstdctrls.pp(1594,27) Hint: Local variable "S" of a managed type does not seem to be initialized
win32pagecontrol.inc(567,56) Hint: Local variable "R" does not seem to be initialized
win32pagecontrol.inc(602,16) Hint: Local variable "Mess" does not seem to be initialized
win32pagecontrol.inc(604,17) Hint: Local variable "NMHdr" does not seem to be initialized
win32wscustomlistview.inc(275,41) Hint: Local variable "CaptionSize" does not seem to be initialized
win32wscustomlistview.inc(503,15) Hint: Local variable "Itm" does not seem to be initialized
win32wscustomlistview.inc(1135,36) Hint: Local variable "rc" does not seem to be initialized
win32wscustomlistview.inc(1136,20) Hint: Local variable "hdLayout" does not seem to be initialized
win32wscustomlistview.inc(1400,40) Hint: Local variable "Origin" does not seem to be initialized
win32wscomctrls.pp(318,42) Hint: Local variable "R" does not seem to be initialized
win32wsdialogs.pp(884,53) Hint: Local variable "ShellItem" of a managed type does not seem to be initialized
win32trayicon.inc(162,17) Hint: Local variable "tnidw" does not seem to be initialized
win32trayicon.inc(200,16) Hint: Local variable "tnid" does not seem to be initialized
win32trayicon.inc(273,17) Hint: Local variable "tnidw" does not seem to be initialized
win32wsextdlgs.pp(119,39) Hint: Local variable "ARect" does not seem to be initialized
win32wsextdlgs.pp(122,38) Hint: Local variable "ADialogRect" does not seem to be initialized
win32wsforms.pp(649,43) Hint: Local variable "CurRect" does not seem to be initialized
win32wsshellctrls.pp(64,64) Hint: Local variable "FileInfo" does not seem to be initialized
win32listsl.inc(156,16) Hint: Local variable "w" of a managed type does not seem to be initialized
win32listsl.inc(330,53) Hint: Local variable "EditText" of a managed type does not seem to be initialized
win32callback.inc(698,68) Hint: Local variable "parTop" does not seem to be initialized
win32callback.inc(698,60) Hint: Local variable "parLeft" does not seem to be initialized
win32callback.inc(1136,20) Hint: Local variable "Files" of a managed type does not seem to be initialized
win32callback.inc(1140,27) Hint: Local variable "WideBuffer" of a managed type does not seem to be initialized
win32callback.inc(1910,57) Hint: Local variable "NewTop" does not seem to be initialized
win32callback.inc(1910,49) Hint: Local variable "NewLeft" does not seem to be initialized
win32callback.inc(1959,46) Hint: Local variable "NewHeight" does not seem to be initialized
win32callback.inc(1959,35) Hint: Local variable "NewWidth" does not seem to be initialized
win32callback.inc(2041,27) Hint: Local variable "LMouseEvent" does not seem to be initialized
win32callback.inc(2765,18) Hint: Local variable "Helper" does not seem to be initialized
win32callback.inc(2859,44) Hint: Local variable "LRect" does not seem to be initialized
win32object.inc(399,33) Hint: Local variable "AMessage" does not seem to be initialized
win32object.inc(653,61) Hint: Function result variable does not seem to be initialized
win32winapi.inc(57,100) Hint: Local variable "EY" does not seem to be initialized
win32winapi.inc(57,96) Hint: Local variable "EX" does not seem to be initialized
win32winapi.inc(57,92) Hint: Local variable "SY" does not seem to be initialized
win32winapi.inc(57,88) Hint: Local variable "SX" does not seem to be initialized
win32winapi.inc(80,69) Hint: Local variable "EY" does not seem to be initialized
win32winapi.inc(80,65) Hint: Local variable "EX" does not seem to be initialized
win32winapi.inc(80,61) Hint: Local variable "SY" does not seem to be initialized
win32winapi.inc(80,57) Hint: Local variable "SX" does not seem to be initialized
win32winapi.inc(184,24) Hint: Local variable "ScrollInfo" does not seem to be initialized
win32winapi.inc(440,43) Hint: Local variable "BufferWideString" of a managed type does not seem to be initialized
win32winapi.inc(608,35) Hint: Local variable "BufferString" of a managed type does not seem to be initialized
win32winapi.inc(1343,29) Hint: Local variable "ALogFont" does not seem to be initialized
win32winapi.inc(1535,57) Hint: Local variable "DxWide" of a managed type does not seem to be initialized
win32winapi.inc(2435,18) Hint: Local variable "Info" does not seem to be initialized
win32winapi.inc(3682,22) Hint: Local variable "Header" does not seem to be initialized
win32lclintf.inc(154,68) Hint: Local variable "exitcode" does not seem to be initialized
win32lclintf.inc(262,81) Hint: Local variable "WindowClass" does not seem to be initialized
win32lclintf.inc(704,24) Hint: Local variable "TaskConfig" does not seem to be initialized
win32lclintf.inc(835,100) Hint: Local variable "DstLinePtr" does not seem to be initialized
win32lclintf.inc(1013,18) Hint: Local variable "WinDIB" does not seem to be initialized
win32lclintf.inc(1103,18) Hint: Local variable "Info" does not seem to be initialized
win32lclintf.inc(1111,101) Hint: Local variable "BitsPtr" does not seem to be initialized
win32debug.pp(78,25) Hint: Local variable "PS" does not seem to be initialized
win32debug.pp(128,14) Hint: Local variable "wc" does not seem to be initialized

--- End code ---

Unused units and parameters:


--- Code: ---win32proc.pp(180,3) Hint: Unit "LCLStrConsts" not used in Win32Proc
win32extra.pas(810,24) Hint: Parameter "DC" not used
win32extra.pas(810,33) Hint: Parameter "p2" not used
win32extra.pas(810,49) Hint: Parameter "p3" not used
win32extra.pas(810,60) Hint: Parameter "p4" not used
win32extra.pas(810,73) Hint: Parameter "p5" not used
win32extra.pas(810,77) Hint: Parameter "p6" not used
win32extra.pas(834,26) Hint: Parameter "hwnd" not used
win32extra.pas(834,38) Hint: Parameter "idObject" not used
win32extra.pas(834,54) Hint: Parameter "idItem" not used
win32extra.pas(834,68) Hint: Parameter "pmbi" not used
win32extra.pas(839,25) Hint: Parameter "hwnd" not used
win32extra.pas(839,37) Hint: Parameter "pwi" not used
win32extra.pas(844,30) Hint: Parameter "siid" not used
win32extra.pas(844,45) Hint: Parameter "uFlags" not used
win32extra.pas(844,59) Hint: Parameter "psii" not used
win32extra.pas(849,21) Hint: Parameter "dc" not used
win32extra.pas(849,30) Hint: Parameter "l" not used
win32extra.pas(854,38) Hint: Parameter "HWND" not used
win32extra.pas(854,50) Hint: Parameter "crKey" not used
win32extra.pas(854,67) Hint: Parameter "bAlpha" not used
win32extra.pas(854,81) Hint: Parameter "dwFlags" not used
win32extra.pas(859,31) Hint: Parameter "hWnd" not used
win32extra.pas(859,43) Hint: Parameter "hdcDst" not used
win32extra.pas(859,56) Hint: Parameter "pptDst" not used
win32extra.pas(859,72) Hint: Parameter "psize" not used
win32extra.pas(860,7) Hint: Parameter "hdcSrc" not used
win32extra.pas(860,20) Hint: Parameter "pptSrc" not used
win32extra.pas(860,36) Hint: Parameter "crKey" not used
win32extra.pas(860,53) Hint: Parameter "pblend" not used
win32extra.pas(860,77) Hint: Parameter "dwFlags" not used
win32extra.pas(870,36) Hint: Parameter "pTaskConfig" not used
win32extra.pas(870,68) Hint: Parameter "pnButton" not used
win32extra.pas(870,88) Hint: Parameter "pnRadioButton" not used
win32extra.pas(870,113) Hint: Parameter "pfVerificationFlagChecked" not used
win32extra.pas(875,22) Hint: Parameter "hwndParent" not used
win32extra.pas(875,40) Hint: Parameter "hInstance" not used
win32extra.pas(875,58) Hint: Parameter "pszWindowTitle" not used
win32extra.pas(875,82) Hint: Parameter "pszMainInstruction" not used
win32extra.pas(875,110) Hint: Parameter "pszContent" not used
win32extra.pas(876,5) Hint: Parameter "dwCommonButtons" not used
win32extra.pas(876,54) Hint: Parameter "pszIcon" not used
win32extra.pas(876,71) Hint: Parameter "pnButton" not used
win32extra.pas(881,39) Hint: Parameter "pszPath" not used
win32extra.pas(881,56) Hint: Parameter "pbc" not used
win32extra.pas(881,77) Hint: Parameter "riid" not used
win32extra.pas(881,95) Hint: Parameter "ppv" not used
win32extra.pas(29,3) Hint: Unit "InterfaceBase" not used in Win32Extra
win32wscontrols.pp(64,35) Hint: Parameter "AWinControl" not used
win32wscontrols.pp(67,74) Hint: Parameter "ABorderStyle" not used
win32wscontrols.pp(71,36) Hint: Parameter "AWinControl" not used
win32wscontrols.pp(77,45) Hint: Parameter "AWinControl" not used
win32wscontrols.pp(42,78) Hint: Parameter "Window" not used
win32wscontrols.pp(44,35) Hint: Parameter "ADragImageList" not used
win32wscontrols.pp(45,35) Hint: Parameter "ADragImageList" not used
win32wscontrols.pp(46,40) Hint: Parameter "ADragImageList" not used
win32wscontrols.pp(48,40) Hint: Parameter "ADragImageList" not used
win32wsimglist.pp(48,36) Hint: Parameter "AList" not used
win32themes.pas(126,3) Hint: Local const "IDI_APPLICATION" is not used
win32themes.pas(131,3) Hint: Local const "IDI_WINLOGO" is not used
win32wsbuttons.pp(50,65) Hint: Parameter "UseRightToLeftAlign" not used
win32wsbuttons.pp(50,86) Hint: Parameter "UseRightToLeftReading" not used
win32wsbuttons.pp(50,109) Hint: Parameter "UseRightToLeftScrollBar" not used
win32wsbuttons.pp(53,66) Hint: Parameter "AValue" not used
win32wsbuttons.pp(54,67) Hint: Parameter "AValue" not used
win32wsbuttons.pp(55,67) Hint: Parameter "AValue" not used
win32wsbuttons.pp(56,68) Hint: Parameter "AValue" not used
win32wscalendar.pp(46,15) Hint: Parameter "Left" not used
win32wscalendar.pp(46,21) Hint: Parameter "Top" not used
win32wscalendar.pp(46,54) Hint: Parameter "SuppressMove" not used
win32wscalendar.pp(61,13) Hint: Unit "InterfaceBase" not used in Win32WSCalendar
win32wsstdctrls.pp(619,67) Hint: Parameter "Window" not used
win32wsstdctrls.pp(57,65) Hint: Parameter "UseRightToLeftAlign" not used
win32wsstdctrls.pp(58,7) Hint: Parameter "UseRightToLeftReading" not used
win32wsstdctrls.pp(58,30) Hint: Parameter "UseRightToLeftScrollBar" not used
win32wsstdctrls.pp(61,11) Hint: Parameter "WithThemeSpace" not used
win32wsstdctrls.pp(123,15) Hint: Parameter "Left" not used
win32wsstdctrls.pp(123,21) Hint: Parameter "Top" not used
win32wsstdctrls.pp(123,33) Hint: Parameter "Height" not used
win32wsstdctrls.pp(123,54) Hint: Parameter "SuppressMove" not used
win32wsstdctrls.pp(143,74) Hint: Parameter "ACount" not used
win32wsstdctrls.pp(146,82) Hint: Parameter "AExtendedSelect" not used
win32wsstdctrls.pp(147,7) Hint: Parameter "AMultiSelect" not used
win32wsstdctrls.pp(149,37) Hint: Parameter "ACustomListBox" not used
win32wsstdctrls.pp(81,44) Hint: Parameter "AWinControl" not used
win32wsstdctrls.pp(80,15) Hint: Parameter "Left" not used
win32wsstdctrls.pp(80,21) Hint: Parameter "Top" not used
win32wsstdctrls.pp(80,26) Hint: Parameter "Width" not used
win32wsstdctrls.pp(80,54) Hint: Parameter "SuppressMove" not used
win32wsstdctrls.pp(83,11) Hint: Parameter "PreferredWidth" not used
win32wsstdctrls.pp(83,53) Hint: Parameter "WithThemeSpace" not used
win32wsstdctrls.pp(91,52) Hint: Parameter "ACustomComboBox" not used
win32wsstdctrls.pp(92,7) Hint: Parameter "NewTraverseList" not used
win32wsstdctrls.pp(106,32) Hint: Parameter "ACustomComboBox" not used
win32wsstdctrls.pp(109,81) Hint: Parameter "AItemHeight" not used
win32wsstdctrls.pp(174,11) Hint: Parameter "WithThemeSpace" not used
win32wsstdctrls.pp(180,39) Hint: Parameter "ACustomEdit" not used
win32wsstdctrls.pp(180,65) Hint: Parameter "NewMode" not used
win32wsstdctrls.pp(211,73) Hint: Parameter "NewScrollbars" not used
win32wsstdctrls.pp(212,71) Hint: Parameter "NewWordWrap" not used
win32wsstdctrls.pp(1733,43) Hint: Parameter "AWinControl" not used
win32wsstdctrls.pp(1733,69) Hint: Parameter "Window" not used
win32wsstdctrls.pp(237,11) Hint: Parameter "WithThemeSpace" not used
win32wsstdctrls.pp(239,8) Hint: Parameter "UseRightToLeftAlign" not used
win32wsstdctrls.pp(239,29) Hint: Parameter "UseRightToLeftReading" not used
win32wsstdctrls.pp(240,8) Hint: Parameter "UseRightToLeftScrollBar" not used
win32wsstdctrls.pp(241,84) Hint: Parameter "NewAlignment" not used
win32wsstdctrls.pp(242,92) Hint: Parameter "NewBorderStyle" not used
win32wsstdctrls.pp(269,69) Hint: Parameter "ShortCutK1" not used
win32wsstdctrls.pp(269,81) Hint: Parameter "ShortCutK2" not used
win32wsstdctrls.pp(283,39) Hint: Parameter "ACustomCheckBox" not used
win32wsstdctrls.pp(283,79) Hint: Parameter "ShortCutK1" not used
win32wsstdctrls.pp(283,91) Hint: Parameter "ShortCutK2" not used
win32wsstdctrls.pp(284,65) Hint: Parameter "UseRightToLeftAlign" not used
win32wsstdctrls.pp(285,7) Hint: Parameter "UseRightToLeftReading" not used
win32wsstdctrls.pp(285,30) Hint: Parameter "UseRightToLeftScrollBar" not used
win32wsstdctrls.pp(287,80) Hint: Parameter "NewAlignment" not used
win32wsstdctrls.pp(35,12) Hint: Unit "InterfaceBase" not used in Win32WSStdCtrls

win32pagecontrol.inc(222,43) Hint: Parameter "WinProcess" not used
win32wsforms.pp(74,17) Hint: Parameter "ABorderIcons" not used
win32wsforms.pp(78,36) Hint: Parameter "AFormBorderStyle" not used
win32wsforms.pp(83,14) Hint: Parameter "APopupParent" not used
win32wsmenus.pp(595,135) Hint: Parameter "ItemAction" not used
win32wsmenus.pp(1007,36) Hint: Parameter "aSelected" not used
win32wsmenus.pp(1048,23) Hint: Parameter "ASelected" not used
win32wsmenus.pp(45,39) Hint: Parameter "AMenuItem" not used
win32wsmenus.pp(49,67) Hint: Parameter "ShortCutK1" not used
win32wsmenus.pp(49,79) Hint: Parameter "ShortCutK2" not used
win32wsmenus.pp(52,70) Hint: Parameter "HasIcon" not used
win32wsmenus.pp(52,94) Hint: Parameter "AIcon" not used
win32wsmenus.pp(59,39) Hint: Parameter "AMenu" not used
win32wsmenus.pp(60,53) Hint: Parameter "UseRightToLeftAlign" not used
win32wsmenus.pp(60,74) Hint: Parameter "UseRightToLeftReading" not used
win32wsmenus.pp(73,39) Hint: Parameter "AMenu" not used
win32wsmenus.pp(118,3) Hint: Local const "W95_MENUITEMINFO_SIZE" is not used
win32wsmenus.pp(86,6) Hint: Unit "StrUtils" not used in Win32WSMenus
win32wsspin.pp(56,11) Hint: Parameter "WithThemeSpace" not used
win32callback.inc(36,49) Hint: Parameter "Data" not used
win32callback.inc(373,52) Hint: Parameter "aIsDblClick" not used
win32callback.inc(2928,29) Hint: Parameter "window_hwnd" not used
win32callback.inc(2928,49) Hint: Parameter "msg" not used
win32callback.inc(2928,81) Hint: Parameter "dwTime" not used
win32int.pp(196,28) Hint: Parameter "AComponent" not used
win32int.pp(163,27) Hint: Parameter "Msg" not used
win32int.pp(188,45) Hint: Parameter "ASystemTopAlso" not used
win32int.pp(195,24) Hint: Parameter "CanvasHandle" not used
win32winapih.inc(33,27) Hint: Parameter "ClipboardType" not used
win32winapih.inc(35,30) Hint: Parameter "ClipboardType" not used
win32winapih.inc(60,23) Hint: Parameter "Handle" not used
win32winapih.inc(202,63) Hint: Parameter "MinItemsHeight" not used
win32winapih.inc(205,24) Hint: Parameter "Handle" not used
win32winapih.inc(235,137) Hint: Parameter "XMask" not used
win32winapih.inc(235,144) Hint: Parameter "YMask" not used
win32lclintfh.inc(26,44) Hint: Parameter "AFlags" not used
win32lclintf.inc(105,7) Hint: Parameter "Metric" not used
win32lclintf.inc(106,3) Hint: Parameter "FontType" not used
win32int.pp(148,49) Hint: Parameter "AFlags" not used
win32lclintfh.inc(47,37) Hint: Parameter "AVKey" not used
win32lclintfh.inc(47,56) Hint: Parameter "AShiftState" not used
win32callback.inc(321,23) Hint: Local type "TAccessCustomEdit" is not used
win32int.pp(266,3) Hint: Unit "Win32WSFactory" not used in Win32Int
interfaces.pp(29,3) Hint: Unit "InterfaceBase" not used in Interfaces

--- End code ---

PascalDragon:

--- Quote from: Muso on October 27, 2021, 03:39:51 am ---Since Laz 2.2.0 is close to be released, maybe the LCL package could be polished to get less compiler warnings.
--- End quote ---

As you wrote, Lazarus 2.2.0 is close to be released, so that is precisely not the time to mess with warnings at least if they aren't critical.

So best provide patches against main so that there'll be less in future releases.


--- Quote from: Muso on October 27, 2021, 03:39:51 am ---Unrelated classes:


--- Code: ---win32wsbuttons.pp(593,7) Warning: Class types "TBitBtn" and "TBitBtnAceess" are not related

--- End code ---

--- End quote ---

As this is used to access a protected field of TCustomBitBtn this could be solved with a class helper for TCustomBitBtn.

Muso:

--- Quote from: PascalDragon on October 27, 2021, 09:06:06 am ---As you wrote, Lazarus 2.2.0 is close to be released, so that is precisely not the time to mess with warnings at least if they aren't critical.

--- End quote ---

I don't agree with that policy. I am an OpenSource developer too and in the release phase we purposely take time to address such issues.
Potential data losses and uninitialized variables should be fixed in any case.

And when if not now is the best time to look at unused variable?
However, I just reported what I saw and will be quiet.

JuhaManninen:

--- Quote from: Muso on October 27, 2021, 12:31:36 pm ---And when if not now is the best time to look at unused variable?
However, I just reported what I saw and will be quiet.

--- End quote ---
No need to be quiet. Please provide a patch or merge request to fix the issue.
Alexey opened an issue in the bug tracker which can be reopened for a possible patch. He closed it after I complained about a missing patch.
 https://gitlab.com/freepascal.org/lazarus/lazarus/-/issues/39445
I don't promise the fix goes to 2.2 though.
Apparently LCL-Win32 does not get as much attention now as it did. Many developers use Linux or MacOS instead of Windows.

Alextp:
I provided a partial fix, and reopened the issue.

Navigation

[0] Message Index

[#] Next page

Go to full version