Recent

Author Topic: 2.2.2 Listview in virtual mode: 3 good fixes are not in there .. - 2.2.4? => 3.0  (Read 1727 times)

d7_2_laz

  • Hero Member
  • *****
  • Posts: 511
If I ever had a problem with Lazarus in the last few months. then exclusively with listview in virtual mode. But here heavily.  Fortunately all had been sorted out meanwhile.
The last remaining three issues imo had been fixed perfectly within LazMain (great thanks again wp for you attention!).

Unfortunately those valuable fixes didn't find their way into the 2.2.2   :'(

LCL/TListView: More complete fix of issue #39708, based on patch by d7_2_laz...
https://gitlab.com/freepascal.org/lazarus/lazarus/-/commit/c0c30424debbd95c58fc9e8b98293dba55292d12

LCL/Listview: Fix listview jumping to first item when a key is pressed in virtual mode, issue #39715..
https://gitlab.com/freepascal.org/lazarus/lazarus/-/commit/d3396e9fa0a410cbebf9406812979b64ec1c430a

LCL/ListView: implement incremental search in virtual mode for Windows. Issue #39748.
https://gitlab.com/freepascal.org/lazarus/lazarus/-/commit/0883c8c5249a41a01a388275327225ef012c2e3e

What went wrong, or do I misunderstand something?
« Last Edit: July 04, 2023, 09:05:17 am by d7_2_laz »
Lazarus 3.2  FPC 3.2.2 Win10 64bit

wp

  • Hero Member
  • *****
  • Posts: 11857
TListView has seen a lot of changes and reverts, in particular #39708, over a long time and done by several developers. Simply merging the last fix would not have worked, and therefore, I had planned to wait for the next new feature release, v2.4.

The other two would have worked in 2.2.2, but I simply added the commits to the mergelist too late, and therefore they were postponed to v2.2.4 (they are included in the current fixes branch now). Sorry.

d7_2_laz

  • Hero Member
  • *****
  • Posts: 511
Ok wp, thank you for this information!

I just went back to check for others:
Virtual listview, MultiSelect: early reference to Selected object may cause performace problems
https://gitlab.com/freepascal.org/lazarus/lazarus/-/issues/39324
--resp:
Listview selected items in virtualmode
https://gitlab.com/freepascal.org/lazarus/lazarus/-/issues/39693
and did see that for the latter one the Milestone had been set to 2.4.1

But i noticed that this guy did reappear:
Virtual listview, MultiSelect: problem: only one item in the list: after click on empty space this single item keeps to stay selected
https://gitlab.com/freepascal.org/lazarus/lazarus/-/issues/39325

So, for a better understanding, would it be the best for persons (like me) that are interested in those patches to wait for 2.2.4  (maybe 2.4?) and to keep using the LazMain extract meanwhile?
(Wouldn't be a problem, because this version got rid of the listview issues ... it's only for to know).

Lazarus 3.2  FPC 3.2.2 Win10 64bit

wp

  • Hero Member
  • *****
  • Posts: 11857
Listview selected items in virtualmode
https://gitlab.com/freepascal.org/lazarus/lazarus/-/issues/39693
and did see that for the latter one the Milestone had been set to 2.4.1
I only see milestone 2.4 ...

So, for a better understanding, would it be the best for persons (like me) that are interested in those patches to wait for 2.2.4  (maybe 2.4?) and to keep using the LazMain extract meanwhile?
I have no idea when v2.4 will be released, but I guess you'll have to wait for it for a while.

You'll also have to wait for v2.2.4 (I even don't know if it ever will be released because the team may decide to go to v2.4 immediately). But that what once will be v2.2.4 is evolving every day in the fixes branch. So, when you install the fixes branch you'll get a live preview of v2.2.4. (see below)

Of course you can continue to work with your manually patched LazMain extract for yourself. However, when you report bugs, it will be quite difficult for us to follow because your exact version only exists on your computer, and there is some chance that we don't reckognize your committed code, or the bug even may already have been fixed and you did not notice it.

It is really not difficult to install the main or fixes branch: Install TortoiseGit, get the Lazarus/main or fixes git url and clone it to your disk using TortoiseGit. Then go to the download directory, add a file Lazarus.cfg containing the line "--primary-config-path=<path to your config directory>" (the config dir must not be used by any other installation). Then execute "make bigide" from a batch file in which you first set the system path to the fpc binary folder of your Laz 2.2.0 or 2.2.2 installation). When the IDE is ready and has started you are asked where to find the compiler and debugger (use those from your Laz 2.2.0 or 2.2.2). Install the components that you use. Ready. Due to the primary-config-path this installation is completely independent of any other Lazarus installation.

d7_2_laz

  • Hero Member
  • *****
  • Posts: 511
Yes, basically that are  the steps i did follow for to create the separate laz-git installation. No manual patches, but i do the clone refresh only when necessary.
Because actually i'm mainly working on that, as it perfectly fullfills the needs. So far everything is fine.
The important thing is that the fixes will be integrated in an official release at a later time, may it be 2.2.4 or even 2.4.

Thank you a lot for having clarified wp!
Lazarus 3.2  FPC 3.2.2 Win10 64bit

d7_2_laz

  • Hero Member
  • *****
  • Posts: 511
Re: 2.2.2 Win x64: Listview in virtual mode: 3 good fixes are not in there
« Reply #5 on: September 28, 2022, 11:30:21 am »
I had been very happy that with those patches the painful chapter around issues with llistview in virtual mode and MultiSelect finally had come to a happy end ... encountered no more problems since then.
So i checked the 2.2.4 ...

Unfortunately at least this one is still missing:
LCL/TListView: More complete fix of issue #39708, based on patch by d7_2_laz...
https://gitlab.com/freepascal.org/lazarus/lazarus/-/commit/c0c30424debbd95c58fc9e8b98293dba55292d12
... referring to this issue:
Windows, virtual listview, "Item" in "Edited" becomes to be wrong when selection changed during editing
https://gitlab.com/freepascal.org/lazarus/lazarus/-/issues/39708
Test project attached.
--> What can we do for to make it work again with the 2.2.4?


Lazarus 3.2  FPC 3.2.2 Win10 64bit

d7_2_laz

  • Hero Member
  • *****
  • Posts: 511
No news with 2.2.6. The changes are not in there  (but i expected that of course).

With lazarus-main all works fine. Just as some other solutions (related to the ShellCtrls).

Apparently there might be a 2.2.8 next, as seen somewhere in the wiki.

As Listview issues meanwhile accompanied me a very very long time and i'd really wish to get them fully out of my head, my paranoia question is: am i correct that:

- lazarus-main is the base/preview for 2.4 and - so - the 2.4 will definitively contain those solving changes officially?

Sorry for this question; it's only for to be sure; please don't misunderstand.

Besides those very sticky listview things -> no more problems, all my apps work fine, smooth and fast; it's a great pleasure to work with Lazarus and i didn't encounter yet regressions when using the 2.2.6.
1000 compliments to all contributors!
We can be very glad about this excellent software and community  :)


« Last Edit: March 11, 2023, 08:59:05 pm by d7_2_laz »
Lazarus 3.2  FPC 3.2.2 Win10 64bit

jamie

  • Hero Member
  • *****
  • Posts: 6090
Don't feel so bad, Apparently the issue with the Group Box and child window controls disappearing hasn't been addressed either, not even in the trunk from what I can see.

  But the good news is, you are free to fix it yourself locally  :D
The only true wisdom is knowing you know nothing

d7_2_laz

  • Hero Member
  • *****
  • Posts: 511
Thank you jamie! But it's probably a misunderstanding, there's nothing related to groupbox here ...

Patching by one self is possible; did so initially. But selective merges along diverse sub-releases (2.2.0, 2.2.2, 2.2.4, 2.2.6, 2.2.8?) it's rather frustrating and makes not much sense due to increasing diverse other dependencies and complexity of the changes itself along several files (here: shellctrls.pas, comctrls.pp, win32wscustomlistview.inc, win32wscomctrls.pp, customlistview.inc).

Better to work directly with lazarus-main instead. My concern is only that the changes really will be part of an official release. Sorry about my missing knowledge about how this works; i did feel an increasing unsureness as times go by ...

Lazarus 3.2  FPC 3.2.2 Win10 64bit

wp

  • Hero Member
  • *****
  • Posts: 11857
Like you, I finally gave up backporting the various changes of the shellctrls because there were occasional conflicts among the many commits.

But don't worry: Every new "feature release" (v2.4, v2.6, v3.0, ...) is based on the status of the entire main branch at the moment when the release is tagged. So, whatever is in main then, will be in v2.4 (v2.6, v3.0 etc).


d7_2_laz

  • Hero Member
  • *****
  • Posts: 511
This message lets this day to be a wonderful day  :)
Many thanks again wp !
Lazarus 3.2  FPC 3.2.2 Win10 64bit

d7_2_laz

  • Hero Member
  • *****
  • Posts: 511
Good news - after doing a couple of tests with Lazarus 3.0 RC1 it appears to me that those fixes dealing with a bunch of issues around Listview in virtual mode / MultiSelect, “Selected”, Editing, performance collapse etc. finally found their way into an official release! Great!
Many thanks especially to you wp who supported all that in an admirable way!
Lazarus 3.2  FPC 3.2.2 Win10 64bit

 

TinyPortal © 2005-2018