release mozctl_install_semaphore semaphore when the user doesn't want to
download the mozilla control
Modified: trunk/reactos/lib/shdocvw/shdocvw_main.c
_____
Modified: trunk/reactos/lib/shdocvw/shdocvw_main.c
--- trunk/reactos/lib/shdocvw/shdocvw_main.c 2006-01-15 01:12:00 UTC
(rev 20880)
+++ trunk/reactos/lib/shdocvw/shdocvw_main.c 2006-01-15 01:24:59 UTC
(rev 20881)
@@ -406,6 +406,7 @@
WCHAR buf[0x100];
static const WCHAR szTitle[] = {
'R','e','a','c','t','O','S',0 };
HANDLE hsem;
+ BOOL ret = TRUE;
SetLastError( ERROR_SUCCESS );
hsem = CreateSemaphoreA( NULL, 0, 1, "mozctl_install_semaphore");
@@ -413,17 +414,18 @@
{
LoadStringW( shdocvw_hinstance, 1001, buf, sizeof
buf/sizeof(WCHAR) );
r = MessageBoxW(NULL, buf, szTitle, MB_YESNO |
MB_ICONQUESTION);
- if( r != IDYES )
- return FALSE;
-
- DialogBoxW(shdocvw_hinstance, MAKEINTRESOURCEW(100), 0,
dlProc);
+ if( r == IDYES )
+ DialogBoxW(shdocvw_hinstance,
MAKEINTRESOURCEW(100), 0, dlProc);
+ else
+ ret = FALSE;
}
else
WaitForSingleObject( hsem, INFINITE );
+
ReleaseSemaphore( hsem, 1, NULL );
CloseHandle( hsem );
-
- return TRUE;
+
+ return ret;
}
static BOOL SHDOCVW_TryLoadMozillaControl(void)