mirror of
https://github.com/cookiengineer/audacity
synced 2025-06-17 16:40:07 +02:00
Add required wx3.0.2 patches
This commit is contained in:
parent
b9cb660c83
commit
aa8d6b5075
11
win/wxWidgets_additions/README.txt
Normal file
11
win/wxWidgets_additions/README.txt
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
Distributed versions of Audacity are built with accessibility
|
||||||
|
enabled. This requires a patch to wxWidgets:
|
||||||
|
|
||||||
|
accessibility.diff
|
||||||
|
|
||||||
|
Patches that need to be applied to wxWidgets 3.0.2. These should not
|
||||||
|
be required for later versions:
|
||||||
|
|
||||||
|
changeset_0797a6f8754db982b87a1df63975ccf76df2905f.diff
|
||||||
|
changeset_14f052a7680fc5ddb3e95d29c23b79c7209c9353.diff
|
||||||
|
|
12
win/wxWidgets_additions/accessibility.diff
Normal file
12
win/wxWidgets_additions/accessibility.diff
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
diff -wruN orig/wxWidgets-3.0.2/include/wx/msw/setup.h wxWidgets-3.0.2/include/wx/msw/setup.h
|
||||||
|
--- orig/include/wx/msw/setup.h 2014-10-06 16:33:44.000000000 -0500
|
||||||
|
+++ include/wx/msw/setup.h 2014-10-14 18:38:37.992586000 -0500
|
||||||
|
@@ -1366,7 +1366,7 @@
|
||||||
|
// Default is 0.
|
||||||
|
//
|
||||||
|
// Recommended setting (at present): 0
|
||||||
|
-#define wxUSE_ACCESSIBILITY 0
|
||||||
|
+#define wxUSE_ACCESSIBILITY 1
|
||||||
|
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
// miscellaneous settings
|
@ -0,0 +1,22 @@
|
|||||||
|
Index: docs/changes.txt
|
||||||
|
===================================================================
|
||||||
|
--- docs/changes.txt (revision 2632977f6b6aa2f5c6254a69936ca288ace0560d)
|
||||||
|
+++ docs/changes.txt (revision 0797a6f8754db982b87a1df63975ccf76df2905f)
|
||||||
|
@@ -613,4 +613,5 @@
|
||||||
|
|
||||||
|
- Fix compilation with g++ 4.9 in non-C++11 mode.
|
||||||
|
+- Fix regression in accessibility support (Leland Lucius).
|
||||||
|
- Fix regression in wxDC drawing with bottom-to-top y axis (Artur Wieczorek).
|
||||||
|
- Fix compilation with C++Builder XE compiler (Nichka).
|
||||||
|
Index: src/msw/window.cpp
|
||||||
|
===================================================================
|
||||||
|
--- src/msw/window.cpp (revision 8bbe683f61af82bfb3025ccf4d23885d211ca90b)
|
||||||
|
+++ src/msw/window.cpp (revision 0797a6f8754db982b87a1df63975ccf76df2905f)
|
||||||
|
@@ -3387,5 +3387,6 @@
|
||||||
|
if (dwObjId == (LPARAM)OBJID_CLIENT && GetOrCreateAccessible())
|
||||||
|
{
|
||||||
|
- return LresultFromObject(IID_IAccessible, wParam, (IUnknown*) GetAccessible()->GetIAccessible());
|
||||||
|
+ processed = true;
|
||||||
|
+ rc.result = LresultFromObject(IID_IAccessible, wParam, (IUnknown*) GetAccessible()->GetIAccessible());
|
||||||
|
}
|
||||||
|
break;
|
@ -0,0 +1,88 @@
|
|||||||
|
Index: include/wx/msw/init.h
|
||||||
|
===================================================================
|
||||||
|
--- include/wx/msw/init.h (revision 3f66f6a5b3583b02c34854556eb83e3a808524ce)
|
||||||
|
+++ include/wx/msw/init.h (revision 14f052a7680fc5ddb3e95d29c23b79c7209c9353)
|
||||||
|
@@ -30,4 +30,8 @@
|
||||||
|
typedef char *wxCmdLineArgType;
|
||||||
|
#endif
|
||||||
|
+
|
||||||
|
+// Call this function to prevent wxMSW from calling SetProcessDPIAware().
|
||||||
|
+// Must be called before wxEntry().
|
||||||
|
+extern WXDLLIMPEXP_CORE void wxMSWDisableSettingHighDPIAware();
|
||||||
|
|
||||||
|
// Windows-only overloads of wxEntry() and wxEntryStart() which take the
|
||||||
|
Index: interface/wx/app.h
|
||||||
|
===================================================================
|
||||||
|
--- interface/wx/app.h (revision ab48d8299099bf1979c1c797bf1cf17b086c46f2)
|
||||||
|
+++ interface/wx/app.h (revision 14f052a7680fc5ddb3e95d29c23b79c7209c9353)
|
||||||
|
@@ -1090,5 +1090,9 @@
|
||||||
|
@endcode
|
||||||
|
|
||||||
|
- @header{wx/app.h}
|
||||||
|
+ @onlyfor{wxmsw}
|
||||||
|
+
|
||||||
|
+ @header{wx/app.h}
|
||||||
|
+
|
||||||
|
+ @see wxMSWDisableSettingHighDPIAware()
|
||||||
|
*/
|
||||||
|
int wxEntry(HINSTANCE hInstance,
|
||||||
|
Index: interface/wx/init.h
|
||||||
|
===================================================================
|
||||||
|
--- interface/wx/init.h (revision 3f66f6a5b3583b02c34854556eb83e3a808524ce)
|
||||||
|
+++ interface/wx/init.h (revision 14f052a7680fc5ddb3e95d29c23b79c7209c9353)
|
||||||
|
@@ -108,4 +108,21 @@
|
||||||
|
void wxUninitialize();
|
||||||
|
|
||||||
|
+/**
|
||||||
|
+ Prevents wxWidgets from setting HighDPI awareness mode.
|
||||||
|
+
|
||||||
|
+ wxEntry calls SetDPIProcessAware() early during initialization on Windows.
|
||||||
|
+ To prevent this (e.g. because wx is embedded in native code and disabling
|
||||||
|
+ DPI awareness in the manifest is not an option), call this function
|
||||||
|
+ *before* wxEntry() is called.
|
||||||
|
+
|
||||||
|
+ @onlyfor{wxmsw}
|
||||||
|
+
|
||||||
|
+ @header{wx/init.h}
|
||||||
|
+
|
||||||
|
+ @since 3.0.3, but only available in 3.0.x, not 3.1+ which doesn't make
|
||||||
|
+ the SetDPIProcessAware() call anymore.
|
||||||
|
+*/
|
||||||
|
+void wxMSWDisableSettingHighDPIAware();
|
||||||
|
+
|
||||||
|
//@}
|
||||||
|
|
||||||
|
Index: src/msw/main.cpp
|
||||||
|
===================================================================
|
||||||
|
--- src/msw/main.cpp (revision 3f66f6a5b3583b02c34854556eb83e3a808524ce)
|
||||||
|
+++ src/msw/main.cpp (revision 14f052a7680fc5ddb3e95d29c23b79c7209c9353)
|
||||||
|
@@ -298,5 +298,20 @@
|
||||||
|
}
|
||||||
|
|
||||||
|
+// It is sometimes undesirable to force DPI awareness on appplications, e.g.
|
||||||
|
+// when they are artwork heavy and don't have appropriately scaled bitmaps, or
|
||||||
|
+// when they are using non-wx, DPI-unaware code. Allow disabling
|
||||||
|
+// SetProcessDPIAware() call.
|
||||||
|
+//
|
||||||
|
+// Further discussion:
|
||||||
|
+// http://trac.wxwidgets.org/ticket/16116
|
||||||
|
+// https://groups.google.com/d/topic/wx-dev/Z0VpgzCY34U/discussion
|
||||||
|
+bool gs_allowChangingDPIAwareness = true;
|
||||||
|
+
|
||||||
|
} //anonymous namespace
|
||||||
|
+
|
||||||
|
+void wxMSWDisableSettingHighDPIAware()
|
||||||
|
+{
|
||||||
|
+ gs_allowChangingDPIAwareness = false;
|
||||||
|
+}
|
||||||
|
|
||||||
|
// ----------------------------------------------------------------------------
|
||||||
|
@@ -406,5 +421,7 @@
|
||||||
|
// Note that we intentionally do it here and not in wxApp, so that it
|
||||||
|
// doesn't happen if wx code is hosted in another app (e.g. a plugin).
|
||||||
|
- wxSetProcessDPIAware();
|
||||||
|
+ // It can be disabled by calling wxMSWAllowChangingDPIAwareness().
|
||||||
|
+ if ( gs_allowChangingDPIAwareness )
|
||||||
|
+ wxSetProcessDPIAware();
|
||||||
|
|
||||||
|
if ( !wxMSWEntryCommon(hInstance, nCmdShow) )
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Loading…
x
Reference in New Issue
Block a user