Bug 2386547 - kdiff3 --auto breaks rendering, used from git mergetool by default
Summary: kdiff3 --auto breaks rendering, used from git mergetool by default
Keywords:
Status: CLOSED EOL
Alias: None
Product: Fedora
Classification: Fedora
Component: kdiff3
Version: 41
Hardware: Unspecified
OS: Linux
unspecified
medium
Target Milestone: ---
Assignee: Vasiliy Glazov
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2025-08-05 15:16 UTC by Petr Menšík
Modified: 2025-12-17 05:49 UTC (History)
4 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2025-12-17 05:49:26 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)
screenshot with broken rendering (47.79 KB, image/png)
2025-08-05 15:18 UTC, Petr Menšík
no flags Details
screenshot good after non-maximalized window on previous run (157.65 KB, image/png)
2025-08-05 15:23 UTC, Petr Menšík
no flags Details


Links
System ID Private Priority Status Summary Last Updated
KDE Software Compilation 499772 0 NOR CONFIRMED kdiff3 1.12.0 glitches with some merge conflicts 2025-08-05 16:50:16 UTC
KDE Software Compilation 506355 0 NOR RESOLVED KDiff3 freezes on start-up 2025-08-05 16:50:16 UTC

Description Petr Menšík 2025-08-05 15:16:22 UTC
I have started seeing issues when set kdiff3 as my mergetool from git. Whenever my kdiff3 should display a conflict with 3 separate file sources and common output, as displayed usually from git mergetool.

I have found that happens with kdiff3-1.12.3-1.fc41.x86_64, only when --auto and -o target file is used. It displays somehow broken menus, which do not react. And transparent source panels, where no text is rendered. But the background is visible instead or some other artifacts in rendering.

This seems to happen only when I made kdiff3 maximized last time when running.

Strange is it prints warning, but it seems only when it is able to render it correctly:
The cached device pixel ratio value was stale on window update.  Please file a QTBUG which explains how to reproduce.

This happens when the text rendered is actually readable. When it is broken, no warning is printed.

Older kdiff3 version seemed to work much better.

Reproducible: Always

Steps to Reproduce:
1. cp /usr/share/licenses/glibc/LICENSES L
2. cp L L2
3. cp L L3
4. echo "# make diff" >> L3
5. /usr/bin/kdiff3 --auto -o L L2 L3 
Actual Results:
The window is not rendered correctly, source panels of both files are transparent. Menus are non-responsibe by mouse, but application can be terminated by clicking window cross button. Confirmation popup is rendered okay.

Expected Results:
The same like when I omit --auto or use --noauto at the end. It should just display the windows well and let me merge the conflict. Or like it does when I made the windows smaller.

Additional Information:
Maybe it requires scroll bars in the window. I have seen that on multiple spec files conflicts, but it did not appear when I tried just /etc/hosts as an L source.

This seems to happen only, when in previous run the kdiff3 window were maximized on my main monitor. When I make the window smaller and quit without saving, then reexecute, it will render window okay. But it will maximize the window next time. When I close without saving and reexecute, it would be broken again.

3 have 3 screens, 1 full HD and 2 with higher resolution. It does not seems to matter on which I start it.

My screen configuration in case it matters:

Screen 0: minimum 16 x 16, current 12368 x 2880, maximum 32767 x 32767
eDP-1 connected 3408x2130+8960+750 (normal left inverted right x axis y axis) 340mm x 220mm
   3408x2130     59.99*+
   2048x1536     59.95  
   1920x1440     59.97  
   1600x1200     59.87  
   1440x1080     59.99  
   1400x1050     59.98  
   1280x1024     59.89  
   1280x960      59.94  
   1152x864      59.96  
   1024x768      59.92  
   800x600       59.86  
   640x480       59.38  
   320x240       59.52  
   2560x1600     59.99  
   1920x1200     59.88  
   1680x1050     59.95  
   1440x900      59.89  
   1280x800      59.81  
   1152x720      59.97  
   960x600       59.63  
   928x580       59.88  
   800x500       59.50  
   768x480       59.90  
   720x480       59.71  
   640x400       59.95  
   320x200       58.96  
   3200x1800     59.96  
   2880x1620     59.96  
   2560x1440     59.96  
   2048x1152     59.90  
   1920x1080     59.96  
   1600x900      59.95  
   1368x768      59.88  
   1280x720      59.86  
   1024x576      59.90  
   864x486       59.92  
   720x400       59.55  
   640x350       59.77  
