Ian Jackson writes ("Bug#1082668: /usr/bin/blueman-applet: LoadException: Not 
loading conflicting plugin NMPANSupport"):
> I run blueman-applet from an xterm and it says:
> 
> Traceback (most recent call last):
>   File "/bin/blueman-applet", line 39, in <module>
>     app = BluemanApplet()
>           ^^^^^^^^^^^^^^^
>   File "/usr/lib/python3/dist-packages/blueman/main/Applet.py", line 53, in 
> __init__
>     self.Plugins.load_plugin()
>   File "/usr/lib/python3/dist-packages/blueman/main/PluginManager.py", line 
> 124, in load_plugin
>     self.__load_plugin(cls)
>   File "/usr/lib/python3/dist-packages/blueman/main/PluginManager.py", line 
> 157, in __load_plugin
>     raise LoadException(f"Not loading conflicting plugin {cls.__name__} due 
> to lower priority")
> blueman.main.PluginManager.LoadException: Not loading conflicting plugin 
> NMPANSupport due to lower priority
> 
> I tried
> 
>    blueman-applet # with my usual environment
>    env - DISPLAY=:0 blueman-applet # in case of something in my environment
>    dbus-launch blueman-applet # on a hunch based on #975864

I looked at the code, and it seems to sometimes be happy with
"conflicting" plugins and sometimes throws an exception.
Experimentally, I changed this `raise` to `pass` and now it WFM.

Ian.

>From 8f2ac97fc4ca1e9ab770618bb65b651cb42dd0c0 Mon Sep 17 00:00:00 2001
From: Ian Jackson <ijack...@chiark.greenend.org.uk>
Date: Sun, 15 Dec 2024 21:51:23 +0000
Subject: [PATCH] Turn a raise into a pass

Apropos #1082668
---
 blueman/main/PluginManager.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/blueman/main/PluginManager.py b/blueman/main/PluginManager.py
index 8b2d1a7..2fadb9c 100644
--- a/blueman/main/PluginManager.py
+++ b/blueman/main/PluginManager.py
@@ -154,7 +154,7 @@ class PluginManager(GObject.GObject, Generic[_T]):
                 if cls.__priority__ > self.__classes[cfl].__priority__ and not 
self.enable_plugin(cfl):
                     self.unload_plugin(cfl)
                 else:
-                    raise LoadException(f"Not loading conflicting plugin 
{cls.__name__} due to lower priority")
+                    pass # raise LoadException(f"Not loading conflicting 
plugin {cls.__name__} due to lower priority")
 
         logging.info(f"loading {cls}")
         inst = cls(self.parent)
-- 
2.45.2


-- 
Ian Jackson <ijack...@chiark.greenend.org.uk>   These opinions are my own.  

Pronouns: they/he.  If I emailed you from @fyvzl.net or @evade.org.uk,
that is a private address which bypasses my fierce spamfilter.

Reply via email to