Forums : XPCom

Aller à la discussion :  Plus récente Plus ancienne

Aller à la page :  1 2

# Re: Utiliser nsCOMPtr

Envoyé par : zeyous

Date : 24/05/2007 19:14

héhé okay ça je m'en souviendrais :)

Dernière petite question au sujet de "passer le nsDOMDocument proxifié à mon nsRunnable"

Dans ma classe nsMonRunnable j'ai

nsCOMPtr<nsIDOMDocument> mDocumentProxy;

et une méthode

NS_IMETHODIMP nsMonRunnable::SetMainDoc(nsIDOMDocument *aMainDoc)
{
mDocumentProxy = aMainDoc;

 return NS_OK;
}

qui est appelée depuis le thread principal comme ceci :

nsCOMPtr<nsIDOMDocument> documentProxy;
...
domAnalyserProxy->SetMainDoc(documentProxy);

Est-ce que le nsCOMPtr s'en sort pour pas faire de leak à partir du pointeur que je lui donne ? Je ne peux pas passer de nsCOMPtr<nsIDOMDocument> car c'est une méthode définie dans le IDL.

Merci infiniment :)

# Re: Utiliser nsCOMPtr

Envoyé par : David Marteau

Date : 24/05/2007 23:09

Normalement oui.

documentProxy maintient un réference sur le nsIDOMDocument.

L'appel à SetMainDoc ne fait que déréférencer le nsCOMPtr en pointeur simple mais ne touche pas aux références.

L'assignement à mDocumentProxy incrémente le compteur de référence du nsIDOMDocument qui sera décrementé à la fin de la durée de vie de mDocumentProxy.

Aller à la page :  1 2

Il n'est plus possible de poster des messages dans ce forum.


Copyright © 2003-2013 association xulfr, 2013-2016 Laurent Jouanneau - Informations légales.

Mozilla® est une marque déposée de la fondation Mozilla.
Mozilla.org™, Firefox™, Thunderbird™, Mozilla Suite™ et XUL™ sont des marques de la fondation Mozilla.