<div dir="ltr"><div class="gmail_extra"><br>2014-09-11 22:53 GMT+08:00 Huw Davies <<a href="mailto:huw@codeweavers.com" target="_blank">huw@codeweavers.com</a>>:<br>><br>> Nice.  Well hopefully nothing depends on that, so we don't have to follow<br>> their broken implementation.  I think you should implement it as I suggested<br>> and don't bother adding tests for the exact refcount number (nothing should<br>> care about the exact number anyway).<br><br>So these should been added into the implementation:</div><div class="gmail_extra">1. AddRef(reOle) in CreateITextRange() (both ITextDocument::Range and ITextRange::GetDuplicate</div><div class="gmail_extra">will call this function to fill a ITextRange interface);<br>2. Release(reOle) in ITextRange::Release()</div><div class="gmail_extra">3. Pass IRichEditOle and ITextRange into CreateITextRange() instead of IRichEditOleImpl and</div><div class="gmail_extra">ITextRangeImpl</div><div class="gmail_extra"><br></div><div class="gmail_extra">Is it the right way?</div><div class="gmail_extra"><br></div><div class="gmail_extra">Thanks again. :)</div><div class="gmail_extra"><br></div><div class="gmail_extra">btw, the rangelist was implemented for ITextRange::Delete. </div><div class="gmail_extra">Range of all ITextRange in one IRichEditOle should be reseted after we used ITextRange::Delete to </div><div class="gmail_extra">delete some text in the RichEdit Control. And a rangelist will make this work easier.</div><div class="gmail_extra"><div><br></div>-- <br><div dir="ltr"><div>Regards,<br></div><div>Jactry Zeng</div><div><br></div></div>
</div></div>