Author: gadamopoulos Date: Tue Oct 18 13:36:44 2011 New Revision: 54189
URL: http://svn.reactos.org/svn/reactos?rev=54189&view=rev Log: [desk.cpl] - Apply a wallpaper and desktop background only when they have changed - Fixes changing desktop background to the color defined by the theme
Modified: trunk/reactos/dll/cpl/desk/background.c
Modified: trunk/reactos/dll/cpl/desk/background.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/desk/background.c?r... ============================================================================== --- trunk/reactos/dll/cpl/desk/background.c [iso-8859-1] (original) +++ trunk/reactos/dll/cpl/desk/background.c [iso-8859-1] Tue Oct 18 13:36:44 2011 @@ -40,6 +40,9 @@
typedef struct _DATA { + BOOL bWallpaperChanged; + BOOL bClrBackgroundChanged; + BackgroundItem backgroundItems[MAX_BACKGROUNDS];
PDIBITMAP pWallpaperBitmap; @@ -365,6 +368,7 @@ { /* Save selected color to var */ g_GlobalData.desktop_color = cc.rgbResult; + pData->bClrBackgroundChanged = TRUE;
/* Apply button will be activated */ PropSheet_Changed(GetParent(hwndDlg), hwndDlg); @@ -509,6 +513,8 @@ if (pData->pWallpaperBitmap == NULL) return; } + + pData->bWallpaperChanged = TRUE;
InvalidateRect(GetDlgItem(hwndDlg, IDC_BACKGROUND_PREVIEW), NULL, TRUE); @@ -802,8 +808,10 @@ switch(lpnm->code) { case PSN_APPLY: - SetWallpaper(pData); - SetDesktopBackColor(hwndDlg, pData); + if(pData->bWallpaperChanged) + SetWallpaper(pData); + if(pData->bClrBackgroundChanged) + SetDesktopBackColor(hwndDlg, pData); return TRUE;
case LVN_ITEMCHANGED: