Open ryanphuang opened 7 years ago
Thanks for the heads-up.
Did you get that error just by installing a new version of PyObjC, or did you also build the plugin using that version? I build the QF plugin using specific version of Python (and PyObjC) and I honestly thought that the plugin was self-contained (i.e. it shouldn't be influenced by globally installed Python/PyObjC).
I initially got the error by just just directly using the released .mailbundle. If I uninstall the new version (3.2.1) pyobjc, the errors will be gone. So I thought it has dependency on system-wide pyobjc. But then I realize, there was another .mailbundle plugin in my Mails/Bundles that is compiled with the new version pyobjc. If I remove that .mailbundle, even if I have a 3.2.1 pyobjc installed, the release version QF will without problem.
So in short, you are right, the plugin was self-contained, as long as no other plugins that are compiled with the new pyobjc, QF works for me, but if there's another new plugin or I want to build QF by myself, the errors still exist.
Oh, yeah, that could very well cause issues, because AFAIK only one version of the framework can be active inside the Mail app at any one time (and it's a bit of a gamble which one gets loaded first).
My guess is that after decorating the set_state_and_title
method, you just hit the next backward incompatible error :(
At some point I'll try and see if I can install the new PyObjC in such a way that it won't break my current setup (which is a bit fragile, I have to admit).
I encountered a BadPrototypeError when using the plugin.
It looks it's because I installed a new version of
pyobjc
, which enforces more strictly on the selector mapping: https://pythonhosted.org/pyobjc/core/changelog.htmlI added this into the quotefix/menu.py methods, but then it failed with
ImportError: cannot import name MessageHeaders