vcl/win/gdi/salprn.cxx | 29 +++++------------------------ 1 file changed, 5 insertions(+), 24 deletions(-)
New commits: commit a8383345174d91f6e722128e1d53c9a4ebc18195 Author: Mike Kaganski <mike.kagan...@collabora.com> AuthorDate: Thu Apr 14 14:41:33 2022 +0100 Commit: Mike Kaganski <mike.kagan...@collabora.com> CommitDate: Fri Apr 15 07:06:57 2022 +0200 No Win16-style WIN.INI since Windows Vista Change-Id: I75bc8c7c61e863747cdfc65fb4ed7603c0eb1c0f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/133034 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kagan...@collabora.com> diff --git a/vcl/win/gdi/salprn.cxx b/vcl/win/gdi/salprn.cxx index 835c571785a6..724c4f18e2e1 100644 --- a/vcl/win/gdi/salprn.cxx +++ b/vcl/win/gdi/salprn.cxx @@ -22,6 +22,7 @@ #include <osl/diagnose.h> #include <memory> +#include <vector> #include <string.h> #include <svsys.h> @@ -224,31 +225,11 @@ OUString WinSalInstance::GetDefaultPrinter() GetDefaultPrinterW( nullptr, &nChars ); if( nChars ) { - LPWSTR pStr = static_cast<LPWSTR>(std::malloc(nChars*sizeof(WCHAR))); - OUString aDefPrt; - if( GetDefaultPrinterW( pStr, &nChars ) ) - { - aDefPrt = o3tl::toU(pStr); - } - std::free( pStr ); - if( !aDefPrt.isEmpty() ) - return aDefPrt; - } - - // get default printer from win.ini - wchar_t szBuffer[256]; - GetProfileStringW( aImplWindows, aImplDevice, L"", szBuffer, SAL_N_ELEMENTS( szBuffer ) ); - if ( szBuffer[0] ) - { - // search for printer name - wchar_t* pBuf = szBuffer; - wchar_t* pTmp = pBuf; - while ( *pTmp && (*pTmp != ',') ) - pTmp++; - return OUString( o3tl::toU(pBuf), static_cast<sal_Int32>(pTmp-pBuf) ); + std::vector<WCHAR> pStr(nChars); + if (GetDefaultPrinterW(pStr.data(), &nChars)) + return OUString(o3tl::toU(pStr.data())); } - else - return OUString(); + return OUString(); } static DWORD ImplDeviceCaps( WinSalInfoPrinter const * pPrinter, WORD nCaps,