I am running WLS2 on Windows 11. Everything is up to date.
~$ uname -a Linux NJ-LPT-06 5.15.90.1-microsoft-standard-WSL2 #1 SMP Fri Jan 27 02:56:13 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
When I start meld from the command line, it appears to be running fine, but the console bursts a bunch of errors, and then it starts sporadically bursting errors, all the same, over and over.
AttributeError: 'NoneType' object has no attribute 'get_allocation'
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/meld/diffgrid.py", line 201, in do_size_allocate
self._handle1.set_visible(mapped and wlink1 > 0)
File "/usr/lib/python3/dist-packages/meld/diffgrid.py", line 288, in set_visible
self._window.show()
AttributeError: 'NoneType' object has no attribute 'show'
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/meld/diffgrid.py", line 232, in do_draw
self._handle1.draw(context)
File "/usr/lib/python3/dist-packages/meld/diffgrid.py", line 305, in draw
alloc = self._widget.get_allocation()
AttributeError: 'NoneType' object has no attribute 'get_allocation'
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/meld/diffgrid.py", line 53, in do_unmap
self._handle1.set_visible(False)
File "/usr/lib/python3/dist-packages/meld/diffgrid.py", line 290, in set_visible
self._window.hide()
AttributeError: 'NoneType' object has no attribute 'hide'
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/meld/diffgrid.py", line 53, in do_unmap
self._handle1.set_visible(False)
File "/usr/lib/python3/dist-packages/meld/diffgrid.py", line 290, in set_visible
self._window.hide()
AttributeError: 'NoneType' object has no attribute 'hide'
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/meld/diffgrid.py", line 38, in do_unrealize
self._handle1.unrealize()
File "/usr/lib/python3/dist-packages/meld/diffgrid.py", line 284, in unrealize
self._widget.unregister_window(self._window)
AttributeError: 'NoneType' object has no attribute 'unregister_window'
It appears to be working, but the constant barrage of errors is concerning.
If I leave it running long enough, particularly if I am reloading updated files, it aborts.
I have my DISPLAY set to ":0"
as per this thread:
you can edit the file:
/usr/lib/python3/dist-packages/meld/diffgrid.py
In HandleWindow.realize()
, comment out the lines:
attr.cursor = Gdk.Cursor.new_for_display(widget.get_display(),
Gdk.CursorType.
SB_H_DOUBLE_ARROW)
and replace with:
attr.cursor = Gdk.Cursor.new_from_name(widget.get_display(),
"ew-resize")