meld produces a LOT of annoying warnings about Nonetype, which seems to crash it in some circumstances
Noticed this in Ubuntu's 22.04 repo version of 3.20; got source to meld's 3.22 and found the issue is still there. When running, you can get get lots of messages like:
AttributeError: 'NoneType' object has no attribute 'get_allocation'
Traceback (most recent call last):
File "/usr/local/lib/python3.10/dist-packages/meld/diffgrid.py", line 238, in do_draw
self._handle1.draw(context)
File "/usr/local/lib/python3.10/dist-packages/meld/diffgrid.py", line 316, in draw
alloc = self._widget.get_allocation()
It happens in a few other places too in that file. I'll attach a patch in a moment, but there was 1 I couldn't figure out how to fix:
Traceback (most recent call last):
File "/usr/local/lib/python3.10/dist-packages/meld/diffgrid.py", line 35, in do_realize
self._handle1.realize(self)
File "/usr/local/lib/python3.10/dist-packages/meld/diffgrid.py", line 281, in realize
attr.cursor = Gdk.Cursor.new_for_display(widget.get_display(),
TypeError: constructor returned NULL
So that needs to be fixed by someone as it's more serious and could be the cause of the crash.
When it crashes, it's weird that the GUI stays up but freezes, while the terminal it was started from has returned back to a prompt, making me think there's a wrapper to start it, so the GUI parts stays running while the wrapper ends ... but that's just a guess and reproducing it is somewhat hard, but don't apply the patch and it's a lot easier to reproduce.