Bug 503508 - On Windows, when passing two folders into kdiff3 and opening a file, it crashes
Summary: On Windows, when passing two folders into kdiff3 and opening a file, it crashes
Status: RESOLVED FIXED
Alias: None
Product: kdiff3
Classification: Applications
Component: application (other bugs)
Version First Reported In: unspecified
Platform: Microsoft Windows Microsoft Windows
: NOR crash
Target Milestone: ---
Assignee: michael
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2025-04-29 08:33 UTC by nyanpasu64
Modified: 2025-05-09 15:56 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In: 1.12.3
Sentry Crash Report:


Attachments
A test case to trigger the folder comparison crash. (182 bytes, application/x-7z-compressed)
2025-04-29 08:33 UTC, nyanpasu64
Details

Note You need to log in before you can comment on or make changes to this bug.
Description nyanpasu64 2025-04-29 08:33:56 UTC
Created attachment 180759 [details]
A test case to trigger the folder comparison crash.

SUMMARY
When I compare two directories from the explorer extension or command line, then open any file, kdiff3 crashes.

STEPS TO REPRODUCE
1. Download and install https://cdn.kde.org/ci-builds/sdk/kdiff3/master/windows/kdiff3-master-1962-windows-cl-msvc2022-x86_64.exe.
2. In Windows Explorer, select two folders, right-click, and pick KDiff3 > Compare.
3. In KDiff3, double-click any file (identical, different, or missing in one folder).

OBSERVED RESULT
kdiff3 crashes.

EXPECTED RESULT
no crash.

SOFTWARE/OS VERSIONS
Windows: 11 Version 24H2

ADDITIONAL INFORMATION
The crash does not happen if I launch kdiff3 fully, then select two folders in the open directory, then click OK.
On Linux KDiff3 1.12.2, the crash does not happen. I have not tested nightly builds on Linux.
Comment 1 michael 2025-04-30 17:24:52 UTC
Resloved https://bugs.kde.org/show_bug.cgi?id=503473. Now seeing if I can repo the crash.
Comment 2 michael 2025-05-01 12:00:54 UTC
Doesn't repo on 1.12.2 for me. Likely the result of a change in master.
Comment 3 michael 2025-05-09 13:08:42 UTC
Turns out that while this only happens on master on master it could also affect 1.12. Basically Qt is triggering resize events at an unexpected time
Comment 4 michael 2025-05-09 15:55:12 UTC
Git commit 3b93c36b2718cac9e33f6542e2c0119fecf19e46 by Michael Reeves.
Committed on 09/05/2025 at 15:53.
Pushed by mreeves into branch '1.12'.

Fix crash on early re-size events

Triggered on Windows 11, Qt 6.8.x
No way to control what qt is doing so work arround the issue.
FIXED-IN:1.12.3

M  +3    -0    src/difftextwindow.cpp

https://invent.kde.org/sdk/kdiff3/-/commit/3b93c36b2718cac9e33f6542e2c0119fecf19e46
Comment 5 michael 2025-05-09 15:56:16 UTC
Git commit c72d62f779de47663a07173bbdcb0dc4c0b1baa3 by Michael Reeves.
Committed on 09/05/2025 at 15:55.
Pushed by mreeves into branch 'master'.

Fix crash on early re-size events

Triggered on Windows 11, Qt 6.8.x
No way to control what qt is doing so work arround the issue.
FIXED-IN:1.12.3

M  +4    -0    src/difftextwindow.cpp

https://invent.kde.org/sdk/kdiff3/-/commit/c72d62f779de47663a07173bbdcb0dc4c0b1baa3