{
HWND hwndScreenSavers = GetDlgItem(hwndDlg, IDC_SCREENS_LIST);
TCHAR szSearchPath[MAX_PATH];
+ TCHAR szLocalPath[MAX_PATH];
INT i;
ScreenSaverItem *ScreenSaverItem = NULL;
LPTSTR lpBackSlash;
// Initialize number of items into the list
pData->ScreenSaverCount = 1;
+ // Add all the screensavers where the applet is stored.
+ GetModuleFileName(hApplet, szLocalPath, MAX_PATH);
+ lpBackSlash = _tcsrchr(szLocalPath, _T('\\'));
+ if (lpBackSlash != NULL)
+ {
+ *lpBackSlash = '\0';
+ SearchScreenSavers(hwndScreenSavers, szLocalPath, pData);
+ }
+
// Add all the screensavers in the C:\ReactOS\System32 directory.
GetSystemDirectory(szSearchPath, MAX_PATH);
- SearchScreenSavers(hwndScreenSavers, szSearchPath, pData);
+ if (lpBackSlash != NULL && _tcsicmp(szSearchPath, szLocalPath) != 0)
+ SearchScreenSavers(hwndScreenSavers, szSearchPath, pData);
// Add all the screensavers in the C:\ReactOS directory.
GetWindowsDirectory(szSearchPath, MAX_PATH);
- SearchScreenSavers(hwndScreenSavers, szSearchPath, pData);
-
- // Add all the screensavers where the applet is stored.
- GetModuleFileName(hApplet, szSearchPath, MAX_PATH);
- lpBackSlash = _tcsrchr(szSearchPath, _T('\\'));
- if (lpBackSlash != NULL)
- {
- *lpBackSlash = '\0';
+ if (lpBackSlash != NULL && _tcsicmp(szSearchPath, szLocalPath) != 0)
SearchScreenSavers(hwndScreenSavers, szSearchPath, pData);
- }
}