[SYSDM]
[reactos.git] / reactos / dll / cpl / console / console.c
index a170a02..9dc3c71 100644 (file)
@@ -1,5 +1,4 @@
-/* $Id$
- *
+/*
  * PROJECT:         ReactOS Console Configuration DLL
  * LICENSE:         GPL - See COPYING in the top level directory
  * FILE:            dll/win32/console/console.c
@@ -13,7 +12,7 @@
 #define WM_SETCONSOLE (WM_USER+10)
 
 
-LONG APIENTRY InitApplet(HWND hwnd, UINT uMsg, LONG wParam, LONG lParam);
+LONG APIENTRY InitApplet(HWND hwnd, UINT uMsg, LPARAM wParam, LPARAM lParam);
 INT_PTR CALLBACK OptionsProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam);
 INT_PTR CALLBACK FontProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam);
 INT_PTR CALLBACK LayoutProc(HWND hwndDlg, UINT uMsg, WPARAM wParam, LPARAM lParam);
@@ -144,18 +143,18 @@ ApplyConsoleInfo(HWND hwndDlg, PConsoleInfo pConInfo)
        if (res == IDCANCEL)
        {
                /* dont destroy when user presses cancel */
-               SetWindowLong(hwndDlg, DWL_MSGRESULT, PSNRET_INVALID_NOCHANGEPAGE);
+               SetWindowLongPtr(hwndDlg, DWL_MSGRESULT, PSNRET_INVALID_NOCHANGEPAGE);
        }
        else if ( res == IDC_RADIO_APPLY_ALL )
        {
                pConInfo->AppliedConfig = TRUE;
-               SetWindowLong(hwndDlg, DWL_MSGRESULT, PSNRET_NOERROR);
+               SetWindowLongPtr(hwndDlg, DWL_MSGRESULT, PSNRET_NOERROR);
                SendMessage(pConInfo->hConsoleWindow, PM_APPLY_CONSOLE_INFO, (WPARAM)pConInfo, (LPARAM)TRUE);
        }
        else if ( res == IDC_RADIO_APPLY_CURRENT )
        {
                pConInfo->AppliedConfig = TRUE;
-               SetWindowLong(hwndDlg, DWL_MSGRESULT, PSNRET_NOERROR);
+               SetWindowLongPtr(hwndDlg, DWL_MSGRESULT, PSNRET_NOERROR);
                SendMessage(pConInfo->hConsoleWindow, PM_APPLY_CONSOLE_INFO, (WPARAM)pConInfo, (LPARAM)TRUE);
        }
 }
@@ -168,6 +167,7 @@ InitApplet(HWND hwnd, UINT uMsg, LPARAM wParam, LPARAM lParam)
        PROPSHEETHEADER psh;
        INT i=0;
        PConsoleInfo pConInfo;
+       WCHAR szTitle[100];
        PConsoleInfo pSharedInfo = (PConsoleInfo)wParam;
 
        UNREFERENCED_PARAMETER(uMsg);
@@ -222,17 +222,24 @@ InitApplet(HWND hwnd, UINT uMsg, LPARAM wParam, LPARAM lParam)
        ZeroMemory(&psh, sizeof(PROPSHEETHEADER));
        psh.dwSize = sizeof(PROPSHEETHEADER);
        psh.dwFlags =  PSH_PROPSHEETPAGE | PSH_NOAPPLYNOW;
-
        if(_tcslen(pConInfo->szProcessName))
        {
                psh.dwFlags |= PSH_PROPTITLE;
                psh.pszCaption = pConInfo->szProcessName;
-       }
+       }
+       else
+       {
+               if (!GetConsoleTitleW(szTitle, sizeof(szTitle)/sizeof(WCHAR)))
+               {
+                       _tcscpy(szTitle, _T("cmd.exe"));
+               }
+               szTitle[(sizeof(szTitle)/sizeof(WCHAR))-1] = _T('\0');
+               psh.pszCaption = szTitle;
+       }
 
-       psh.hwndParent = NULL;
+       psh.hwndParent = hwnd;
        psh.hInstance = hApplet;
        psh.hIcon = LoadIcon(hApplet, MAKEINTRESOURCE(IDC_CPLICON));
-       psh.pszCaption = 0;
        psh.nPages = 4;
        psh.nStartPage = 0;
        psh.ppsp = psp;