diff --git a/Src/StartMenu/StartMenuDLL/MenuPaint.cpp b/Src/StartMenu/StartMenuDLL/MenuPaint.cpp index 32bccd387..9ea9d6710 100644 --- a/Src/StartMenu/StartMenuDLL/MenuPaint.cpp +++ b/Src/StartMenu/StartMenuDLL/MenuPaint.cpp @@ -1185,13 +1185,23 @@ void CMenuContainer::CreateBackground( int width1, int width2, int height1, int if (opacity!=MenuSkin::OPACITY_SOLID && !bMask) { - // set to opaque + // set the visible part to opaque. BitBlt/AlphaBlend above clip to + // the destination bitmap automatically, but this direct pixel pass + // must do the same before forming a pointer into the DIB. SelectObject(hdc,bmp0); // deselect m_Bitmap so all the GDI operations get flushed - unsigned int *bits2=bits+pos.y*totalWidth+pos.x; - alpha<<=24; - for (int y=0;y