[ros-diffs] [hbelusca] 71893: Fix usage of the first parameter for TranslateAccelerator: this should be the handle of the window that will receive the accelerator commands (not the window from which t
Author: hbelusca Date: Mon Jul 11 01:57:47 2016 New Revision: 71893 URL: http://svn.reactos.org/svn/reactos?rev=71893=rev Log: Fix usage of the first parameter for TranslateAccelerator: this should be the handle of the window that will receive the accelerator commands (not the window from which the message originates). Modified: trunk/reactos/base/applications/magnify/magnifier.c trunk/reactos/base/applications/sndrec32/sndrec32.cpp trunk/reactos/boot/freeldr/fdebug/fdebug.c trunk/rosapps/templates/dialog/dialog.c Modified: trunk/reactos/base/applications/magnify/magnifier.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/magnify/magnifier.c?rev=71893=71892=71893=diff == --- trunk/reactos/base/applications/magnify/magnifier.c [iso-8859-1] (original) +++ trunk/reactos/base/applications/magnify/magnifier.c [iso-8859-1] Mon Jul 11 01:57:47 2016 @@ -71,7 +71,7 @@ INT_PTR CALLBACKOptionsProc(HWND, UINT, WPARAM, LPARAM); INT_PTR CALLBACKWarningProc(HWND, UINT, WPARAM, LPARAM); -int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) +int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { MSG msg; HACCEL hAccelTable; @@ -102,7 +102,7 @@ /* Main message loop */ while (GetMessage(, NULL, 0, 0)) { -if (!TranslateAccelerator(msg.hwnd, hAccelTable, )) +if (!TranslateAccelerator(hMainWnd, hAccelTable, )) { TranslateMessage(); DispatchMessage(); Modified: trunk/reactos/base/applications/sndrec32/sndrec32.cpp URL: http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/sndrec32/sndrec32.cpp?rev=71893=71892=71893=diff == --- trunk/reactos/base/applications/sndrec32/sndrec32.cpp [iso-8859-1] (original) +++ trunk/reactos/base/applications/sndrec32/sndrec32.cpp [iso-8859-1] Mon Jul 11 01:57:47 2016 @@ -211,7 +211,7 @@ /* Starts main loop */ while (GetMessage(, NULL, 0, 0)) { -if (!TranslateAccelerator(msg.hwnd, hAccelTable, )) +if (!TranslateAccelerator(main_win, hAccelTable, )) { TranslateMessage(); DispatchMessage(); Modified: trunk/reactos/boot/freeldr/fdebug/fdebug.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/boot/freeldr/fdebug/fdebug.c?rev=71893=71892=71893=diff == --- trunk/reactos/boot/freeldr/fdebug/fdebug.c [iso-8859-1] (original) +++ trunk/reactos/boot/freeldr/fdebug/fdebug.c [iso-8859-1] Mon Jul 11 01:57:47 2016 @@ -67,7 +67,7 @@ // Main message loop: while (GetMessage(, NULL, 0, 0)) { -if (!TranslateAccelerator(msg.hwnd, hAccelTable, )) +if (!TranslateAccelerator(hMainWnd, hAccelTable, )) { TranslateMessage(); DispatchMessage(); Modified: trunk/rosapps/templates/dialog/dialog.c URL: http://svn.reactos.org/svn/reactos/trunk/rosapps/templates/dialog/dialog.c?rev=71893=71892=71893=diff == --- trunk/rosapps/templates/dialog/dialog.c [iso-8859-1] (original) +++ trunk/rosapps/templates/dialog/dialog.c [iso-8859-1] Mon Jul 11 01:57:47 2016 @@ -196,8 +196,8 @@ instData.hWnd = CreateDialogParam(hInst, MAKEINTRESOURCE(IDD_TABBED_DIALOG), NULL, (DLGPROC)DlgProc, (LPARAM)); ShowWindow(instData.hWnd, SW_SHOW); hAccel = LoadAccelerators(hInst, (LPCTSTR)IDR_ACCELERATOR); -while (GetMessage(, (HWND)NULL, 0, 0)) { -if (!TranslateAccelerator(msg.hwnd, hAccel, )) { +while (GetMessage(, NULL, 0, 0)) { +if (!TranslateAccelerator(instData.hWnd, hAccel, )) { TranslateMessage(); DispatchMessage(); }
[ros-diffs] [ekohl] 71892: [SERVMGR] Service recovery page: - Dissect the 'run process' command line and display it. - Implement the 'Browse' button.
Author: ekohl Date: Sun Jul 10 21:54:17 2016 New Revision: 71892 URL: http://svn.reactos.org/svn/reactos?rev=71892=rev Log: [SERVMGR] Service recovery page: - Dissect the 'run process' command line and display it. - Implement the 'Browse' button. Modified: trunk/reactos/base/applications/mscutils/servman/propsheet_recovery.c Modified: trunk/reactos/base/applications/mscutils/servman/propsheet_recovery.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/base/applications/mscutils/servman/propsheet_recovery.c?rev=71892=71891=71892=diff == --- trunk/reactos/base/applications/mscutils/servman/propsheet_recovery.c [iso-8859-1] (original) +++ trunk/reactos/base/applications/mscutils/servman/propsheet_recovery.c [iso-8859-1] Sun Jul 10 21:54:17 2016 @@ -168,8 +168,9 @@ HWND hwndDlg, PRECOVERYDATA pRecoveryData) { -WCHAR szBuffer[32]; -INT i, index, id; +WCHAR szBuffer[256]; +PWSTR startPtr, endPtr; +INT i, index, id, length; for (i = 0; i < min(pRecoveryData->pServiceFailure->cActions, 3); i++) { @@ -225,6 +226,71 @@ WM_SETTEXT, 0, (LPARAM)szBuffer); + +if (pRecoveryData->pServiceFailure->lpCommand != NULL) +{ +ZeroMemory(szBuffer, sizeof(szBuffer)); + +startPtr = pRecoveryData->pServiceFailure->lpCommand; +if (*startPtr == L'\"') +startPtr++; + +endPtr = wcschr(startPtr, L'\"'); +if (endPtr != NULL) +{ +length = (INT)((LONG_PTR)endPtr - (LONG_PTR)startPtr); +CopyMemory(szBuffer, startPtr, length); +} +else +{ +wcscpy(szBuffer, startPtr); +} + +SendDlgItemMessageW(hwndDlg, +IDC_PROGRAM, +WM_SETTEXT, +0, +(LPARAM)szBuffer); + +ZeroMemory(szBuffer, sizeof(szBuffer)); + +if (endPtr != NULL) +{ +startPtr = endPtr + 1; +while (iswspace(*startPtr)) +startPtr++; + +endPtr = wcsstr(pRecoveryData->pServiceFailure->lpCommand, L"/fail=%1%"); +if (endPtr != NULL) +{ +while (iswspace(*(endPtr - 1))) +endPtr--; + +length = (INT)((LONG_PTR)endPtr - (LONG_PTR)startPtr); +CopyMemory(szBuffer, startPtr, length); +} +else +{ +wcscpy(szBuffer, startPtr); +} + +SendDlgItemMessageW(hwndDlg, +IDC_PARAMETERS, +WM_SETTEXT, +0, +(LPARAM)szBuffer); + +endPtr = wcsstr(pRecoveryData->pServiceFailure->lpCommand, L"/fail=%1%"); +if (endPtr != NULL) +{ +SendDlgItemMessageW(hwndDlg, +IDC_ADD_FAILCOUNT, +BM_SETCHECK, +BST_CHECKED, +0); +} +} +} } @@ -269,6 +335,35 @@ EnableWindow(GetDlgItem(hwndDlg, id), bRunProgram); EnableWindow(GetDlgItem(hwndDlg, IDC_RESTART_OPTIONS), bRebootComputer); +} + + +static +VOID +BrowseFile( +HWND hwndDlg) +{ +WCHAR szFile[MAX_PATH] = {'\0'}; +PWCHAR pszFilter = L"Executable Files (*.exe;*.com;*.cmd;*.bat)\0*.exe;*.com;*.cmd;*.bat\0"; +OPENFILENAME ofn; + +ZeroMemory(, sizeof(ofn)); + +ofn.lStructSize = sizeof(ofn); +ofn.Flags = OFN_HIDEREADONLY | OFN_FILEMUSTEXIST | OFN_PATHMUSTEXIST | OFN_ENABLESIZING; +ofn.hwndOwner = hwndDlg; +ofn.lpstrFilter = pszFilter; +ofn.lpstrFile = szFile; +ofn.nMaxFile = MAX_PATH; + +if (GetOpenFileName()) +{ +SendDlgItemMessageW(hwndDlg, +IDC_PROGRAM, +WM_SETTEXT, +0, +(LPARAM)szFile); +} } @@ -331,6 +426,10 @@ PropSheet_Changed(GetParent(hwndDlg), hwndDlg); } break; + +case IDC_BROWSE_PROGRAM: +BrowseFile(hwndDlg); +break; } break;
[ros-diffs] [ekohl] 71891: [NEWDEV] Fix words in newdev. (Italian translation) Patch by decodp. CORE-11437 #resolve #comment Thanks a lot!
Author: ekohl Date: Sun Jul 10 20:26:05 2016 New Revision: 71891 URL: http://svn.reactos.org/svn/reactos?rev=71891=rev Log: [NEWDEV] Fix words in newdev. (Italian translation) Patch by decodp. CORE-11437 #resolve #comment Thanks a lot! Modified: trunk/reactos/dll/win32/newdev/lang/it-IT.rc Modified: trunk/reactos/dll/win32/newdev/lang/it-IT.rc URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/newdev/lang/it-IT.rc?rev=71891=71890=71891=diff == --- trunk/reactos/dll/win32/newdev/lang/it-IT.rc[iso-8859-1] (original) +++ trunk/reactos/dll/win32/newdev/lang/it-IT.rc[iso-8859-1] Sun Jul 10 20:26:05 2016 @@ -11,7 +11,7 @@ LTEXT "Questa procedura guidata installa un nuovo driver di dispositivi per:", IDC_STATIC, 120, 21, 195, 16 LTEXT "Selezionare Successivo per continuare.", IDC_STATIC, 120, 169, 195, 16 LTEXT "DISPOSITIVO SCONOSCIUTO", IDC_DEVICE, 148, 36, 147, 12 -LTEXT "ATTENZIONE! INSTALLARE UN DISPOSITIVO PERSONALIZZATO PUÃ BLOCCARE IL COMPUTER O IMPEDIRNE L'AVVIO!", IDC_STATIC, 120, 59, 195, 16 +LTEXT "ATTENZIONE! INSTALLARE UN DISPOSITIVO PERSONALIZZATO PUÃ BLOCCARE IL COMPUTER O IMPEDIRNE L'AVVIO!", IDC_STATIC, 120, 59, 210, 25 CONTROL "Installa il driver automaticamente", IDC_RADIO_AUTO, "Button", BS_AUTORADIOBUTTON, 120, 112, 195, 12 CONTROL "Installa il driver da una posizione specifica", IDC_RADIO_MANUAL, "Button", BS_AUTORADIOBUTTON, 120, 133, 195, 12 END @@ -90,9 +90,9 @@ STRINGTABLE BEGIN -IDS_INSTALLWIZARDTITLE "New Hardware Wizard" -IDS_UPDATEWIZARDTITLE "Update Driver Wizard" -IDS_CHSOURCE_TITLE "Choose search and install options" -IDS_SEARCHDRV_TITLE "Searching..." -IDS_INSTALLDRV_TITLE "Installing..." +IDS_INSTALLWIZARDTITLE "Wizard Nuovo hardware" +IDS_UPDATEWIZARDTITLE "Wizard Aggiornamento Driver" +IDS_CHSOURCE_TITLE "Opzioni Scegli, cerca e installa" +IDS_SEARCHDRV_TITLE "Cercando." +IDS_INSTALLDRV_TITLE "Installando..." END
[ros-diffs] [pschweitzer] 71890: [FASTFAT] CcMapData 4th arg isn't a boolean but a flag. Fix it accordingly CcPinRead 4th arg isn't a boolean but a flag. Fix it accordingly
Author: pschweitzer Date: Sun Jul 10 18:16:03 2016 New Revision: 71890 URL: http://svn.reactos.org/svn/reactos?rev=71890=rev Log: [FASTFAT] CcMapData 4th arg isn't a boolean but a flag. Fix it accordingly CcPinRead 4th arg isn't a boolean but a flag. Fix it accordingly Modified: trunk/reactos/drivers/filesystems/fastfat/create.c trunk/reactos/drivers/filesystems/fastfat/direntry.c trunk/reactos/drivers/filesystems/fastfat/dirwr.c trunk/reactos/drivers/filesystems/fastfat/volume.c Modified: trunk/reactos/drivers/filesystems/fastfat/create.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/filesystems/fastfat/create.c?rev=71890=71889=71890=diff == --- trunk/reactos/drivers/filesystems/fastfat/create.c [iso-8859-1] (original) +++ trunk/reactos/drivers/filesystems/fastfat/create.c [iso-8859-1] Sun Jul 10 18:16:03 2016 @@ -137,7 +137,7 @@ FileOffset.QuadPart = 0; _SEH2_TRY { -CcMapData(pFcb->FileObject, , SizeDirEntry, TRUE, , (PVOID*)); +CcMapData(pFcb->FileObject, , SizeDirEntry, MAP_WAIT, , (PVOID*)); } _SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER) { @@ -176,7 +176,7 @@ FileOffset.u.LowPart += PAGE_SIZE; _SEH2_TRY { -CcMapData(pFcb->FileObject, , SizeDirEntry, TRUE, , (PVOID*)); +CcMapData(pFcb->FileObject, , SizeDirEntry, MAP_WAIT, , (PVOID*)); } _SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER) { Modified: trunk/reactos/drivers/filesystems/fastfat/direntry.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/filesystems/fastfat/direntry.c?rev=71890=71889=71890=diff == --- trunk/reactos/drivers/filesystems/fastfat/direntry.c[iso-8859-1] (original) +++ trunk/reactos/drivers/filesystems/fastfat/direntry.c[iso-8859-1] Sun Jul 10 18:16:03 2016 @@ -72,7 +72,7 @@ _SEH2_TRY { -CcMapData(Fcb->FileObject, , sizeof(FAT_DIR_ENTRY), TRUE, , (PVOID*)); +CcMapData(Fcb->FileObject, , sizeof(FAT_DIR_ENTRY), MAP_WAIT, , (PVOID*)); } _SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER) { @@ -132,7 +132,7 @@ _SEH2_TRY { -CcMapData(Fcb->FileObject, , sizeof(FATX_DIR_ENTRY), TRUE, , (PVOID*)); +CcMapData(Fcb->FileObject, , sizeof(FATX_DIR_ENTRY), MAP_WAIT, , (PVOID*)); } _SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER) { @@ -219,7 +219,7 @@ _SEH2_TRY { -CcMapData(pDirFcb->FileObject, , PAGE_SIZE, TRUE, pContext, pPage); +CcMapData(pDirFcb->FileObject, , PAGE_SIZE, MAP_WAIT, pContext, pPage); } _SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER) { @@ -260,7 +260,7 @@ _SEH2_TRY { -CcMapData(pDirFcb->FileObject, , PAGE_SIZE, TRUE, pContext, pPage); +CcMapData(pDirFcb->FileObject, , PAGE_SIZE, MAP_WAIT, pContext, pPage); } _SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER) { @@ -297,7 +297,7 @@ _SEH2_TRY { -CcMapData(pDirFcb->FileObject, , PAGE_SIZE, TRUE, pContext, pPage); +CcMapData(pDirFcb->FileObject, , PAGE_SIZE, MAP_WAIT, pContext, pPage); } _SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER) { @@ -427,7 +427,7 @@ _SEH2_TRY { -CcMapData(pDirFcb->FileObject, , PAGE_SIZE, TRUE, pContext, pPage); +CcMapData(pDirFcb->FileObject, , PAGE_SIZE, MAP_WAIT, pContext, pPage); } _SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER) { @@ -525,7 +525,7 @@ _SEH2_TRY { -CcMapData(pDirFcb->FileObject, , PAGE_SIZE, TRUE, pContext, pPage); +CcMapData(pDirFcb->FileObject, , PAGE_SIZE, MAP_WAIT, pContext, pPage); } _SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER) { @@ -568,7 +568,7 @@ _SEH2_TRY { -CcMapData(pDirFcb->FileObject, , PAGE_SIZE, TRUE, pContext, pPage); +CcMapData(pDirFcb->FileObject, , PAGE_SIZE, MAP_WAIT, pContext, pPage); } _SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER) { Modified: trunk/reactos/drivers/filesystems/fastfat/dirwr.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/filesystems/fastfat/dirwr.c?rev=71890=71889=71890=diff == --- trunk/reactos/drivers/filesystems/fastfat/dirwr.c [iso-8859-1] (original) +++
[ros-diffs] [pschweitzer] 71889: [CDFS] CcMapData 4th arg isn't a boolean but a flag. Fix it accordingly
Author: pschweitzer Date: Sun Jul 10 18:06:47 2016 New Revision: 71889 URL: http://svn.reactos.org/svn/reactos?rev=71889=rev Log: [CDFS] CcMapData 4th arg isn't a boolean but a flag. Fix it accordingly Modified: trunk/reactos/drivers/filesystems/cdfs/dirctl.c trunk/reactos/drivers/filesystems/cdfs/fcb.c Modified: trunk/reactos/drivers/filesystems/cdfs/dirctl.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/filesystems/cdfs/dirctl.c?rev=71889=71888=71889=diff == --- trunk/reactos/drivers/filesystems/cdfs/dirctl.c [iso-8859-1] (original) +++ trunk/reactos/drivers/filesystems/cdfs/dirctl.c [iso-8859-1] Sun Jul 10 18:06:47 2016 @@ -77,7 +77,7 @@ *CurrentOffset = ROUND_UP(*CurrentOffset, BLOCKSIZE); _SEH2_TRY { -CcMapData(DeviceExt->StreamFileObject, StreamOffset, BLOCKSIZE, TRUE, Context, Block); +CcMapData(DeviceExt->StreamFileObject, StreamOffset, BLOCKSIZE, MAP_WAIT, Context, Block); } _SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER) { @@ -103,7 +103,7 @@ *CurrentOffset = ROUND_UP(*CurrentOffset, BLOCKSIZE); _SEH2_TRY { -CcMapData(DeviceExt->StreamFileObject, StreamOffset, BLOCKSIZE, TRUE, Context, Block); +CcMapData(DeviceExt->StreamFileObject, StreamOffset, BLOCKSIZE, MAP_WAIT, Context, Block); } _SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER) { @@ -237,7 +237,7 @@ _SEH2_TRY { -CcMapData(DeviceExt->StreamFileObject, , BLOCKSIZE, TRUE, , ); +CcMapData(DeviceExt->StreamFileObject, , BLOCKSIZE, MAP_WAIT, , ); } _SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER) { Modified: trunk/reactos/drivers/filesystems/cdfs/fcb.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/filesystems/cdfs/fcb.c?rev=71889=71888=71889=diff == --- trunk/reactos/drivers/filesystems/cdfs/fcb.c[iso-8859-1] (original) +++ trunk/reactos/drivers/filesystems/cdfs/fcb.c[iso-8859-1] Sun Jul 10 18:06:47 2016 @@ -491,7 +491,7 @@ _SEH2_TRY { -CcMapData(DeviceExt->StreamFileObject, , BLOCKSIZE, TRUE, , ); +CcMapData(DeviceExt->StreamFileObject, , BLOCKSIZE, MAP_WAIT, , ); } _SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER) { @@ -577,7 +577,7 @@ _SEH2_TRY { -CcMapData(DeviceExt->StreamFileObject, , BLOCKSIZE, TRUE, , ); +CcMapData(DeviceExt->StreamFileObject, , BLOCKSIZE, MAP_WAIT, , ); } _SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER) {
[ros-diffs] [pschweitzer] 71888: [FASTFAT][CDFS] Call CcMapData(), CcPinRead() inside a SEH block This allows returning more significant error codes on failure [NTOSKRNL] Enable Thomas code for raisin
Author: pschweitzer Date: Sun Jul 10 17:14:33 2016 New Revision: 71888 URL: http://svn.reactos.org/svn/reactos?rev=71888=rev Log: [FASTFAT][CDFS] Call CcMapData(), CcPinRead() inside a SEH block This allows returning more significant error codes on failure [NTOSKRNL] Enable Thomas code for raising exceptions CORE-9848 Modified: trunk/reactos/drivers/filesystems/cdfs/dirctl.c trunk/reactos/drivers/filesystems/cdfs/fcb.c trunk/reactos/drivers/filesystems/fastfat/create.c trunk/reactos/drivers/filesystems/fastfat/direntry.c trunk/reactos/drivers/filesystems/fastfat/dirwr.c trunk/reactos/drivers/filesystems/fastfat/fat.c trunk/reactos/drivers/filesystems/fastfat/volume.c trunk/reactos/ntoskrnl/cc/pin.c Modified: trunk/reactos/drivers/filesystems/cdfs/dirctl.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/filesystems/cdfs/dirctl.c?rev=71888=71887=71888=diff == --- trunk/reactos/drivers/filesystems/cdfs/dirctl.c [iso-8859-1] (original) +++ trunk/reactos/drivers/filesystems/cdfs/dirctl.c [iso-8859-1] Sun Jul 10 17:14:33 2016 @@ -75,14 +75,16 @@ CcUnpinData(*Context); StreamOffset->QuadPart += BLOCKSIZE; *CurrentOffset = ROUND_UP(*CurrentOffset, BLOCKSIZE); -if (!CcMapData(DeviceExt->StreamFileObject, -StreamOffset, -BLOCKSIZE, TRUE, -Context, Block)) +_SEH2_TRY +{ +CcMapData(DeviceExt->StreamFileObject, StreamOffset, BLOCKSIZE, TRUE, Context, Block); +} +_SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER) { DPRINT("CcMapData() failed\n"); -return(STATUS_UNSUCCESSFUL); +_SEH2_YIELD(return _SEH2_GetExceptionCode()); } +_SEH2_END; *Ptr = *Block; Record = (PDIR_RECORD)*Ptr; } @@ -99,14 +101,16 @@ CcUnpinData(*Context); StreamOffset->QuadPart += BLOCKSIZE; *CurrentOffset = ROUND_UP(*CurrentOffset, BLOCKSIZE); -if (!CcMapData(DeviceExt->StreamFileObject, -StreamOffset, -BLOCKSIZE, TRUE, -Context, Block)) +_SEH2_TRY +{ +CcMapData(DeviceExt->StreamFileObject, StreamOffset, BLOCKSIZE, TRUE, Context, Block); +} +_SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER) { DPRINT("CcMapData() failed\n"); -return(STATUS_UNSUCCESSFUL); -} +_SEH2_YIELD(return _SEH2_GetExceptionCode()); +} +_SEH2_END; *Ptr = *Block; Record = (PDIR_RECORD)*Ptr; } @@ -231,12 +235,16 @@ StreamOffset.QuadPart += ROUND_DOWN(Offset, BLOCKSIZE); } -if (!CcMapData(DeviceExt->StreamFileObject, , -BLOCKSIZE, TRUE, , )) +_SEH2_TRY +{ +CcMapData(DeviceExt->StreamFileObject, , BLOCKSIZE, TRUE, , ); +} +_SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER) { DPRINT("CcMapData() failed\n"); -return STATUS_UNSUCCESSFUL; -} +_SEH2_YIELD(return _SEH2_GetExceptionCode()); +} +_SEH2_END; Record = (PDIR_RECORD) ((ULONG_PTR)Block + Offset % BLOCKSIZE); if (Offset) Modified: trunk/reactos/drivers/filesystems/cdfs/fcb.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/drivers/filesystems/cdfs/fcb.c?rev=71888=71887=71888=diff == --- trunk/reactos/drivers/filesystems/cdfs/fcb.c[iso-8859-1] (original) +++ trunk/reactos/drivers/filesystems/cdfs/fcb.c[iso-8859-1] Sun Jul 10 17:14:33 2016 @@ -489,16 +489,16 @@ DirSize = DirectoryFcb->Entry.DataLengthL; StreamOffset.QuadPart = (LONGLONG)DirectoryFcb->Entry.ExtentLocationL * (LONGLONG)BLOCKSIZE; -if (!CcMapData(DeviceExt->StreamFileObject, -, -BLOCKSIZE, -TRUE, -, -)) +_SEH2_TRY +{ +CcMapData(DeviceExt->StreamFileObject, , BLOCKSIZE, TRUE, , ); +} +_SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER) { DPRINT("CcMapData() failed\n"); -return STATUS_UNSUCCESSFUL; -} +_SEH2_YIELD(return _SEH2_GetExceptionCode()); +} +_SEH2_END; Offset = 0; BlockOffset = 0; @@ -575,15 +575,17 @@ Offset = ROUND_UP(Offset, BLOCKSIZE); BlockOffset = 0; -if (!CcMapData(DeviceExt->StreamFileObject, -, -BLOCKSIZE, TRUE, -, )) +_SEH2_TRY +{ +CcMapData(DeviceExt->StreamFileObject, , BLOCKSIZE, TRUE, , ); +} +_SEH2_EXCEPT(EXCEPTION_EXECUTE_HANDLER) { DPRINT("CcMapData() failed\n");
[ros-diffs] [mjansen] 71887: [SDK] Add the first appcompat database, containing references to version lie shims. CORE-11302 #resolve
Author: mjansen Date: Sun Jul 10 16:21:53 2016 New Revision: 71887 URL: http://svn.reactos.org/svn/reactos?rev=71887=rev Log: [SDK] Add the first appcompat database, containing references to version lie shims. CORE-11302 #resolve Added: trunk/reactos/media/sdb/ trunk/reactos/media/sdb/CMakeLists.txt (with props) trunk/reactos/media/sdb/sysmain.xml (with props) Modified: trunk/reactos/media/CMakeLists.txt Modified: trunk/reactos/media/CMakeLists.txt URL: http://svn.reactos.org/svn/reactos/trunk/reactos/media/CMakeLists.txt?rev=71887=71886=71887=diff == --- trunk/reactos/media/CMakeLists.txt [iso-8859-1] (original) +++ trunk/reactos/media/CMakeLists.txt [iso-8859-1] Sun Jul 10 16:21:53 2016 @@ -2,6 +2,7 @@ add_subdirectory(fonts) add_subdirectory(inf) add_subdirectory(nls) +add_subdirectory(sdb) add_subdirectory(themes) add_subdirectory(vgafonts) Added: trunk/reactos/media/sdb/CMakeLists.txt URL: http://svn.reactos.org/svn/reactos/trunk/reactos/media/sdb/CMakeLists.txt?rev=71887 == --- trunk/reactos/media/sdb/CMakeLists.txt (added) +++ trunk/reactos/media/sdb/CMakeLists.txt [iso-8859-1] Sun Jul 10 16:21:53 2016 @@ -0,0 +1,7 @@ + +add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/sysmain.sdb + COMMAND native-xml2sdb -i ${CMAKE_CURRENT_SOURCE_DIR}/sysmain.xml -o ${CMAKE_CURRENT_BINARY_DIR}/sysmain.sdb + DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/sysmain.xml native-xml2sdb) + +add_custom_target(compatdb DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/sysmain.sdb) +add_cd_file(TARGET compatdb FILE ${CMAKE_CURRENT_BINARY_DIR}/sysmain.sdb DESTINATION reactos/AppPatch FOR all) Propchange: trunk/reactos/media/sdb/CMakeLists.txt -- svn:eol-style = native Added: trunk/reactos/media/sdb/sysmain.xml URL: http://svn.reactos.org/svn/reactos/trunk/reactos/media/sdb/sysmain.xml?rev=71887 == --- trunk/reactos/media/sdb/sysmain.xml (added) +++ trunk/reactos/media/sdb/sysmain.xml [iso-8859-1] Sun Jul 10 16:21:53 2016 @@ -0,0 +1,186 @@ + + +ReactOS compatibility fix database +1 +{----} + + +Win95VersionLie +aclayers.dll + + +Win98VersionLie +aclayers.dll + + +WinNT4SP5VersionLie +aclayers.dll + + +Win2000VersionLie +aclayers.dll + + +Win2000SP1VersionLie +aclayers.dll + + +Win2000SP2VersionLie +aclayers.dll + + +Win2000SP3VersionLie +aclayers.dll + + +WinXPVersionLie +aclayers.dll + + +WinXPSP1VersionLie +aclayers.dll + + +WinXPSP2VersionLie +aclayers.dll + + +WinXPSP3VersionLie +aclayers.dll + + +Win2k3RTMVersionLie +aclayers.dll + + +Win2k3SP1VersionLie +aclayers.dll + + +Win2k3SP2VersionLie +aclayers.dll + + +VistaRTMVersionLie +aclayers.dll + + +VistaSP1VersionLie +aclayers.dll + + +VistaSP2VersionLie +aclayers.dll + + +Win7RTMVersionLie +aclayers.dll + + + +WIN95 + + + + +WIN98 + + + + +NT4SP5 + + + + +WIN2000 + + + + +WIN2000SP1 + + + + +WIN2000SP2 + + + + +WIN2000SP3 + + + + +WINXP + + + + +WINXPSP1 + + + + +WINXPSP2 + + + + +WINXPSP3 + + + + +WINSRV03RTM + +
[ros-diffs] [mjansen] 71886: [SDK][XML2SDB] Introducing the xml2sdb host tool, used to convert xml files to appcompat Sdb files. CORE-11302 Uses tinyxml2 to parse the xml. Thanks to Thomas for reviewi
Author: mjansen Date: Sun Jul 10 16:14:39 2016 New Revision: 71886 URL: http://svn.reactos.org/svn/reactos?rev=71886=rev Log: [SDK][XML2SDB] Introducing the xml2sdb host tool, used to convert xml files to appcompat Sdb files. CORE-11302 Uses tinyxml2 to parse the xml. Thanks to Thomas for reviewing / suggesting fixes! Added: trunk/reactos/sdk/tools/xml2sdb/ trunk/reactos/sdk/tools/xml2sdb/CMakeLists.txt (with props) trunk/reactos/sdk/tools/xml2sdb/main.cpp (with props) trunk/reactos/sdk/tools/xml2sdb/tinyxml2.cpp (with props) trunk/reactos/sdk/tools/xml2sdb/tinyxml2.h (with props) trunk/reactos/sdk/tools/xml2sdb/xml2sdb.cpp (with props) trunk/reactos/sdk/tools/xml2sdb/xml2sdb.h (with props) Modified: trunk/reactos/CMakeLists.txt trunk/reactos/sdk/cmake/host-tools.cmake trunk/reactos/sdk/tools/CMakeLists.txt [This mail would be too long, it was shortened to contain the URLs only.] Modified: trunk/reactos/CMakeLists.txt URL: http://svn.reactos.org/svn/reactos/trunk/reactos/CMakeLists.txt?rev=71886=71885=71886=diff Modified: trunk/reactos/sdk/cmake/host-tools.cmake URL: http://svn.reactos.org/svn/reactos/trunk/reactos/sdk/cmake/host-tools.cmake?rev=71886=71885=71886=diff Modified: trunk/reactos/sdk/tools/CMakeLists.txt URL: http://svn.reactos.org/svn/reactos/trunk/reactos/sdk/tools/CMakeLists.txt?rev=71886=71885=71886=diff Added: trunk/reactos/sdk/tools/xml2sdb/CMakeLists.txt URL: http://svn.reactos.org/svn/reactos/trunk/reactos/sdk/tools/xml2sdb/CMakeLists.txt?rev=71886 Added: trunk/reactos/sdk/tools/xml2sdb/main.cpp URL: http://svn.reactos.org/svn/reactos/trunk/reactos/sdk/tools/xml2sdb/main.cpp?rev=71886 Added: trunk/reactos/sdk/tools/xml2sdb/tinyxml2.cpp URL: http://svn.reactos.org/svn/reactos/trunk/reactos/sdk/tools/xml2sdb/tinyxml2.cpp?rev=71886 Added: trunk/reactos/sdk/tools/xml2sdb/tinyxml2.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/sdk/tools/xml2sdb/tinyxml2.h?rev=71886 Added: trunk/reactos/sdk/tools/xml2sdb/xml2sdb.cpp URL: http://svn.reactos.org/svn/reactos/trunk/reactos/sdk/tools/xml2sdb/xml2sdb.cpp?rev=71886 Added: trunk/reactos/sdk/tools/xml2sdb/xml2sdb.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/sdk/tools/xml2sdb/xml2sdb.h?rev=71886
[ros-diffs] [mjansen] 71885: [APPHELP] Prepare sdbwrite related api for a new hosttool. CORE-11302 - Adding an extra argument to SdbReAlloc - Do not rely on platform wcs* functions.
Author: mjansen Date: Sun Jul 10 16:06:39 2016 New Revision: 71885 URL: http://svn.reactos.org/svn/reactos?rev=71885=rev Log: [APPHELP] Prepare sdbwrite related api for a new hosttool. CORE-11302 - Adding an extra argument to SdbReAlloc - Do not rely on platform wcs* functions. Added: trunk/reactos/dll/appcompat/apphelp/sdbwrite.h (with props) Modified: trunk/reactos/dll/appcompat/apphelp/apphelp.c trunk/reactos/dll/appcompat/apphelp/sdbapi.c trunk/reactos/dll/appcompat/apphelp/sdbpapi.h trunk/reactos/dll/appcompat/apphelp/sdbstringtable.c trunk/reactos/dll/appcompat/apphelp/sdbwrite.c Modified: trunk/reactos/dll/appcompat/apphelp/apphelp.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/appcompat/apphelp/apphelp.c?rev=71885=71884=71885=diff == --- trunk/reactos/dll/appcompat/apphelp/apphelp.c [iso-8859-1] (original) +++ trunk/reactos/dll/appcompat/apphelp/apphelp.c [iso-8859-1] Sun Jul 10 16:06:39 2016 @@ -102,7 +102,8 @@ { char Buffer[512]; va_list ArgList; -char* Current = Buffer, *LevelStr; +char* Current = Buffer; +const char* LevelStr; size_t Length = sizeof(Buffer); if (g_ShimDebugLevel == 0x) Modified: trunk/reactos/dll/appcompat/apphelp/sdbapi.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/appcompat/apphelp/sdbapi.c?rev=71885=71884=71885=diff == --- trunk/reactos/dll/appcompat/apphelp/sdbapi.c[iso-8859-1] (original) +++ trunk/reactos/dll/appcompat/apphelp/sdbapi.c[iso-8859-1] Sun Jul 10 16:06:39 2016 @@ -178,7 +178,7 @@ return mem; } -LPVOID SdbpReAlloc(LPVOID mem, SIZE_T size +LPVOID SdbpReAlloc(LPVOID mem, SIZE_T size, SIZE_T oldSize #if SDBAPI_DEBUG_ALLOC , int line, const char* file #endif Modified: trunk/reactos/dll/appcompat/apphelp/sdbpapi.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/appcompat/apphelp/sdbpapi.h?rev=71885=71884=71885=diff == --- trunk/reactos/dll/appcompat/apphelp/sdbpapi.h [iso-8859-1] (original) +++ trunk/reactos/dll/appcompat/apphelp/sdbpapi.h [iso-8859-1] Sun Jul 10 16:06:39 2016 @@ -30,21 +30,21 @@ #if SDBAPI_DEBUG_ALLOC LPVOID SdbpAlloc(SIZE_T size, int line, const char* file); -LPVOID SdbpReAlloc(LPVOID mem, SIZE_T size, int line, const char* file); +LPVOID SdbpReAlloc(LPVOID mem, SIZE_T size, SIZE_T oldSize, int line, const char* file); void SdbpFree(LPVOID mem, int line, const char* file); #define SdbAlloc(size) SdbpAlloc(size, __LINE__, __FILE__) -#define SdbReAlloc(mem, size) SdbpReAlloc(mem, size, __LINE__, __FILE__) +#define SdbReAlloc(mem, size, oldSize) SdbpReAlloc(mem, size, oldSize, __LINE__, __FILE__) #define SdbFree(mem) SdbpFree(mem, __LINE__, __FILE__) #else LPVOID SdbpAlloc(SIZE_T size); -LPVOID SdbpReAlloc(LPVOID mem, SIZE_T size); +LPVOID SdbpReAlloc(LPVOID mem, SIZE_T size, SIZE_T oldSize); void SdbpFree(LPVOID mem); #define SdbAlloc(size) SdbpAlloc(size) -#define SdbReAlloc(mem, size) SdbpReAlloc(mem, size) +#define SdbReAlloc(mem, size, oldSize) SdbpReAlloc(mem, size, oldSize) #define SdbFree(mem) SdbpFree(mem) #endif @@ -71,6 +71,9 @@ BOOL WINAPI SdbpCheckTagType(TAG tag, WORD type); BOOL WINAPI SdbpCheckTagIDType(PDB db, TAGID tagid, WORD type); +#ifndef WINAPIV +#define WINAPIV +#endif typedef enum _SHIM_LOG_LEVEL { SHIM_ERR = 1, Modified: trunk/reactos/dll/appcompat/apphelp/sdbstringtable.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/appcompat/apphelp/sdbstringtable.c?rev=71885=71884=71885=diff == --- trunk/reactos/dll/appcompat/apphelp/sdbstringtable.c[iso-8859-1] (original) +++ trunk/reactos/dll/appcompat/apphelp/sdbstringtable.c[iso-8859-1] Sun Jul 10 16:06:39 2016 @@ -23,11 +23,20 @@ #include "sdbpapi.h" #else /* !defined(SDBWRITE_HOSTTOOL) */ #include +#include #include "sdbtypes.h" #include "sdbpapi.h" #endif /* !defined(SDBWRITE_HOSTTOOL) */ #include "sdbstringtable.h" + +#if !defined(offsetof) +#if defined(__GNUC__) +#define offsetof(TYPE, MEMBER) __builtin_offsetof (TYPE, MEMBER) +#else +#define offsetof(TYPE, MEMBER) ((size_t)&(((TYPE *)0)->MEMBER)) +#endif +#endif // !defined(offsetof) #define DEFAULT_TABLE_SIZE0x100 @@ -98,13 +107,48 @@ return hash; } +int Sdbwcscmp(const WCHAR* s1, const WCHAR* s2) +{ +while (*s1 == *s2) +{ +if (*s1 == 0) +return 0; +s1++; +s2++; +} +return *s1 - *s2; +} + + +// implementation taken from reactos/sdk/lib/crt/string/wcs.c +INT Sdbwcscpy(WCHAR* wcDest, size_t numElement, const WCHAR *wcSrc) +{ +size_t size = 0; +if(!wcDest || !numElement) +return 22; /* EINVAL */ + +
[ros-diffs] [ekohl] 71884: [USETUP] Add CAPS-LOCK support to the keyboard layout. Patch by Carlo Bramini. CORE-3368 #comment Thanks a lot!
Author: ekohl Date: Sun Jul 10 15:51:45 2016 New Revision: 71884 URL: http://svn.reactos.org/svn/reactos?rev=71884=rev Log: [USETUP] Add CAPS-LOCK support to the keyboard layout. Patch by Carlo Bramini. CORE-3368 #comment Thanks a lot! Modified: trunk/reactos/base/setup/usetup/native/utils/keytrans.c Modified: trunk/reactos/base/setup/usetup/native/utils/keytrans.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/base/setup/usetup/native/utils/keytrans.c?rev=71884=71883=71884=diff == --- trunk/reactos/base/setup/usetup/native/utils/keytrans.c [iso-8859-1] (original) +++ trunk/reactos/base/setup/usetup/native/utils/keytrans.c [iso-8859-1] Sun Jul 10 15:51:45 2016 @@ -173,83 +173,84 @@ UCHAR Normal; UCHAR Shift; UCHAR NumLock; + UCHAR bCAPS; } SCANTOASCII, *PSCANTOASCII; SCANTOASCII ScanToAscii[] = { -{ 0x1e, 0, 'a','A',0 }, -{ 0x30, 0, 'b','B',0 }, -{ 0x2e, 0, 'c','C',0 }, -{ 0x20, 0, 'd','D',0 }, -{ 0x12, 0, 'e','E',0 }, -{ 0x21, 0, 'f','F',0 }, -{ 0x22, 0, 'g','G',0 }, -{ 0x23, 0, 'h','H',0 }, -{ 0x17, 0, 'i','I',0 }, -{ 0x24, 0, 'j','J',0 }, -{ 0x25, 0, 'k','K',0 }, -{ 0x26, 0, 'l','L',0 }, -{ 0x32, 0, 'm','M',0 }, -{ 0x31, 0, 'n','N',0 }, -{ 0x18, 0, 'o','O',0 }, -{ 0x19, 0, 'p','P',0 }, -{ 0x10, 0, 'q','Q',0 }, -{ 0x13, 0, 'r','R',0 }, -{ 0x1f, 0, 's','S',0 }, -{ 0x14, 0, 't','T',0 }, -{ 0x16, 0, 'u','U',0 }, -{ 0x2f, 0, 'v','V',0 }, -{ 0x11, 0, 'w','W',0 }, -{ 0x2d, 0, 'x','X',0 }, -{ 0x15, 0, 'y','Y',0 }, -{ 0x2c, 0, 'z','Z',0 }, - -{ 0x02, 0, '1','!',0 }, -{ 0x03, 0, '2','@',0 }, -{ 0x04, 0, '3','#',0 }, -{ 0x05, 0, '4','$',0 }, -{ 0x06, 0, '5','%',0 }, -{ 0x07, 0, '6','^',0 }, -{ 0x08, 0, '7','&',0 }, -{ 0x09, 0, '8','*',0 }, -{ 0x0a, 0, '9','(',0 }, -{ 0x0b, 0, '0',')',0 }, - -{ 0x29, 0, '\'', '~',0 }, -{ 0x0c, 0, '-','_',0 }, -{ 0x0d, 0, '=','+',0 }, -{ 0x1a, 0, '[','{',0 }, -{ 0x1b, 0, ']','}',0 }, -{ 0x2b, 0, '\\', '|',0 }, -{ 0x27, 0, ';',':',0 }, -{ 0x28, 0, '\'', '"',0 }, -{ 0x33, 0, ',','<',0 }, -{ 0x34, 0, '.','>',0 }, -{ 0x35, 0, '/','?',0 }, - -{ 0x4f, 0, 0, 0, '1' }, -{ 0x50, 0, 0, 0, '2' }, -{ 0x51, 0, 0, 0, '3' }, -{ 0x4b, 0, 0, 0, '4' }, -{ 0x4c, 0, 0, 0, '5' }, -{ 0x4d, 0, 0, 0, '6' }, -{ 0x47, 0, 0, 0, '7' }, -{ 0x48, 0, 0, 0, '8' }, -{ 0x49, 0, 0, 0, '9' }, -{ 0x52, 0, 0, 0, '0' }, - -{ 0x4a, 0, '-','-',0 }, -{ 0x4e, 0, '+','+',0 }, -{ 0x37, 0, '*','*',0 }, -{ 0x35, 1, '/','/',0 }, -{ 0x53, 0, 0, 0, '.' }, - -{ 0x39, 0, ' ',' ',0 }, - -{ 0x1c, 0, '\r', '\r', 0 }, -{ 0x1c, 1, '\r', '\r', 0 }, -{ 0x0e, 0, 0x08, 0x08, 0 }, /* backspace */ - -{ 0, 0, 0, 0, 0 } +{ 0x1e, 0, 'a','A',0, TRUE }, +{ 0x30, 0, 'b','B',0, TRUE }, +{ 0x2e, 0, 'c','C',0, TRUE }, +{ 0x20, 0, 'd','D',0, TRUE }, +{ 0x12, 0, 'e','E',0, TRUE }, +{ 0x21, 0, 'f','F',0, TRUE }, +{ 0x22, 0, 'g','G',0, TRUE }, +{ 0x23, 0, 'h','H',0, TRUE }, +{ 0x17, 0, 'i','I',0, TRUE }, +{ 0x24, 0, 'j','J',0, TRUE }, +{ 0x25, 0, 'k','K',0, TRUE }, +{ 0x26, 0, 'l','L',
[ros-diffs] [tfaber] 71883: [NTOS:CC] - Raise exceptions on failure in CcMapData if RAISE_FROM_CC_MAP_DATA is defined. This is how the function should behave, and should be enabled once all our file s
Author: tfaber Date: Sun Jul 10 14:46:37 2016 New Revision: 71883 URL: http://svn.reactos.org/svn/reactos?rev=71883=rev Log: [NTOS:CC] - Raise exceptions on failure in CcMapData if RAISE_FROM_CC_MAP_DATA is defined. This is how the function should behave, and should be enabled once all our file system drivers correctly handle this. CORE-9848 Modified: trunk/reactos/ntoskrnl/cc/pin.c Modified: trunk/reactos/ntoskrnl/cc/pin.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/cc/pin.c?rev=71883=71882=71883=diff == --- trunk/reactos/ntoskrnl/cc/pin.c [iso-8859-1] (original) +++ trunk/reactos/ntoskrnl/cc/pin.c [iso-8859-1] Sun Jul 10 14:46:37 2016 @@ -16,6 +16,8 @@ /* GLOBALS ***/ +//#define RAISE_FROM_CC_MAP_DATA + extern NPAGED_LOOKASIDE_LIST iBcbLookasideList; /* FUNCTIONS */ @@ -62,7 +64,11 @@ { CCTRACE(CC_API_DEBUG, "FileObject=%p FileOffset=%p Length=%lu Flags=0x%lx -> FALSE\n", FileObject, FileOffset, Length, Flags); +#ifdef RAISE_FROM_CC_MAP_DATA +ExRaiseStatus(STATUS_INVALID_PARAMETER); +#else return FALSE; +#endif } ROffset = ROUND_DOWN(ReadOffset, VACB_MAPPING_GRANULARITY); @@ -75,7 +81,11 @@ { CCTRACE(CC_API_DEBUG, "FileObject=%p FileOffset=%p Length=%lu Flags=0x%lx -> FALSE\n", FileObject, FileOffset, Length, Flags); +#ifdef RAISE_FROM_CC_MAP_DATA +ExRaiseStatus(Status); +#else return FALSE; +#endif } if (!Valid) @@ -88,12 +98,17 @@ return FALSE; } -if (!NT_SUCCESS(CcReadVirtualAddress(Vacb))) +Status = CcReadVirtualAddress(Vacb); +if (!NT_SUCCESS(Status)) { CcRosReleaseVacb(SharedCacheMap, Vacb, FALSE, FALSE, FALSE); CCTRACE(CC_API_DEBUG, "FileObject=%p FileOffset=%p Length=%lu Flags=0x%lx -> FALSE\n", FileObject, FileOffset, Length, Flags); +#ifdef RAISE_FROM_CC_MAP_DATA +ExRaiseStatus(Status); +#else return FALSE; +#endif } } @@ -104,7 +119,11 @@ CcRosReleaseVacb(SharedCacheMap, Vacb, TRUE, FALSE, FALSE); CCTRACE(CC_API_DEBUG, "FileObject=%p FileOffset=%p Length=%lu Flags=0x%lx -> FALSE\n", FileObject, FileOffset, Length, Flags); +#ifdef RAISE_FROM_CC_MAP_DATA +ExRaiseStatus(STATUS_INSUFFICIENT_RESOURCES); +#else return FALSE; +#endif } RtlZeroMemory(iBcb, sizeof(*iBcb));
[ros-diffs] [mjansen] 71882: [WIN32SS] Do not try to call DevModes when it is NULL (mirror drivers). Patch by Victor Matovykh. CORE-11441 #resolve #comment Thanks!
Author: mjansen Date: Sun Jul 10 14:23:58 2016 New Revision: 71882 URL: http://svn.reactos.org/svn/reactos?rev=71882=rev Log: [WIN32SS] Do not try to call DevModes when it is NULL (mirror drivers). Patch by Victor Matovykh. CORE-11441 #resolve #comment Thanks! Modified: trunk/reactos/win32ss/gdi/eng/ldevobj.c Modified: trunk/reactos/win32ss/gdi/eng/ldevobj.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/win32ss/gdi/eng/ldevobj.c?rev=71882=71881=71882=diff == --- trunk/reactos/win32ss/gdi/eng/ldevobj.c [iso-8859-1] (original) +++ trunk/reactos/win32ss/gdi/eng/ldevobj.c [iso-8859-1] Sun Jul 10 14:23:58 2016 @@ -122,6 +122,12 @@ TRACE("LDEVOBJ_pdmiGetModes(%p, %p)\n", pldev, hDriver); +/* Mirror drivers may omit this function */ +if (!pldev->pfn.GetModes) +{ +return NULL; +} + /* Call the driver to get the required size */ cbSize = pldev->pfn.GetModes(hDriver, 0, NULL); if (!cbSize)