FS#47025 - [meld] Does not show any diffs; the python code produces a backtrace
Attached to Project:
Arch Linux
Opened by Olivier (olive) - Tuesday, 10 November 2015, 15:53 GMT
Last edited by Doug Newgard (Scimmia) - Thursday, 12 November 2015, 15:39 GMT
Opened by Olivier (olive) - Tuesday, 10 November 2015, 15:53 GMT
Last edited by Doug Newgard (Scimmia) - Thursday, 12 November 2015, 15:39 GMT
|
Details
Description:
The package is broken. The meld software does not show any diffs; it moreover gives the following error when launched from a terminal: File "/usr/lib/python2.7/site-packages/meld/meldbuffer.py", line 268, in __getitem__ line_end = line_start.copy() AttributeError: 'tuple' object has no attribute 'copy' It appears to be an incompatibility with the current version of python2-gobject (3.18.2-1). This bug was not present before; I presume it has appeared with the upgrade of python2-gobject from version 3.16.x to 3.18.x. Hereafter, I attach a patch that fixes the problem. Additional info: * package version(s) meld 3.14.1-1 python2-gobject 3.18.2-1 * config and/or log files etc. Steps to reproduce: Take two text fiels with a few differences between them: file1.txt and file2.txt and launch meld file1.txt file2.txt. |
This task depends upon
Closed by Doug Newgard (Scimmia)
Thursday, 12 November 2015, 15:39 GMT
Reason for closing: Fixed
Additional comments about closing: meld 3.14.1-2
Thursday, 12 November 2015, 15:39 GMT
Reason for closing: Fixed
Additional comments about closing: meld 3.14.1-2
Edit: OK, it appears on the last GTK3 update.
I use meld every day so I couldn't wait for them to fix it. I modified the source code and got it back to work again. Just apply the attached patches to the corresponding files in /usr/lib/python2.7/site-packages/meld/
This is only a temporary solution until the issue is fixed upstream. The problem, as mentioned in the upstream bug report, is due to gtk-3.18.3 changing the return value for GtkSource.Buffer.get_iter_at_line(). It now returns the tuple (bool, Gtk.TextIter) while it used to return the iterator alone before. A better solution would check for the GTK version installed and modify its usage accordingly.
meldbuffer.py.patch (0.1 KiB)
sourceview.py.patch (0.1 KiB)
That might be a better solution for upstream, but it's irrelevant in Arch, since partial updates aren't supported.