> > I see. It seems we can just comment out that "id.disown()" though~
my primary concern with doing this was that there would be those "memory leak" warnings, but it doesn't appear that they are happening. however, there was a different bug with 8.5 that has caused me to deem that pymel will only be compatible with 8.5 SP1 and greater. i don't think requiring a free service pack that has been available for years should be too much to ask, do you? > By the way, thx a lot for your guys great work on pymel and it does > help a lot for TD/RD's programming life in animation studio. I have > even started up another python module called "pyslim" dedicated to > Pixar's RenderMan Slim programming in Maya. Pymel is a great reference > and when ever I figured out something great (policy, coding > techniques, meta class, ...), I adopt it into pyslim. sure thing. and if you ever feel the desire to really get your hands dirty we can always use the help. -chad > Drake > > On Feb 18, 10:56 am, chadrik <chad...@gmail.com> wrote: >> there's a thread on this forum about it, but it's like this: when >> you >> use an MMessage to create a callback in the api, swig -- the c++ to >> python wrapping mechanism -- thinks there is a memory leak. disown >> tells swig to ignore the swig object and stop trying to detect leaks. >> at least as far as i understand it. there's not actually a memory >> leak, but the warning will be very ominous to users, especially if it >> shows up every time you execute a mel script via python. so we'll >> just have to keep this new feature for 2008+ >> >> -chad >> >> On Feb 17, 2009, at 5:11 PM, Drake wrote: >> >> >> >>> I was wondering what kind of class the "id" is and did a quick >>> test by >>> following: >> >>> --------------------------- >>> id = api.MCommandMessage.addCommandOutputCallback >>> ( errorCallback, None ) >>> print type(id) >>> print dir(id) >>> return >>> --------------------- >> >>> and I got this: >> >>> <type 'PySwigObject'> >>> [] >>> ------------------------- >> >>> It seems the returned object by "addCommandOutputCallback()" is >>> different between 8.5 and 2008~. I am just guessing. BTW, what does >>> id.disown() do exactly? >> >>> - Drake >> >>> On Feb 18, 12:10 am, Chad Dombrova <chad...@gmail.com> wrote: >>>> looks like we have a decision to make: either 8.5 users can deal >>>> with >>>> annoying but harmless "Callback Memory Leak" warnings or they don't >>>> get informative MEL errors with line numbers, etc. the problem is >>>> that most users don't realize that these memory leak warnings >>>> are, in >>>> fact, harmless, so i think i'm going to have to leave the feature >>>> out >>>> on 8.5... >> >>>> thanks for the bug report. >> >>>> -chad >> >>>> On Feb 17, 2009, at 2:54 AM, Drake wrote: >> >>>>> Maya 8.5 SP1 x64 >>>>> ---------- >>>>> from pymel import * >>>>> pymel : DEBUG : setting logLevel to default: >>>>> # Traceback (most recent call last): >>>>> # File "/opt/lib/python2.4/logging/__init__.py", line 740, in >>>>> emit >>>>> # File "/opt/lib/python2.4/logging/__init__.py", line 718, in >>>>> flush >>>>> # AttributeError: 'maya.Output' object has no attribute 'flush' >>>>> # Error: 'PySwigObject' object has no attribute 'disown' >>>>> # Traceback (most recent call last): >>>>> # File "<maya console>", line 1, in ? >>>>> # File "/tmp/python/pymel/__init__.py", line 1477, in ? >>>>> # _installCallbacks() >>>>> # File "/tmp/python/pymel/__init__.py", line 1459, in >>>>> _installCallbacks >>>>> # mel.unloadPlugin( addCallback='''python("import pymel; >>>>> pymel._pluginUnloaded('#1')")''' ) >>>>> # File "/tmp/python/pymel/core/language.py", line 426, in _call >>>>> # return self.eval(cmd) >>>>> # File "/tmp/python/pymel/core/language.py", line 528, in eval >>>>> # id.disown() >>>>> # AttributeError: 'PySwigObject' object has no attribute >>>>> 'disown' # >> >>>>> Drake >> >>>>> On Feb 14, 5:37 am, chadrik <chad...@gmail.com> wrote: >>>>>> there was a bug with RC2 related to the pluginLoaded callbacks. >>>>>> it's >>>>>> tough to get these working properly because: >> >>>>>> 1 ) loadPlugin causes errors when using python callbacks >>>>>> 2) unloadPlugin does not even support python callbacks >>>>>> 3) unloadPlugin mel command is not passing the pluginName >>>>>> to the >>>>>> function (even when using #1 syntax) >>>>>> 4 ) api callbacks for plugin load/unload are not >>>>>> supported >>>>>> until maya >>>>>> 2009 >> >>>>>> needless to say this is pretty botched on autodesk's end. >> >>>>>> but it's working well enough now with RC3. >> >>>>>> -chad >> >>>>>> On Feb 12, 2009, at 11:00 PM, Chadrik wrote: >> >>>>>>> hi all, i posted RC2 tonight adding 8.5 support, as well as >>>>>>> fixing >>>>>>> Mike's bug and a few others. >> >>>>>>> download it here:http://code.google.com/p/pymel/downloads/list >> >>>>>>> -chad >> >> > > --~--~---------~--~----~------------~-------~--~----~ Yours, Maya-Python Club Team. -~----------~----~----~----~------~----~------~--~---