diff --git a/base/applications/calc/winmain.c b/base/applications/calc/winmain.c index b2ab16cd0e2..54025b64999 100644 --- a/base/applications/calc/winmain.c +++ b/base/applications/calc/winmain.c @@ -1015,10 +1015,16 @@ static void handle_copy_command(HWND hWnd) TCHAR display[MAX_CALC_SIZE]; UINT n; + // Read current text from output display n = GetDlgItemText(hWnd, IDC_TEXT_OUTPUT, display, SIZEOF(display)); - if (calc.base == IDC_RADIO_DEC && _tcschr(calc.buffer, _T('.')) == NULL) - display[n - calc.sDecimal_len] = _T('\0'); + // Check if result is a true number + if (!calc.is_nan) + { + // Remove trailing decimal point if no decimal digits exist + if (calc.base == IDC_RADIO_DEC && _tcschr(calc.buffer, _T('.')) == NULL) + display[n - calc.sDecimal_len] = _T('\0'); + } CopyMemToClipboard(display); } diff --git a/base/applications/regedit/childwnd.c b/base/applications/regedit/childwnd.c index b08736e5322..1cd0dc787ed 100644 --- a/base/applications/regedit/childwnd.c +++ b/base/applications/regedit/childwnd.c @@ -388,7 +388,8 @@ LRESULT CALLBACK ChildWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lPa g_pChildWnd->nSplitPos = 190; g_pChildWnd->hWnd = hWnd; - style = WS_CHILD | WS_VISIBLE | WS_TABSTOP; + /* ES_AUTOHSCROLL style enables horizontal scrolling and shrinking */ + style = WS_CHILD | WS_VISIBLE | WS_TABSTOP | ES_AUTOHSCROLL; g_pChildWnd->hAddressBarWnd = CreateWindowExW(WS_EX_CLIENTEDGE, L"Edit", NULL, style, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, hWnd, (HMENU)0, hInst, 0); diff --git a/base/services/seclogon/seclogon.c b/base/services/seclogon/seclogon.c index efe5ce4f853..b15fb22aa03 100644 --- a/base/services/seclogon/seclogon.c +++ b/base/services/seclogon/seclogon.c @@ -74,6 +74,7 @@ ServiceControlHandlerEx( TRACE(" SERVICE_CONTROL_STOP received\n"); UpdateServiceStatus(SERVICE_STOP_PENDING); StopRpcServer(); + UpdateServiceStatus(SERVICE_STOPPED); return ERROR_SUCCESS; case SERVICE_CONTROL_PAUSE: @@ -100,6 +101,7 @@ ServiceControlHandlerEx( TRACE(" SERVICE_CONTROL_SHUTDOWN received\n"); UpdateServiceStatus(SERVICE_STOP_PENDING); StopRpcServer(); + UpdateServiceStatus(SERVICE_STOPPED); return ERROR_SUCCESS; default :