Any of these should work:<div><br><blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;"><div><div>RefPtr<T> myLocal;</div></div><div><div><div>bool success = myFunc(myLocal);</div></div></div></blockquote>

<div><div><div>Uses  template<typename U> PassRefPtr(const RefPtr<U>&);</div><div><br></div><div>Or</div></div></div><blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;"><div><div><div>RefPtr<T> myLocal;</div>

</div></div><div><div><div><div>bool success = myFunc(myLocal.release());</div></div></div></div></blockquote><div><div><div><br></div><div>Or</div></div></div><blockquote style="margin: 0 0 0 40px; border: none; padding: 0px;">

<div><div><div>RefPtr<T> myLocal;</div></div></div><div><div><div><div>bool success = myFunc(myLocal.get());</div></div></div></div></blockquote><div><div>Uses PassRefPtr(T* ptr)</div><div><br></div><div>The second form is prefered if you won't be using myLocal again in the function. I would use the first form if you are using myLocal again.</div>

<div><br></div><div>dave</div><div><br></div><div><br><div class="gmail_quote">On Wed, Aug 31, 2011 at 3:16 PM, David Hyatt <span dir="ltr"><<a href="mailto:hyatt@apple.com">hyatt@apple.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

I am getting complaints from check-webkit-style in a bug regarding PassRefPtr/RefPtr usage, and I can't figure out what I should be doing. It yells at me no matter what I try.<br>
<br>
The scenario I have is that a function is wanting to transfer ownership but it's not doing it via a return value. Instead it is filling in a reference parameter.<br>
<br>
The current code looks like this:<br>
<br>
Caller:<br>
<br>
RefPtr<T> myLocal;<br>
bool success = myFunc(myLocal);<br>
<br>
With the function being:<br>
<br>
bool myFunc(RefPtr<T>& result);<br>
<br>
With this setup though, I get yelled at by the style checker and it tells me that the parameter should be a PassRefPtr. However I don't get how I can do that, since then I have:<br>
<br>
PassRefPtr<T> myLocal;<br>
<br>
and I get yelled at for making a PassRefPtr local variable.<br>
<br>
What's the right way to write this code such that it will pass? Is this just a flaw in the style checker? It sure seems like a RefPtr<T> reference parameter should be allowed...<br>
<br>
dave<br>
(<a href="mailto:hyatt@apple.com">hyatt@apple.com</a>)<br>
<br>
_______________________________________________<br>
webkit-dev mailing list<br>
<a href="mailto:webkit-dev@lists.webkit.org">webkit-dev@lists.webkit.org</a><br>
<a href="http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev" target="_blank">http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev</a><br>
</blockquote></div><br></div></div></div>