Clean up Windows error reporting a bit
We have comphelper::WindowsErrorString(), so use it, in SAL_WARNs, right where an error happens. Get rid of the fairly unhelpful ImplWriteLastError() function. Avoid duplicated error reporting. Change-Id: I83374a65980b7c0ffa35fc493b4fb1f2e94f0dbb
This commit is contained in:
@@ -175,7 +175,6 @@ LRESULT CALLBACK SalFrameWndProcW( HWND hWnd, UINT nMsg, WPARAM wParam, LPARAM l
|
||||
void EmitTimerCallback();
|
||||
|
||||
void SalTestMouseLeave();
|
||||
void ImplWriteLastError(DWORD lastError, const char *szApiCall);
|
||||
|
||||
long ImplHandleSalObjKeyMsg( HWND hWnd, UINT nMsg, WPARAM wParam, LPARAM lParam );
|
||||
long ImplHandleSalObjSysCharMsg( HWND hWnd, WPARAM wParam, LPARAM lParam );
|
||||
|
||||
@@ -8,6 +8,8 @@
|
||||
*/
|
||||
|
||||
#include "opengl/win/gdiimpl.hxx"
|
||||
|
||||
#include <comphelper/windowserrorstring.hxx>
|
||||
#include <desktop/exithelper.h>
|
||||
#include <opengl/zone.hxx>
|
||||
#include <o3tl/lru_map.hxx>
|
||||
@@ -94,7 +96,7 @@ void WinOpenGLContext::makeCurrent()
|
||||
|
||||
if (!wglMakeCurrent(m_aGLWin.hDC, m_aGLWin.hRC))
|
||||
{
|
||||
SAL_WARN("vcl.opengl", "OpenGLContext::makeCurrent(): wglMakeCurrent failed: " << GetLastError());
|
||||
SAL_WARN("vcl.opengl", "wglMakeCurrent failed: " << WindowsErrorString(GetLastError()));
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -522,8 +524,7 @@ bool WinOpenGLContext::ImplInit()
|
||||
|
||||
if (!SetPixelFormat(m_aGLWin.hDC, WindowPix, &PixelFormatFront))
|
||||
{
|
||||
ImplWriteLastError(GetLastError(), "SetPixelFormat in OpenGLContext::ImplInit");
|
||||
SAL_WARN("vcl.opengl", "SetPixelFormat failed");
|
||||
SAL_WARN("vcl.opengl", "SetPixelFormat failed: " << WindowsErrorString(GetLastError()));
|
||||
if (bFirstCall)
|
||||
disableOpenGLAndTerminateForRestart();
|
||||
bFirstCall = false;
|
||||
@@ -533,8 +534,7 @@ bool WinOpenGLContext::ImplInit()
|
||||
HGLRC hTempRC = wglCreateContext(m_aGLWin.hDC);
|
||||
if (hTempRC == NULL)
|
||||
{
|
||||
ImplWriteLastError(GetLastError(), "wglCreateContext in OpenGLContext::ImplInit");
|
||||
SAL_WARN("vcl.opengl", "wglCreateContext failed");
|
||||
SAL_WARN("vcl.opengl", "wglCreateContext failed: "<< WindowsErrorString(GetLastError()));
|
||||
if (bFirstCall)
|
||||
disableOpenGLAndTerminateForRestart();
|
||||
bFirstCall = false;
|
||||
@@ -543,8 +543,7 @@ bool WinOpenGLContext::ImplInit()
|
||||
|
||||
if (!wglMakeCurrent(m_aGLWin.hDC, hTempRC))
|
||||
{
|
||||
ImplWriteLastError(GetLastError(), "wglMakeCurrent in OpenGLContext::ImplInit");
|
||||
SAL_WARN("vcl.opengl", "wglMakeCurrent failed");
|
||||
SAL_WARN("vcl.opengl", "wglMakeCurrent failed: "<< WindowsErrorString(GetLastError()));
|
||||
if (bFirstCall)
|
||||
disableOpenGLAndTerminateForRestart();
|
||||
bFirstCall = false;
|
||||
@@ -585,8 +584,7 @@ bool WinOpenGLContext::ImplInit()
|
||||
m_aGLWin.hRC = wglCreateContextAttribsARB(m_aGLWin.hDC, hSharedCtx, attribs);
|
||||
if (m_aGLWin.hRC == 0)
|
||||
{
|
||||
ImplWriteLastError(GetLastError(), "wglCreateContextAttribsARB in OpenGLContext::ImplInit");
|
||||
SAL_WARN("vcl.opengl", "wglCreateContextAttribsARB failed");
|
||||
SAL_WARN("vcl.opengl", "wglCreateContextAttribsARB failed: "<< WindowsErrorString(GetLastError()));
|
||||
wglMakeCurrent(NULL, NULL);
|
||||
wglDeleteContext(hTempRC);
|
||||
if (bFirstCall)
|
||||
@@ -610,8 +608,7 @@ bool WinOpenGLContext::ImplInit()
|
||||
|
||||
if (!wglMakeCurrent(m_aGLWin.hDC, m_aGLWin.hRC))
|
||||
{
|
||||
ImplWriteLastError(GetLastError(), "wglMakeCurrent (with shared context) in OpenGLContext::ImplInit");
|
||||
SAL_WARN("vcl.opengl", "wglMakeCurrent failed");
|
||||
SAL_WARN("vcl.opengl", "wglMakeCurrent failed: " << WindowsErrorString(GetLastError()));
|
||||
if (bFirstCall)
|
||||
disableOpenGLAndTerminateForRestart();
|
||||
bFirstCall = false;
|
||||
|
||||
@@ -19,6 +19,8 @@
|
||||
|
||||
#include <svsys.h>
|
||||
|
||||
#include <comphelper/windowserrorstring.hxx>
|
||||
|
||||
#include <vcl/sysdata.hxx>
|
||||
|
||||
#include <win/wincomp.hxx>
|
||||
@@ -35,6 +37,7 @@ HBITMAP WinSalVirtualDevice::ImplCreateVirDevBitmap(HDC hDC, long nDX, long nDY,
|
||||
if ( nBitCount == 1 )
|
||||
{
|
||||
hBitmap = CreateBitmap( (int)nDX, (int)nDY, 1, 1, NULL );
|
||||
SAL_WARN_IF( !hBitmap, "vcl", "CreateBitmap failed: " << WindowsErrorString( GetLastError() ) );
|
||||
ppData = NULL;
|
||||
}
|
||||
else
|
||||
@@ -61,6 +64,7 @@ HBITMAP WinSalVirtualDevice::ImplCreateVirDevBitmap(HDC hDC, long nDX, long nDY,
|
||||
hBitmap = CreateDIBSection( hDC, &aBitmapInfo,
|
||||
DIB_RGB_COLORS, ppData, NULL,
|
||||
0 );
|
||||
SAL_WARN_IF( !hBitmap, "vcl", "CreateDIBSection failed: " << WindowsErrorString( GetLastError() ) );
|
||||
}
|
||||
|
||||
return hBitmap;
|
||||
@@ -107,19 +111,15 @@ SalVirtualDevice* WinSalInstance::CreateVirtualDevice( SalGraphics* pSGraphics,
|
||||
else
|
||||
{
|
||||
hDC = CreateCompatibleDC( pGraphics->getHDC() );
|
||||
if( !hDC )
|
||||
ImplWriteLastError( GetLastError(), "CreateCompatibleDC in CreateVirtualDevice" );
|
||||
SAL_WARN_IF( !hDC, "vcl", "CreateCompatibleDC failed: " << WindowsErrorString( GetLastError() ) );
|
||||
|
||||
void *pDummy;
|
||||
hBmp = WinSalVirtualDevice::ImplCreateVirDevBitmap(pGraphics->getHDC(), nDX, nDY, nBitCount, &pDummy);
|
||||
if( !hBmp )
|
||||
ImplWriteLastError( GetLastError(), "ImplCreateVirDevBitmap in CreateVirtualDevice" );
|
||||
|
||||
// #124826# continue even if hBmp could not be created
|
||||
// if we would return a failure in this case, the process
|
||||
// would terminate which is not required
|
||||
|
||||
DBG_ASSERT( hBmp, "WinSalInstance::CreateVirtualDevice(), could not create Bitmap!" );
|
||||
|
||||
bOk = (hDC != NULL);
|
||||
}
|
||||
|
||||
@@ -247,7 +247,6 @@ bool WinSalVirtualDevice::SetSize( long nDX, long nDY )
|
||||
}
|
||||
else
|
||||
{
|
||||
ImplWriteLastError( GetLastError(), "ImplCreateVirDevBitmap in SetSize" );
|
||||
mnWidth = 0;
|
||||
mnHeight = 0;
|
||||
return FALSE;
|
||||
|
||||
@@ -31,6 +31,8 @@
|
||||
|
||||
#include <svsys.h>
|
||||
|
||||
#include <comphelper/windowserrorstring.hxx>
|
||||
|
||||
#include <rtl/string.h>
|
||||
#include <rtl/ustring.h>
|
||||
|
||||
@@ -437,8 +439,8 @@ SalFrame* ImplSalCreateFrame( WinSalInstance* pInst,
|
||||
hWnd = CreateWindowExW( nExSysStyle, pClassName, L"", nSysStyle,
|
||||
CW_USEDEFAULT, 0, CW_USEDEFAULT, 0,
|
||||
hWndParent, 0, pInst->mhInst, (void*)pFrame );
|
||||
if( !hWnd )
|
||||
ImplWriteLastError( GetLastError(), "CreateWindowEx" );
|
||||
SAL_WARN_IF(!hWnd, "vcl", "CreateWindowExW failed: " << WindowsErrorString(GetLastError()));
|
||||
|
||||
#if OSL_DEBUG_LEVEL > 1
|
||||
// set transparency value
|
||||
if( GetWindowExStyle( hWnd ) & WS_EX_LAYERED )
|
||||
@@ -4381,7 +4383,7 @@ static WinSalMenuItem* ImplGetSalMenuItem( HMENU hMenu, UINT nPos, bool bByPosit
|
||||
mi.cbSize = sizeof( mi );
|
||||
mi.fMask = MIIM_DATA;
|
||||
if( !GetMenuItemInfoW( hMenu, nPos, bByPosition, &mi) )
|
||||
ImplWriteLastError( GetLastError(), "ImplGetSalMenuItem" );
|
||||
SAL_WARN("vcl", "GetMenuItemInfoW failed: " << WindowsErrorString(GetLastError()));
|
||||
|
||||
return (WinSalMenuItem *) mi.dwItemData;
|
||||
}
|
||||
@@ -4399,7 +4401,7 @@ static int ImplGetSelectedIndex( HMENU hMenu )
|
||||
for(int i=0; i<n; i++ )
|
||||
{
|
||||
if( !GetMenuItemInfoW( hMenu, i, TRUE, &mi) )
|
||||
ImplWriteLastError( GetLastError(), "ImplGetSelectedIndex" );
|
||||
SAL_WARN( "vcl", "GetMenuItemInfoW faled: " << WindowsErrorString( GetLastError() ) );
|
||||
else
|
||||
{
|
||||
if( mi.fState & MFS_HILITE )
|
||||
@@ -4543,7 +4545,7 @@ static int ImplDrawItem(HWND, WPARAM wParam, LPARAM lParam )
|
||||
|
||||
// Fill background
|
||||
if(!PatBlt( pDI->hDC, aRect.left, aRect.top, aRect.right-aRect.left, aRect.bottom-aRect.top, PATCOPY ))
|
||||
ImplWriteLastError(GetLastError(), "ImplDrawItem");
|
||||
SAL_WARN("vcl", "PatBlt failed: " << WindowsErrorString(GetLastError()));
|
||||
|
||||
int lineHeight = aRect.bottom-aRect.top;
|
||||
|
||||
@@ -4627,7 +4629,7 @@ static int ImplDrawItem(HWND, WPARAM wParam, LPARAM lParam )
|
||||
(LPARAM)(LPWSTR) aStr.getStr(),
|
||||
(WPARAM)0, aRect.left, aRect.top + (lineHeight - strSize.cy)/2, 0, 0,
|
||||
DST_PREFIXTEXT | (fDisabled && !fSelected ? DSS_DISABLED : DSS_NORMAL) ) )
|
||||
ImplWriteLastError(GetLastError(), "ImplDrawItem");
|
||||
SAL_WARN("vcl", "DrawStateW failed: " << WindowsErrorString(GetLastError()));
|
||||
|
||||
if( pSalMenuItem->mAccelText.getLength() )
|
||||
{
|
||||
@@ -4644,7 +4646,7 @@ static int ImplDrawItem(HWND, WPARAM wParam, LPARAM lParam )
|
||||
(LPARAM)(LPWSTR) aStr.getStr(),
|
||||
(WPARAM)0, aRect.right-strSizeA.cx-tm.tmMaxCharWidth, aRect.top + (lineHeight - strSizeA.cy)/2, 0, 0,
|
||||
DST_TEXT | (fDisabled && !fSelected ? DSS_DISABLED : DSS_NORMAL) ) )
|
||||
ImplWriteLastError(GetLastError(), "ImplDrawItem");
|
||||
SAL_WARN("vcl", "DrawStateW failed: " << WindowsErrorString(GetLastError()));
|
||||
}
|
||||
|
||||
// Restore the original font and colors.
|
||||
@@ -5936,29 +5938,6 @@ bool ImplHandleGlobalMsg( HWND hWnd, UINT nMsg, WPARAM wParam, LPARAM lParam, LR
|
||||
return bResult;
|
||||
}
|
||||
|
||||
void ImplWriteLastError(DWORD lastError, const char *szApiCall)
|
||||
{
|
||||
#if OSL_DEBUG_LEVEL > 0
|
||||
LPVOID lpMsgBuf;
|
||||
if (FormatMessageA(
|
||||
FORMAT_MESSAGE_ALLOCATE_BUFFER |
|
||||
FORMAT_MESSAGE_FROM_SYSTEM |
|
||||
FORMAT_MESSAGE_IGNORE_INSERTS,
|
||||
NULL,
|
||||
lastError & 0xffff,
|
||||
MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), // Default language
|
||||
(LPTSTR) &lpMsgBuf,
|
||||
0,
|
||||
NULL ))
|
||||
{
|
||||
SAL_WARN("vcl", "API call: " << szApiCall << " returned " << lastError << " (0x" << std::hex << lastError << "): " << (LPTSTR) lpMsgBuf);
|
||||
LocalFree(lpMsgBuf);
|
||||
}
|
||||
else
|
||||
SAL_WARN("vcl", "API call: " << szApiCall << " returned " << lastError << " (0x" << std::hex << lastError << ")");
|
||||
#endif
|
||||
}
|
||||
|
||||
#ifdef _WIN32
|
||||
bool HasAtHook()
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user