Hack around a regression in Wine 6.2

This would otherwise prevent building with Wine 6.2.
This commit is contained in:
Robbert van der Helm
2021-02-15 12:10:56 +01:00
parent 8c2594f902
commit c29bc59059
2 changed files with 22 additions and 2 deletions
+11
View File
@@ -6,6 +6,17 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic
Versioning](https://semver.org/spec/v2.0.0.html).
## [Unreleased]
### Changed
- Wine 6.2 introduced a
[regression](https://bugs.winehq.org/show_bug.cgi?id=50670) that would cause
compile errors when building yabridge because some parts of Wine's headers are
no longer valid C++. Since we do not need the affecting functionality,
yabridge now includes a small workaround to make sure that the affected code
never gets compiled.
## [3.0.0] - 2021-02-14
### Added
+11 -2
View File
@@ -18,14 +18,23 @@
#include "../boost-fix.h"
#include <public.sdk/source/vst/hosting/module_win32.cpp>
#include "vst3-impls/component-handler-proxy.h"
#include "vst3-impls/connection-point-proxy.h"
#include "vst3-impls/context-menu-proxy.h"
#include "vst3-impls/host-context-proxy.h"
#include "vst3-impls/plug-frame-proxy.h"
// HACK: As of Wine commit `0c19e2e487d36a89531daf4897c0b6390d82a843` (or Wine
// 6.2), Wine's `shobjidl.h` cannot be compiled under C++ because one of
// the parameters in the file operations interface is now named
// `template`, which is a reserved keyword. Since we do not need this
// interface, we'll just hack around this by making sure it never gets
// defined.
//
// https://bugs.winehq.org/show_bug.cgi?id=50670
#define __IFileOperation_INTERFACE_DEFINED__
#include <public.sdk/source/vst/hosting/module_win32.cpp>
InstancePlugView::InstancePlugView() {}
InstancePlugView::InstancePlugView(