Synchronisation with explorer source code
Modified: trunk/reactos/subsys/system/ibrowser/utility/utility.h
_____
Modified: trunk/reactos/subsys/system/ibrowser/utility/utility.h
--- trunk/reactos/subsys/system/ibrowser/utility/utility.h
2005-05-11 19:12:03 UTC (rev 15226)
+++ trunk/reactos/subsys/system/ibrowser/utility/utility.h
2005-05-11 19:12:26 UTC (rev 15227)
@@ -182,9 +182,9 @@
// launch a program or document file
-extern BOOL launch_file(HWND hwnd, LPCTSTR cmd, UINT nCmdShow, LPCTSTR
parameters=NULL);
+extern BOOL launch_file(HWND hwnd, LPCTSTR cmd, UINT
nCmdShow=SW_SHOWNORMAL, LPCTSTR parameters=NULL);
#ifdef UNICODE
-extern BOOL launch_fileA(HWND hwnd, LPSTR cmd, UINT nCmdShow, LPCSTR
parameters=NULL);
+extern BOOL launch_fileA(HWND hwnd, LPSTR cmd, UINT
nCmdShow=SW_SHOWNORMAL, LPCSTR parameters=NULL);
#else
#define launch_fileA launch_file
#endif
@@ -300,16 +300,22 @@
struct Thread
{
Thread()
- : _alive(false)
+ : _alive(false),
+ _destroy(false)
{
_hThread = INVALID_HANDLE_VALUE;
+ _evtFinish = CreateEvent(NULL, TRUE, FALSE, NULL);
}
virtual ~Thread()
{
Stop();
+ CloseHandle(_evtFinish);
CloseHandle(_hThread);
+
+ if (_destroy)
+ delete this;
}
void Start()
@@ -322,6 +328,8 @@
void Stop()
{
+ SetEvent(_evtFinish);
+
if (_alive) {
{
Lock lock(_crit_sect);
@@ -343,7 +351,9 @@
static DWORD WINAPI ThreadProc(void* para);
HANDLE _hThread;
+ HANDLE _evtFinish;
bool _alive;
+ bool _destroy;
};
Show replies by date