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.
-~----------~----~----~----~------~----~------~--~---

Reply via email to