Switching to NS_WITH_SERIVICE() to properly release services (5403). a=chofmann, r=warren@netscap.com

This commit is contained in:
mcafee%netscape.com 1999-04-30 22:20:24 +00:00
Родитель 63c269a7cc
Коммит 59e548ccbd
3 изменённых файлов: 20 добавлений и 25 удалений

Просмотреть файл

@ -104,11 +104,15 @@ NS_METHOD nsAppShell::Create(int *argc, char **argv)
nsICmdLineService *cmdLineArgs=nsnull;
nsresult rv = NS_OK;
rv = nsServiceManager::GetService(kCmdLineServiceCID,
kICmdLineServiceIID,
(nsISupports **)&cmdLineArgs);
NS_WITH_SERVICE(nsICmdLineService, cmdLineArgs, kCmdLineServiceCID, &rv);
if (NS_FAILED(rv)) return rv;
rv = cmdLineArgs->GetArgc(argc);
if(NS_FAILED(rv)) return rv;
rv = cmdLineArgs->GetArgv(&argv);
if(NS_FAILED(rv)) return rv;
#endif
gtk_set_locale ();
@ -161,11 +165,8 @@ NS_METHOD nsAppShell::Run()
PLEventQueue * EQueue = nsnull;
// Get the event queue service
rv = nsServiceManager::GetService(kEventQueueServiceCID,
kIEventQueueServiceIID,
(nsISupports **) &mEventQService);
if (NS_OK != rv) {
NS_WITH_SERVICE(nsIEventQueueService, mEventQService, kEventQueueServiceCID, &rv);
if (NS_FAILED(rv)) {
NS_ASSERTION("Could not obtain event queue service", PR_FALSE);
return rv;
}

Просмотреть файл

@ -170,10 +170,9 @@ void nsClipboard::SetTopLevelWidget(GtkWidget* w)
sWidget = w;
// Get the clipboard from the service manager.
nsIClipboard* clipboard;
nsresult rv = nsServiceManager::GetService(kCClipboardCID,
kIClipboardIID,
(nsISupports **)&clipboard);
nsresult rv;
NS_WITH_SERVICE(nsIClipboard, clipboard, kCClipboardCID, &rv);
if (!NS_SUCCEEDED(rv)) {
printf("Couldn't get clipboard service!\n");
return;
@ -214,9 +213,6 @@ void nsClipboard::SetTopLevelWidget(GtkWidget* w)
GDK_SELECTION_PRIMARY,
GDK_SELECTION_TYPE_STRING,
GDK_SELECTION_TYPE_STRING);
// We're done with our reference to the clipboard.
NS_IF_RELEASE(clipboard);
}
@ -417,11 +413,10 @@ nsClipboard::SelectionReceivedCB (GtkWidget *aWidget,
// ARGHH! GTK doesn't pass the arg to the callback, so we can't
// get "this" back! Until we solve this, get it from the service mgr:
nsIClipboard* iclipboard;
nsresult rv = nsServiceManager::GetService(kCClipboardCID,
kIClipboardIID,
(nsISupports **)&iclipboard);
if (!NS_SUCCEEDED(rv)) {
nsresult rv;
NS_WITH_SERVICE(nsIClipboard, iclipboard, kCClipboardCID, &rv);
if (NS_FAILED(rv)) {
printf("Couldn't get clipboard service!\n");
return;
}

Просмотреть файл

@ -105,11 +105,10 @@ void nsDragService::SetTopLevelWidget(GtkWidget* w)
sWidget = w;
// Get the DragService from the service manager.
nsIDragService* dragService;
nsresult rv = nsServiceManager::GetService(kCDragServiceCID,
kIDragServiceIID,
(nsISupports**)&dragService);
if (!NS_SUCCEEDED(rv)) {
nsresult rv;
NS_WITH_SERVICE(nsIDragService, dragService, kCDragServiceCID, &rv);
if (NS_FAILED(rv)) {
return;
}