Bug#1034878: #1034878 meld gives python traceback if run as root
jason at cropwell.net
jason at cropwell.net
Sat May 4 13:35:11 BST 2024
Bug #1034878 <https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1034878> -
meld gives python traceback if run as root
<https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1034878> is caused by
the call to Gtk.Settings.get_default() in settings.py at about line 56.
This code still exists in the head of the git repo.
As per the PyAPI manual at
https://lazka.github.io/pgi-docs/Gtk-3.0/classes/Settings.html#Gtk.Settings.
get_default . If Gtk is not initialised (which often happens when you sudo
root over a remote shell as you need to pass xauth) then the call to
Gtk.Settings.get_default() will fail and return None. This is not handled.
The issue is that a couple lines down instead of referencing
Gtk.Setting.props it now looks for (None).props... and breaks as per the bug
report. Something like following two/four lines are required, though that
is really only a partial fix, as this will eliminate the Python error as per
the bug, but meld will still die horribly this time with a Gtk error, rather
than exit gracefully while informing the user.
I don't know enough about Gtk or meld to fix that.
gtk_settings = Gtk.Settings.get_default()
> # get_default() returns None if there is no graphics,
> # even if the user has settings in their profile
> if gtk_settings is None:
> return
prefer_dark = settings.get_boolean(key)
gtk_settings.props.gtk_application_prefer_dark_theme =
prefer_dark
Cheers,
Jay (the-moog at github)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/pkg-gnome-maintainers/attachments/20240504/4922737a/attachment.htm>
More information about the pkg-gnome-maintainers
mailing list