[Python.NET] Decref in RunString

Tony Roberts tony at pyxll.com
Mon Jun 8 17:26:19 CEST 2015


Looks like a copy and paste error from RunString(string code) to me.

If you want to send a pull request to fix it (with a unit test if you have
one - I don't think RunString is currently covered by the tests) I'll merge
it.

thanks!
Tony


On Mon, Jun 8, 2015 at 7:52 AM Nils Becker <nilsc.becker at gmail.com> wrote:

> Hello there,
>
> I have a quick question concerning the "RunString(string code, IntPtr
> globals, IntPtr locals)" routine. In it the parameter "locals" is
> decref'ed. Maybe I am missing something (could be, I do not know much about
> reference counting), but should something which the user passes be
> decref'ed?
>
> My use case is the following: I embed python into C# and have a stateful
> wrapper around PythonEngine which manages a global and local dictionary.
> Therefore, I need the local dictionary I pass to RunString to be accessable
> (and sane) after the call.
> I noticed that locals contained random content after I called RunString
> and created new variables in the code.
> After I removed the Decref call in RunString, it seems to work as I would
> expect it to.
>
> Cheers
> Nils
> _________________________________________________
> Python.NET mailing list - PythonDotNet at python.org
> https://mail.python.org/mailman/listinfo/pythondotnet
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/pythondotnet/attachments/20150608/0418b345/attachment-0001.html>


More information about the PythonDotNet mailing list