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,

Reply via email to