diff --git a/widget/src/os2/nsDeviceContextSpecOS2.cpp b/widget/src/os2/nsDeviceContextSpecOS2.cpp index 5e2aed9fa992..44139da53780 100644 --- a/widget/src/os2/nsDeviceContextSpecOS2.cpp +++ b/widget/src/os2/nsDeviceContextSpecOS2.cpp @@ -526,6 +526,10 @@ void GlobalPrinters::GetDefaultPrinterName(PRUnichar*& aDefaultPrinterName) { aDefaultPrinterName = nsnull; + nsresult rv = GlobalPrinters::GetInstance()->InitializeGlobalPrinters(); + if (NS_FAILED(rv)) + return; + if (GetNumPrinters() == 0) return; @@ -538,6 +542,8 @@ void GlobalPrinters::GetDefaultPrinterName(PRUnichar*& aDefaultPrinterName) delete [] printerName; aDefaultPrinterName = ToNewUnicode(nativePrinterName); + + GlobalPrinters::GetInstance()->FreeGlobalPrinters(); } void GlobalPrinters::FreeGlobalPrinters()