[Bug 26803] file open dialog: slow when selecting many files

wine-bugs at winehq.org wine-bugs at winehq.org
Wed Jun 22 12:33:10 CDT 2016


https://bugs.winehq.org/show_bug.cgi?id=26803

--- Comment #12 from Lauri Kenttä <lauri.kentta at gmail.com> ---
I had a closer look at this.

FILEDLG95_FILENAME_FillFromSelection is somewhat poorly implemented, it loops
the files twice, calls GlobalLock many times etc. Still, fixing this function
improves speed only by 30% for 250 files (depends on the number of files).

Commenting out SetWindowTextW in FILEDLG95_FILENAME_FillFromSelection makes the
selection a lot faster, but clearly this is not a valid solution.

The real problem seems to be that the list is updated for each selected file,
even if multiple files are selected at once (try shift+end, for example). These
calls come from line 1443 in shell32/shlview.c (LVN_ITEMCHANGED,
OnStateChange).

There should be some way to defer FILEDLG95_FILENAME_FillFromSelection (or at
least SetWindowTextW) until all the files have been selected.

-- 
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.


More information about the wine-bugs mailing list