Re: newest master commit c095b3be6d515c226495cbc8dc0c89d410102606 not running



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



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]