DP-7 connected 3840x2160+0+0 (normal left inverted right x axis y axis) 510mm x 290mm
   3840x2160     59.98*+
   2048x1536     59.95  
   1920x1440     59.97  
   1600x1200     59.87  
   1440x1080     59.99  
   1400x1050     59.98  
   1280x1024     59.89  
   1280x960      59.94  
   1152x864      59.96  
   1024x768      59.92  
   800x600       59.86  
   640x480       59.38  
   320x240       59.52  
   2560x1600     59.99  
   1920x1200     59.88  
   1680x1050     59.95  
   1440x900      59.89  
   1280x800      59.81  
   1152x720      59.97  
   960x600       59.63  
   928x580       59.88  
   800x500       59.50  
   768x480       59.90  
   720x480       59.71  
   640x400       59.95  
   320x200       58.96  
   3200x1800     59.96  
   2880x1620     59.96  
   2560x1440     59.96  
   2048x1152     59.90  
   1920x1080     59.96  
   1600x900      59.95  
   1368x768      59.88  
   1280x720      59.86  
   1024x576      59.90  
   864x486       59.92  
   720x400       59.55  
   640x350       59.77  
DP-8 connected primary 5120x2880+3840+0 (normal left inverted right x axis y axis) 600mm x 340mm
   5120x2880     59.93*+
   2048x1536     59.90  
   1920x1440     59.90  
   1600x1200     59.87  
   1440x1080     59.87  
   1400x1050     59.86  
   1280x1024     59.76  
   1280x960      59.94  
   1152x864      59.78  
   1024x768      59.68  
   800x600       59.86  
   640x480       59.38  
   320x240       59.52  
   2560x1600     59.90  
   1920x1200     59.88  
   1680x1050     59.85  
   1440x900      59.89  
   1280x800      59.81  
   1152x720      59.75  
   960x600       59.63  
   928x580       59.88  
   800x500       59.50  
   768x480       59.38  
   720x480       59.71  
   640x400       59.20  
   320x200       58.96  
   4096x2304     59.93  
   3840x2160     59.94  
   3200x1800     59.93  
   2880x1620     59.92  
   2560x1440     59.91  
   2048x1152     59.90  
   1920x1080     59.88  
   1600x900      59.82  
   1368x768      59.88  
   1280x720      59.86  
   1024x576      59.90  
   864x486       59.45  
   720x400       59.55  
   640x350       59.77

Comment 1 Petr Menšík 2025-08-05 15:18:25 UTC
Created attachment 2102709 [details]
screenshot with broken rendering

Comment 2 Petr Menšík 2025-08-05 15:23:40 UTC
Created attachment 2102711 [details]
screenshot good after non-maximalized window on previous run

When I did make kdiff3 window non-maximalized on previous run, it will be able to render the text correctly. On the same version, the same input files and parameters.

Comment 3 Petr Menšík 2025-08-05 16:50:16 UTC
There already exist upstream bugs describing the same issue. It clearly appears on multiple distribution and is not just Fedora 41 build issue.

https://bugs.kde.org/show_bug.cgi?id=499772

Comment 4 Adam Williamson 2025-12-02 03:17:20 UTC
This message is a reminder that Fedora Linux 41 is nearing its end of life.
Fedora will stop maintaining and issuing updates for Fedora Linux 41 on 2025-12-15.
It is Fedora's policy to close all bug reports from releases that are no longer
maintained. At that time this bug will be closed as EOL if it remains open with a
'version' of '41'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, change the 'version' 
to a later Fedora Linux version. Note that the version field may be hidden.
Click the "Show advanced fields" button if you do not see it.

Thank you for reporting this issue and we are sorry that we were not 
able to fix it before Fedora Linux 41 is end of life. If you would still like 
to see this bug fixed and are able to reproduce it against a later version 
of Fedora Linux, you are encouraged to change the 'version' to a later version
prior to this bug being closed.

Comment 5 Samyak Jain (RedHat) 2025-12-17 05:49:26 UTC
Fedora Linux 41 entered end-of-life (EOL) status on 2025-12-15.

Fedora Linux 41 is no longer maintained, which means that it
will not receive any further security or bug fix updates. As a result we
are closing this bug.

If you can reproduce this bug against a currently maintained version of Fedora Linux
please feel free to reopen this bug against that version. Note that the version
field may be hidden. Click the "Show advanced fields" button if you do not see
the version field.

If you are unable to reopen this bug, please file a new report against an
active release.

Thank you for reporting this bug and we are sorry it could not be fixed.


Note You need to log in before you can comment on or make changes to this bug.