[WINHTTP] Sync with Wine Staging 3.9. CORE-14656
[reactos.git] / dll / cpl / intl / languages.c
index 940b485..6056a12 100644 (file)
@@ -9,11 +9,22 @@ LanguagesPageProc(HWND hwndDlg,
                   WPARAM wParam,
                   LPARAM lParam)
 {
-    SHELLEXECUTEINFO shInputDll;
+    SHELLEXECUTEINFOW shInputDll;
+    PGLOBALDATA pGlobalData;
+
+    pGlobalData = (PGLOBALDATA)GetWindowLongPtr(hwndDlg, DWLP_USER);
 
     switch (uMsg)
     {
         case WM_INITDIALOG:
+            pGlobalData = (PGLOBALDATA)((LPPROPSHEETPAGE)lParam)->lParam;
+            SetWindowLongPtr(hwndDlg, DWLP_USER, (LONG_PTR)pGlobalData);
+
+            if (!pGlobalData->bIsUserAdmin)
+            {
+                EnableWindow(GetDlgItem(hwndDlg, IDC_INST_FILES_FOR_RTOL_LANG), FALSE);
+                EnableWindow(GetDlgItem(hwndDlg, IDC_INST_FILES_FOR_ASIAN), FALSE);
+            }
             break;
 
         case WM_COMMAND:
@@ -23,13 +34,13 @@ LanguagesPageProc(HWND hwndDlg,
                 case IDC_DETAIL_BUTTON:
                     if (HIWORD(wParam) == BN_CLICKED)
                     {
-                        memset(&shInputDll, 0x0, sizeof(SHELLEXECUTEINFO));
+                        memset(&shInputDll, 0x0, sizeof(SHELLEXECUTEINFOW));
                         shInputDll.cbSize = sizeof(shInputDll);
                         shInputDll.hwnd = hwndDlg;
-                        shInputDll.lpVerb = _T("open");
-                        shInputDll.lpFile = _T("RunDll32.exe");
-                        shInputDll.lpParameters = _T("shell32.dll,Control_RunDLL input.dll");
-                        if (ShellExecuteEx(&shInputDll) == 0)
+                        shInputDll.lpVerb = L"open";
+                        shInputDll.lpFile = L"RunDll32.exe";
+                        shInputDll.lpParameters = L"shell32.dll,Control_RunDLL input.dll";
+                        if (ShellExecuteExW(&shInputDll) == 0)
                         {
                             PrintErrorMsgBox(IDS_ERROR_INPUT_DLL);
                         }