Commit 8b07ae8c by Nicolas Capens Committed by Nicolas Capens

Automatically close the attach debugger dialog.

BUG=15759123 Change-Id: I03e363eadf437527aae406107111e93bd3cc6e4e Reviewed-on: https://swiftshader-review.googlesource.com/1304Tested-by: 's avatarNicolas Capens <nicolascapens@google.com> Reviewed-by: 's avatarNicolas Capens <nicolascapens@google.com>
parent 97907647
// Microsoft Visual C++ generated resource script. // Microsoft Visual C++ generated resource script.
// //
#include "resource.h" #include "resource.h"
#define APSTUDIO_READONLY_SYMBOLS #define APSTUDIO_READONLY_SYMBOLS
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
// //
// Generated from the TEXTINCLUDE 2 resource. // Generated from the TEXTINCLUDE 2 resource.
// //
#include <windows.h> #include <windows.h>
#include "../../common/Version.h" #include "../../common/Version.h"
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
#undef APSTUDIO_READONLY_SYMBOLS #undef APSTUDIO_READONLY_SYMBOLS
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
// English (U.S.) resources // English (United States) resources
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) #if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
#ifdef _WIN32 LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US #pragma code_page(1252)
#pragma code_page(1252)
#endif //_WIN32 #ifdef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
#ifdef APSTUDIO_INVOKED //
///////////////////////////////////////////////////////////////////////////// // TEXTINCLUDE
// //
// TEXTINCLUDE
// 1 TEXTINCLUDE
BEGIN
1 TEXTINCLUDE "resource.h\0"
BEGIN END
"resource.h\0"
END 2 TEXTINCLUDE
BEGIN
2 TEXTINCLUDE "#include ""afxres.h""\r\n"
BEGIN "#include ""../common/version.h""\0"
"#include ""afxres.h""\r\n" END
"#include ""../common/version.h""\0"
END 3 TEXTINCLUDE
BEGIN
3 TEXTINCLUDE "\r\n"
BEGIN "\0"
"\r\n" END
"\0"
END #endif // APSTUDIO_INVOKED
#endif // APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
///////////////////////////////////////////////////////////////////////////// // Version
// //
// Version
// VS_VERSION_INFO VERSIONINFO
FILEVERSION MAJOR_VERSION,MINOR_VERSION,BUILD_VERSION,BUILD_REVISION
VS_VERSION_INFO VERSIONINFO PRODUCTVERSION MAJOR_VERSION,MINOR_VERSION,BUILD_VERSION,BUILD_REVISION
FILEVERSION MAJOR_VERSION,MINOR_VERSION,BUILD_VERSION,BUILD_REVISION FILEFLAGSMASK 0x17L
PRODUCTVERSION MAJOR_VERSION,MINOR_VERSION,BUILD_VERSION,BUILD_REVISION #ifdef _DEBUG
FILEFLAGSMASK 0x17L FILEFLAGS 0x1L
#ifdef _DEBUG #else
FILEFLAGS 0x1L FILEFLAGS 0x0L
#else #endif
FILEFLAGS 0x0L FILEOS 0x4L
#endif FILETYPE 0x2L
FILEOS 0x4L FILESUBTYPE 0x0L
FILETYPE 0x2L BEGIN
FILESUBTYPE 0x0L BLOCK "StringFileInfo"
BEGIN BEGIN
BLOCK "StringFileInfo" BLOCK "040904b0"
BEGIN BEGIN
BLOCK "040904b0" VALUE "FileDescription", "SwiftShader libEGL Dynamic Link Library"
BEGIN VALUE "FileVersion", VERSION_STRING
VALUE "FileDescription", "SwiftShader libEGL Dynamic Link Library" VALUE "InternalName", "libEGL"
VALUE "FileVersion", VERSION_STRING VALUE "LegalCopyright", "Copyright (C) 2012 TransGaming Inc."
VALUE "InternalName", "libEGL" VALUE "OriginalFilename", "libEGL.dll"
VALUE "LegalCopyright", "Copyright (C) 2012 TransGaming Inc." VALUE "PrivateBuild", VERSION_STRING
VALUE "OriginalFilename", "libEGL.dll" VALUE "ProductName", "SwiftShader libEGL Dynamic Link Library"
VALUE "PrivateBuild", VERSION_STRING VALUE "ProductVersion", VERSION_STRING
VALUE "ProductName", "SwiftShader libEGL Dynamic Link Library" END
VALUE "ProductVersion", VERSION_STRING END
END BLOCK "VarFileInfo"
END BEGIN
BLOCK "VarFileInfo" VALUE "Translation", 0x409, 1200
BEGIN END
VALUE "Translation", 0x409, 1200 END
END
END
/////////////////////////////////////////////////////////////////////////////
#endif // English (U.S.) resources //
///////////////////////////////////////////////////////////////////////////// // Dialog
//
IDD_DIALOG1 DIALOGEX 0, 0, 129, 47
#ifndef APSTUDIO_INVOKED STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU
///////////////////////////////////////////////////////////////////////////// CAPTION "Waiting for debugger"
// FONT 8, "MS Shell Dlg", 400, 0, 0x1
// Generated from the TEXTINCLUDE 3 resource. BEGIN
// PUSHBUTTON "Cancel",IDCANCEL,72,26,50,14
LTEXT "Attach a debugger or ESC to cancel",IDC_STATIC,7,7,115,8
END
/////////////////////////////////////////////////////////////////////////////
#endif // not APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// DESIGNINFO
//
#ifdef APSTUDIO_INVOKED
GUIDELINES DESIGNINFO
BEGIN
IDD_DIALOG1, DIALOG
BEGIN
LEFTMARGIN, 7
RIGHTMARGIN, 122
TOPMARGIN, 7
BOTTOMMARGIN, 40
END
END
#endif // APSTUDIO_INVOKED
#endif // English (United States) resources
/////////////////////////////////////////////////////////////////////////////
#ifndef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 3 resource.
//
/////////////////////////////////////////////////////////////////////////////
#endif // not APSTUDIO_INVOKED
...@@ -13,6 +13,7 @@ ...@@ -13,6 +13,7 @@
#include "main.h" #include "main.h"
#include "resource.h"
#include "Common/Thread.hpp" #include "Common/Thread.hpp"
#include "Common/SharedLibrary.hpp" #include "Common/SharedLibrary.hpp"
#include "common/debug.h" #include "common/debug.h"
...@@ -126,12 +127,52 @@ DESTRUCTOR static void eglDetachProcess() ...@@ -126,12 +127,52 @@ DESTRUCTOR static void eglDetachProcess()
} }
#if defined(_WIN32) #if defined(_WIN32)
static INT_PTR CALLBACK DebuggerWaitDialogProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
RECT rect;
switch(uMsg)
{
case WM_INITDIALOG:
GetWindowRect(GetDesktopWindow(), &rect);
SetWindowPos(hwnd, HWND_TOP, rect.right / 2, rect.bottom / 2, 0, 0, SWP_NOSIZE);
SetTimer(hwnd, 1, 100, NULL);
return TRUE;
case WM_COMMAND:
if(LOWORD(wParam) == IDCANCEL)
{
EndDialog(hwnd, 0);
}
break;
case WM_TIMER:
if(IsDebuggerPresent())
{
EndDialog(hwnd, 0);
}
}
return FALSE;
}
static void WaitForDebugger(HINSTANCE instance)
{
if(!IsDebuggerPresent())
{
HRSRC dialog = FindResource(instance, MAKEINTRESOURCE(IDD_DIALOG1), RT_DIALOG);
DLGTEMPLATE *dialogTemplate = (DLGTEMPLATE*)LoadResource(instance, dialog);
DialogBoxIndirect(instance, dialogTemplate, NULL, DebuggerWaitDialogProc);
}
}
extern "C" BOOL WINAPI DllMain(HINSTANCE instance, DWORD reason, LPVOID reserved) extern "C" BOOL WINAPI DllMain(HINSTANCE instance, DWORD reason, LPVOID reserved)
{ {
switch(reason) switch(reason)
{ {
case DLL_PROCESS_ATTACH: case DLL_PROCESS_ATTACH:
// MessageBoxA(0, "Attach debugger now and press OK", "SwiftShader loaded", MB_OK); if(false)
{
WaitForDebugger(instance);
}
return eglAttachProcess(); return eglAttachProcess();
break; break;
case DLL_THREAD_ATTACH: case DLL_THREAD_ATTACH:
......
//{{NO_DEPENDENCIES}} //{{NO_DEPENDENCIES}}
// Microsoft Visual C++ generated include file. // Microsoft Visual C++ generated include file.
// Used by libEGL.rc // Used by libEGL.rc
//
// Next default values for new objects #define IDD_DIALOG1 101
// #define IDC_STATIC -1
#ifdef APSTUDIO_INVOKED
#ifndef APSTUDIO_READONLY_SYMBOLS // Next default values for new objects
#define _APS_NEXT_RESOURCE_VALUE 101 //
#define _APS_NEXT_COMMAND_VALUE 40001 #ifdef APSTUDIO_INVOKED
#define _APS_NEXT_CONTROL_VALUE 1001 #ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NEXT_SYMED_VALUE 101 #define _APS_NEXT_RESOURCE_VALUE 102
#endif #define _APS_NEXT_COMMAND_VALUE 40001
#endif #define _APS_NEXT_CONTROL_VALUE 1001
#define _APS_NEXT_SYMED_VALUE 101
#endif
#endif
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment