Make it enough to predefine only wxUSE_DPI_AWARE_MANIFEST

If this is predefined before including wx/msw/wx.rc, it clearly
indicates that wx manifest should be used, but this was _not_ the case
before as wxUSE_RC_MANIFEST could be predefined as 0 (which is the case
for MSVS, to avoid conflicting with the manifest embedded by it into the
executable by default).

Change this and do include the wx manifest if wxUSE_DPI_AWARE_MANIFEST
is defined.
This commit is contained in:
Vadim Zeitlin 2023-08-23 16:18:05 +02:00
parent 3e4946fc31
commit 5d630caabd
2 changed files with 12 additions and 3 deletions

View file

@ -314,7 +314,8 @@ library:
@itemdef{wxUSE_DC_CACHEING, cache temporary wxDC objects.}
@itemdef{wxUSE_DDE_FOR_IPC, See wx/ipc.h file.}
@itemdef{wxUSE_DPI_AWARE_MANIFEST, Set the DPI awareness of the application
(0=none, 1=system, 2=per-monitor). Used by CMake and when wxUSE_RC_MANIFEST is enabled.}
(0=none, 1=system, 2=per-monitor). Used by CMake and can be predefined before
including @c wx/msw/wx.rc.}
@itemdef{wxUSE_ENH_METAFILE, Use wxEnhMetaFile.}
@itemdef{wxUSE_HOTKEY, Use wxWindow::RegisterHotKey() and wxWindow::UnregisterHotKey}
@itemdef{wxUSE_INKEDIT, Use InkEdit library. Related to Tablet PCs.}
@ -327,7 +328,7 @@ manifest from wxWidgets RC file. See also wxUSE_RC_MANIFEST.}
@itemdef{wxUSE_PS_PRINTING, See src/msw/dcprint.cpp file.}
@itemdef{wxUSE_RC_MANIFEST, Include manifest for common controls library v6
from wxWidgets RC file. This is disabled by default for MSVC but enabled for
the other compilers. See also wxUSE_NO_MANIFEST.}
the other compilers. See also wxUSE_NO_MANIFEST and wxUSE_DPI_AWARE_MANIFEST.}
@itemdef{wxUSE_REGKEY, Use wxRegKey class.}
@itemdef{wxUSE_RICHEDIT, Enable use of riched32.dll in wxTextCtrl}
@itemdef{wxUSE_RICHEDIT2, Enable use of riched20.dll in wxTextCtrl}

View file

@ -91,11 +91,19 @@ wxBITMAP_STD_COLOURS BITMAP "wx/msw/colours.bmp"
// Include manifest file for common controls library v6 required to use themes.
//
// Predefining wxUSE_NO_MANIFEST as 1 always disables the use of the manifest.
// Otherwise we include it only if wxUSE_RC_MANIFEST is defined as 1.
// Otherwise we include it either if wxUSE_RC_MANIFEST is defined as 1 or if
// wxUSE_DPI_AWARE_MANIFEST is defined.
//
#if !defined(wxUSE_NO_MANIFEST) || (wxUSE_NO_MANIFEST == 0)
#ifdef wxUSE_DPI_AWARE_MANIFEST
// Defining wxUSE_DPI_AWARE_MANIFEST overrides wxUSE_RC_MANIFEST, as it
// makes no sense to define the former just for it to be ignored.
#undef wxUSE_RC_MANIFEST
#define wxUSE_RC_MANIFEST 1
#endif
#if defined(wxUSE_RC_MANIFEST) && wxUSE_RC_MANIFEST
// see "about isolated applications" topic in MSDN