diff --git a/dlls/shell32/control.c b/dlls/shell32/control.c index a339dbc10d9..aa5abfe5b9c 100644 --- a/dlls/shell32/control.c +++ b/dlls/shell32/control.c @@ -511,6 +511,8 @@ static LRESULT WINAPI Control_WndProc(HWND hWnd, UINT wMsg, if (item) SetWindowTextW(panel->hWndStatusBar, item->applet->info[item->id].szInfo); + else + SetWindowTextW(panel->hWndStatusBar, NULL); return 0; } @@ -533,6 +535,18 @@ static LRESULT WINAPI Control_WndProc(HWND hWnd, UINT wMsg, if (item) SetWindowTextW(panel->hWndStatusBar, item->applet->info[item->id].szInfo); } + else if ((HIWORD(lParam1) == 0xFFFF) && (lParam2 == 0)) + { + /* reset status bar description to that of the selected icon */ + CPlItem *item = Control_GetCPlItem_From_ListView(panel); + + if (item) + SetWindowTextW(panel->hWndStatusBar, item->applet->info[item->id].szInfo); + else + SetWindowTextW(panel->hWndStatusBar, NULL); + + return 0; + } else SetWindowTextW(panel->hWndStatusBar, NULL);