r=mkaply, sr=blizzard (platform specific), a=mkaply
OS/2 only - switch to using Mozilla Unicode encoders/decoders instead of platform decoders
This commit is contained in:
mkaply%us.ibm.com 2006-02-16 21:32:26 +00:00
Родитель 0845686ee2
Коммит ce213cd337
1 изменённых файлов: 15 добавлений и 13 удалений

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

@ -524,14 +524,16 @@ nsresult GlobalPrinters::InitializeGlobalPrinters ()
for (int i = 0; i < mGlobalNumPrinters; i++) {
nsXPIDLCString printer;
nsDeviceContextSpecOS2::PrnDlg.GetPrinter(i, getter_Copies(printer));
PRUnichar* printerName = new PRUnichar[strlen(printer)+1];
MultiByteToWideChar(0, printer, strlen(printer)+1, printerName, strlen(printer)+1);
nsAutoString nativePrinterName(printerName);
delete [] printerName;
if ( defaultPrinter == i )
mGlobalPrinterList->InsertStringAt(nativePrinterName, 0);
else
mGlobalPrinterList->AppendString(nativePrinterName);
nsAutoChar16Buffer printerName;
PRInt32 printerNameLength;
nsresult rv = MultiByteToWideChar(0, printer, strlen(printer),
printerName, printerNameLength);
if (defaultPrinter == i) {
mGlobalPrinterList->InsertStringAt(nsDependentString(printerName.get()), 0);
} else {
mGlobalPrinterList->AppendString(nsDependentString(printerName.get()));
}
}
return NS_OK;
}
@ -550,12 +552,12 @@ void GlobalPrinters::GetDefaultPrinterName(PRUnichar*& aDefaultPrinterName)
int defaultPrinter = nsDeviceContextSpecOS2::PrnDlg.GetDefaultPrinter();
nsXPIDLCString printer;
nsDeviceContextSpecOS2::PrnDlg.GetPrinter(defaultPrinter, getter_Copies(printer));
PRUnichar* printerName = new PRUnichar[strlen(printer)+1];
MultiByteToWideChar(0, printer, strlen(printer)+1, printerName, strlen(printer)+1);
nsAutoString nativePrinterName(printerName);
delete [] printerName;
aDefaultPrinterName = ToNewUnicode(nativePrinterName);
nsAutoChar16Buffer printerName;
PRInt32 printerNameLength;
MultiByteToWideChar(0, printer, strlen(printer), printerName,
printerNameLength);
aDefaultPrinterName = ToNewUnicode(nsDependentString(printerName.get()));
GlobalPrinters::GetInstance()->FreeGlobalPrinters();
}