mirror of
https://github.com/reactos/reactos.git
synced 2024-11-18 13:01:40 +00:00
deae917e9b
Fixes CORE-15558 "AbiWord font listbox should display a specific font only once, but displays each of them many times instead" which regressed by SVN r75491 == 0.4.7-dev-32-gd10c0ec112
by porting back the commits: 0.4.12-dev-320-g6e4e5a004c
and 0.4.13-dev-107-gae8417fd90
to prevent introducing another regression CORE_15785 with the initial fix. and some more addendums to prevent introducing regression CORE_15755 I verified afterwards that all 3 issues: CORE-15558, CORE_15785 and CORE_15755 are in fixed state. Actually I don't really like the resulting code due to the qsort() that it introduces into win32ss/gdi/gdi32/objects/font.c We did not need that at all before 0.4.7-dev-32-gd10c0ec112
In case that qsort() would ever reveal any new trouble like reduced performance or stack overflow, we should structurally revert all that context to 0.4.7-dev-31 instead. IntEnumFontFamilies() is called immediately upon process initialization for many applications and the qsorted-list is *huge*, so this indeed could be relevant for performance.
63 lines
1.3 KiB
C
63 lines
1.3 KiB
C
/*
|
|
* COPYRIGHT: See COPYING in the top level directory
|
|
* PROJECT: ReactOS System Libraries
|
|
* FILE: win32ss/gdi/gdi32/include/precomp.h
|
|
* PURPOSE: User-Mode Win32 GDI Library Header
|
|
* PROGRAMMER: Alex Ionescu (alex@relsoft.net)
|
|
*/
|
|
|
|
#ifndef _GDI32_PCH_
|
|
#define _GDI32_PCH_
|
|
|
|
/* INCLUDES ******************************************************************/
|
|
|
|
/* Definitions */
|
|
#define WIN32_NO_STATUS
|
|
#define _INC_WINDOWS
|
|
#define COM_NO_WINDOWS_H
|
|
#define NTOS_MODE_USER
|
|
|
|
#include <stdarg.h>
|
|
|
|
/* SDK/DDK/NDK Headers. */
|
|
#include <windef.h>
|
|
|
|
/* Avoid type casting, by defining RECT to RECTL */
|
|
#define RECT RECTL
|
|
#define PRECT PRECTL
|
|
#define LPRECT LPRECTL
|
|
#define LPCRECT LPCRECTL
|
|
#define POINT POINTL
|
|
#define LPPOINT PPOINTL
|
|
#define PPOINT PPOINTL
|
|
|
|
#include <winbase.h>
|
|
#include <winnls.h>
|
|
#include <objbase.h>
|
|
#include <ndk/rtlfuncs.h>
|
|
#include <wingdi.h>
|
|
#define _ENGINE_EXPORT_
|
|
#include <winddi.h>
|
|
#include <prntfont.h>
|
|
#include <winddiui.h>
|
|
#include <winspool.h>
|
|
|
|
#include <ddrawi.h>
|
|
#include <ddrawgdi.h>
|
|
#include <d3dkmthk.h>
|
|
|
|
/* Public Win32K Headers */
|
|
#include <ntgdityp.h>
|
|
#include <ntgdi.h>
|
|
#include <ntgdihdl.h>
|
|
|
|
/* Private GDI32 Header */
|
|
#include "gdi32p.h"
|
|
|
|
/* Deprecated NTGDI calls which shouldn't exist */
|
|
#include <ntgdibad.h>
|
|
|
|
#include <undocgdi.h>
|
|
#include <ntintsafe.h>
|
|
|
|
#endif /* _GDI32_PCH_ */
|