[Bug 49592] New: WinSCP shows folders with file icons and blank column data
https://bugs.winehq.org/show_bug.cgi?id=49592 Bug ID: 49592 Summary: WinSCP shows folders with file icons and blank column data Product: Wine Version: 5.13 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown Assignee: wine-bugs(a)winehq.org Reporter: mgruber_72(a)yahoo.de Distribution: --- Created attachment 67751 --> https://bugs.winehq.org/attachment.cgi?id=67751 WinSCP with mixed up icons and blank column data Steps to reproduce: 1. Get WinSCP 5.17 from winscp.net 2. Connect to a linux box. 3. Navigate to root folder with your mouse using the "/" icon, then click on /etc, scroll to /etc/init (or any other folder which requires scrolling) and click on it. 4. Use the "upper directory" button to go back to /etc Result: Folders suddenly show up with file icons (see the attached screenshot) and column data is blank. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=49592 mgruber <mgruber_72(a)yahoo.de> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |martin(a)winscp.net -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=49592 mgruber <mgruber_72(a)yahoo.de> changed: What |Removed |Added ---------------------------------------------------------------------------- Component|-unknown |comctl32 -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=49592 --- Comment #1 from Nikolay Sivov <bunglehead(a)gmail.com> --- Why do you think it's a control issue? -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=49592 --- Comment #2 from mgruber <mgruber_72(a)yahoo.de> --- I guessed that comctl32 might be responsible for the whole list view. Correct me if I'm wrong, I'm no expert in windows programming. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=49592 --- Comment #3 from Nikolay Sivov <bunglehead(a)gmail.com> --- It might be, but it might also be given incorrect per-item icons in a first place, so issue could be in some host code that determines item kind (folder or a file). -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=49592 --- Comment #4 from mgruber <mgruber_72(a)yahoo.de> --- To me it looks like some kind of icon caching bug that gets triggered when you return to a previously visited folder. Reloading the folder normalizes it. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=49592 Nikolay Sivov <bunglehead(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Component|comctl32 |-unknown -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=49592 --- Comment #5 from mgruber <mgruber_72(a)yahoo.de> --- Since I just had to close one of my other bug reports (#49594) due to mixing up my Wine Staging with my Wine Stable environment: I just double checked that this bug still exists in 5.13 -> it does. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=49592 --- Comment #6 from mgruber <mgruber_72(a)yahoo.de> --- I was in contact with Martin Přikryl (author of WinSCP). After several debug builds he was able to confirm that it's not a WinSCP bug: it's a bug in the Wine component which caches the icons and timestamps. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=49592 --- Comment #7 from Nikolay Sivov <bunglehead(a)gmail.com> --- (In reply to mgruber from comment #6)
I was in contact with Martin Přikryl (author of WinSCP). After several debug builds he was able to confirm that it's not a WinSCP bug: it's a bug in the Wine component which caches the icons and timestamps.
Any idea which component is this? -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=49592 mgruber <mgruber_72(a)yahoo.de> changed: What |Removed |Added ---------------------------------------------------------------------------- Component|-unknown |comctl32 --- Comment #8 from mgruber <mgruber_72(a)yahoo.de> --- List views are provided by comctl32 and user32 according to the MS documentation. I've set it to comctl32 now, feel free to change if I'm wrong. I just verified the bug with 5.16, it persists. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=49592 Nikolay Sivov <bunglehead(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Component|comctl32 |-unknown --- Comment #9 from Nikolay Sivov <bunglehead(a)gmail.com> --- This will need some more information from the author to get it fixed, e.g. what specifically breaks. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=49592 --- Comment #10 from mgruber <mgruber_72(a)yahoo.de> --- I'm feeling like I'm caught in an endless loop with this bug report. Martin Přikryl told me a few hours ago that the list view component is responsible for the row data handling. List view functionality is provided by comctl32 and user32. It works fine on native Windows. There's no sign in the debug files why Wine is messing it up. WinSCP requests the folder data and gets the wrong data back once it has been cached before. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=49592 --- Comment #11 from Martin Prikryl <martin(a)winscp.net> --- WinSCP does not get wrong data. It gets the same data everytime. Based on that, WinSCP asks to draw the same icon (icon index) everytime. But different data is drawn in some cases. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=49592 --- Comment #12 from Nikolay Sivov <bunglehead(a)gmail.com> --- (In reply to Martin Prikryl from comment #11)
WinSCP does not get wrong data. It gets the same data everytime. Based on that, WinSCP asks to draw the same icon (icon index) everytime. But different data is drawn in some cases.
Same data from where? Could you point me to relevant part in winscp code that does not work correctly? If it's really listview issue it might be LVS_OWNERDATA problem, or not. Listview does not do caching in usual sense, it either stores per-item data or doesn't and calls back to hosting window when it has to. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=49592 --- Comment #13 from Martin Prikryl <martin(a)winscp.net> --- Sorry for my late answer. It took some time to debug this. WinSCP uses a list view to implement a file browser. To indicate the icon for the file, WinSCP uses LVN_GETDISPINFO callback. The reported problem only happens in specific situation, which is actually not related to caching at all. The problem happens after loading the file list into the list view. In a specific situation, WinSCP moves the focus to specific file (list view item). That happens, when the user browses to the parent directory. WinSCP then focuses the previously visited subdirectory. For the focus, ListView_SetItemState is used with mask=LVIS_FOCUSED. If the change of the focus requires scrolling of the view, Wine immediately triggers the LVN_GETDISPINFO callback. WinSCP does not expect the callback so soon and ignores it. That probably results into use of some default icons. This does not happen in Windows. Windows trigger the callback much later. It would be easy to change WinSCP not to trigger the problem. But I believe it's against Wine policy. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=49592 Nikolay Sivov <bunglehead(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Component|-unknown |comctl32 --- Comment #14 from Nikolay Sivov <bunglehead(a)gmail.com> --- Thank you for the details. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
participants (1)
-
WineHQ Bugzilla