mirror of
https://github.com/reactos/reactos.git
synced 2024-12-28 10:04:49 +00:00
Mark system color brushes as global so they won't be deleted when the
process which created them terminates svn path=/trunk/; revision=6414
This commit is contained in:
parent
2bb8751f3e
commit
792f0b6860
1 changed files with 7 additions and 10 deletions
|
@ -16,7 +16,7 @@
|
||||||
* along with this program; if not, write to the Free Software
|
* along with this program; if not, write to the Free Software
|
||||||
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
*/
|
*/
|
||||||
/* $Id: color.c,v 1.26 2003/10/22 14:02:54 navaraf Exp $ */
|
/* $Id: color.c,v 1.27 2003/10/23 15:34:44 gvg Exp $ */
|
||||||
|
|
||||||
// FIXME: Use PXLATEOBJ logicalToSystem instead of int *mapping
|
// FIXME: Use PXLATEOBJ logicalToSystem instead of int *mapping
|
||||||
|
|
||||||
|
@ -153,11 +153,6 @@ HPEN STDCALL NtGdiGetSysColorPen(int nIndex)
|
||||||
|
|
||||||
HBRUSH STDCALL NtGdiGetSysColorBrush(int nIndex)
|
HBRUSH STDCALL NtGdiGetSysColorBrush(int nIndex)
|
||||||
{
|
{
|
||||||
#if 0
|
|
||||||
COLORREF Col;
|
|
||||||
memcpy(&Col, COLOR_sysPalTemplate + nIndex, sizeof(COLORREF));
|
|
||||||
return(NtGdiCreateSolidBrush(Col));
|
|
||||||
#else
|
|
||||||
static HBRUSH SysBrushes[sizeof(SysColours) / sizeof(SysColours[0])];
|
static HBRUSH SysBrushes[sizeof(SysColours) / sizeof(SysColours[0])];
|
||||||
|
|
||||||
if (nIndex < 0 || sizeof(SysColours) / sizeof(SysColours[0]) < nIndex)
|
if (nIndex < 0 || sizeof(SysColours) / sizeof(SysColours[0]) < nIndex)
|
||||||
|
@ -166,15 +161,17 @@ HBRUSH STDCALL NtGdiGetSysColorBrush(int nIndex)
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* FIXME should register this object with DeleteObject() so it
|
/* FIXME Should be changed when a new user logs in? */
|
||||||
can't be deleted */
|
|
||||||
if (NULL == SysBrushes[nIndex])
|
if (NULL == SysBrushes[nIndex])
|
||||||
{
|
{
|
||||||
SysBrushes[nIndex] = (HBRUSH) ((DWORD)NtGdiCreateSolidBrush(SysColours[nIndex]) | 0x00800000);
|
SysBrushes[nIndex] = (HBRUSH) ((DWORD)NtGdiCreateSolidBrush(SysColours[nIndex]));
|
||||||
|
if (NULL != SysBrushes[nIndex])
|
||||||
|
{
|
||||||
|
GDIOBJ_MarkObjectGlobal(SysBrushes[nIndex]);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return SysBrushes[nIndex];
|
return SysBrushes[nIndex];
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue