Hi, I tried it with Debian testing and got the same problem: File "meld/meldapp.py", line 90, in do_command_line window.append_new_comparison() File "meld/meldwindow.py", line 530, in append_new_comparison doc = NewDiffTab(self) File "meld/newdifftab.py", line 76, in __init__ self.init_template() TypeError: <lambda>() missing 1 required positional argument: 's' Digging a bit more, I suppose that the problem is in meld, but it reproduces only with newer versions of some system packages. I have python3-gi 3.30.4, python3 3.6.6, gir1.2-glib-2.0 1.58.3, libgtk-3-0 3.24.2-3, gir1.2-gtk-3.0 3.24.2-3, libglib2.0-0 2.58.1-2 In short - I'm attaching is a prototype patch to meld that was tested on Debian to fix the problem above. In addition, to get "gear" menu from window title working, the resources need to be compiled with: glib-compile-resources --target=data/meld.gresource --sourcedir=meld/resources meld/resources/meld.gresource.xml Otherwise gear menu is grayed out with a Traceback: File "meld/meldwindow.py", line 228, in do_realize Gtk.Popover.new_from_model(self.gear_menu_button, menu)) TypeError: Argument 1 does not allow None as a value More detailed patch description follows. First of all - I have NOT any understanding of GTK template machinery, so the main purpose of this patch is informative - "such changes are known to fix problem on debian with latest packages". I didn't tested it with older package versions, where init_template is NOT called by pygobject itself, and even not sure that such version exists. So, I'm not sure that the change semantics is correct. Here is the copy of text from the patch description: It looks that when init_template lambda attaching was changed from class to instance in https://gitlab.gnome.org/GNOME/pygobject/commit/05c3b8dc91f5d51bd30bbe58963a4454b447b707 it argument list should change too. I tested with 'print' that when if it is called for class attaching it receives self as "s", and for instance attaching - no arguments This change fixes "missing 1 required positional argument: 's'" exception After that meld opens but with empty window. It looks to be related to the fact that MeldWindow tried to call MeldWindow.init_template class method resulting in second-time call of actual method, since only instance method was replaced to empty in first call, not the class one (I think that the first call is from "newer" python-gi 3.30.4-1 and second call from meld itself) Changing this to instance method solves this problem, however I didn't tested on older python-gi Digging a bit more, I found that the "Format as patch" dialog UI - the 3-pane radiobuttons and reversing checkbox doesn't work. The checkbox can be fixed by a simple addition of @Template.Callback() but the radiobuttons don't
Hi all, I'm on Ubuntu 18.04 64 Bit with Cinnamon desktop running. Recently checking out the master branch and today meld is running no more :'( Checked out commit c095b3be6d515c226495cbc8dc0c89d410102606. It is starting, showing errors on the command line, see attached file. What is working for me is: - Meld version 3.20.1 - master branch up to commit 83aeeea79eec32c4b0343be4b1c40bcedcffe9e1 Regards, Claudio
Attachment:
0001-gtktemplate-fix-prototype-tested-on-debian.patch
Description: Text Data