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_DC_CACHEING, cache temporary wxDC objects.}
@itemdef{wxUSE_DDE_FOR_IPC, See wx/ipc.h file.} @itemdef{wxUSE_DDE_FOR_IPC, See wx/ipc.h file.}
@itemdef{wxUSE_DPI_AWARE_MANIFEST, Set the DPI awareness of the application @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_ENH_METAFILE, Use wxEnhMetaFile.}
@itemdef{wxUSE_HOTKEY, Use wxWindow::RegisterHotKey() and wxWindow::UnregisterHotKey} @itemdef{wxUSE_HOTKEY, Use wxWindow::RegisterHotKey() and wxWindow::UnregisterHotKey}
@itemdef{wxUSE_INKEDIT, Use InkEdit library. Related to Tablet PCs.} @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_PS_PRINTING, See src/msw/dcprint.cpp file.}
@itemdef{wxUSE_RC_MANIFEST, Include manifest for common controls library v6 @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 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_REGKEY, Use wxRegKey class.}
@itemdef{wxUSE_RICHEDIT, Enable use of riched32.dll in wxTextCtrl} @itemdef{wxUSE_RICHEDIT, Enable use of riched32.dll in wxTextCtrl}
@itemdef{wxUSE_RICHEDIT2, Enable use of riched20.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. // 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. // 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) #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 #if defined(wxUSE_RC_MANIFEST) && wxUSE_RC_MANIFEST
// see "about isolated applications" topic in MSDN // see "about isolated applications" topic in MSDN