1
0
Fork 0
mirror of https://github.com/juce-framework/JUCE.git synced 2026-01-17 00:44:19 +00:00
Commit graph

936 commits

Author SHA1 Message Date
Tom Poole
a9ad07a945 Use RAII for CFTypes 2021-03-25 15:48:35 +00:00
reuk
767f63dfb0
UIViewComponentPeer: Fix issue where heavyweight windows could "drift" when resized slowly 2021-03-25 11:51:28 +00:00
reuk
92ca22c080
UIViewComponentPeer: Fix issue where view may be accessed after deletion 2021-03-25 11:51:28 +00:00
reuk
5bcd2b0dfb
NSViewComponentPeer: Force repaint when window becomes key
This resolves an issue on macOS Catalina when using
JUCE_COREGRAPHICS_DRAW_ASYNC where windows would sometimes fail to
completely repaint when they were unminimized.
2021-03-17 14:29:08 +00:00
reuk
8fb4541fdb
iOS: Avoid unnecessary numeric conversion 2021-03-15 19:23:01 +00:00
reuk
d4e802016a VST3: Fix issue where Ardour would repeatedly try to resize editors
Ardour seems to listen to the bounds of the plugin window, and will call
`onSize` on the plugin editor when move/resize events are sent to the X
window - even if the size of the window didn't really change. This can
result in an infinite resize loop, where calling `onSize` on the VST3
instance sends a resize event to the plugin window, and this event
causes Ardour to call `onSize` on the plugin view.

To get around this, the Linux ComponentPeer will no longer request a
bounds change from the window system if the requested bounds are the
same as the current bounds.
2021-03-11 16:51:35 +00:00
ed
40c86d6b2f Linux: Fail more gracefully on systems which don't support 32-, 24-, or 16-bit RGB displays 2021-03-09 12:11:05 +00:00
reuk
3afaaa48be FileChooser: Fix IFileDialogEvents leak 2021-03-08 11:23:16 +00:00
ed
c32142a215 Windows: Fixed a build error and some unreachable code warnings when JUCE_WIN_PER_MONITOR_DPI_AWARE=0 2021-03-05 18:40:03 +00:00
reuk
7a0b17c0d3 LinuxComponentPeer: Fix scaling in custom windows created by plugins
Previously, things like PopupMenus which were created in their own
windows were not being scaled correctly on HiDPI displays on Linux.

This patch forces the display scale to 1.0 in plugins, meaning that
the transform applied to the main plugin window is the sole source
of truth for component scaling in plugins.
2021-03-04 13:56:03 +00:00
reuk
fd2f866dd1 FileChooser: Avoid throwing bad_weak_ptr
It seems like shared_from_this may not be enabled when a unique_ptr is
assigned to a shared_ptr (although it *should* be enabled when
constructing a new shared_ptr from a unique_ptr). Functions that return
objects that may need to use shared_from_this now return shared_ptr,
just to be safe.

Additionally, in some cases, shared_from_this was being called from
Thread::run after the last reference to the shared object had been
released. We now call shared_from_this during 'open', which will always
run on the message thread while at least once reference to the shared
object is alive.
2021-03-03 19:21:43 +00:00
ed
1ff7fc38b1 Windows: Added ScopedDeviceContext helper 2021-03-02 15:56:55 +00:00
ed
f6338c0f8e Windows: Added ScopedThreadDPIAwarenessSetter for correctly setting and resetting thread DPI-awareness for methods which interact with an HWND and removed some DPI workarounds 2021-03-02 15:56:10 +00:00
ed
3a0af69eff AudioPluginHost: Added an application-level setting for scaling plug-ins on Windows 2021-03-02 15:53:45 +00:00
reuk
45409bb4e6
FileChooser: Hide chooser when it leaves scope on Windows 2021-03-02 10:49:39 +00:00
ed
e18284978f FileChooser: Check JUCE_MODAL_LOOPS_PERMITTED in Native::runModally() 2021-02-22 09:08:09 +00:00
ed
3d378d0384 Windows: Avoid setting WINDOWPOS in handlePositionChanging() when "new" coordinates are floating-point rounding errors due to scale factor conversion 2021-02-19 19:07:12 +00:00
ed
ec0345c093 Windows: Check whether child HWNDs were already scaled during the scale factor listener callback to avoid double-scaling them in handleDPIChanging() 2021-02-19 19:07:12 +00:00
ed
cb57904740 Windows: Improved support for DPI-aware embedded windows in HWNDComponent 2021-02-19 19:07:05 +00:00
reuk
d5b55a8474
X11: Make setFullscreen put windows into true maximised mode 2021-02-16 15:39:31 +00:00
reuk
576cd24665
X11: Use correct scale factor on Ubuntu 2021-02-16 15:38:34 +00:00
Tom Poole
a05424fd3d Linux: Added better support for minimal X11 environments 2021-02-12 19:17:44 +00:00
ed
b5a06b0e2f Windows: Use MapWindowPoints() in HWNDComponentPeer::getBounds() to get correct client coordinates when we're the child of another HWND 2021-02-11 11:23:07 +00:00
ed
fd83e0f51e Removed Displays const_casts from ComponentPeer implementations 2021-02-08 14:38:09 +00:00
ed
ac1425f94e Added Display::safeAreaInsets and implementations for iOS and Android 2021-02-08 14:38:09 +00:00
ed
6d8c0b2fc3 Android: Set layoutInDisplayCutoutMode to LAYOUT_IN_DISPLAY_CUTOUT_MODE_ALWAYS so fullscreen kiosk apps fill the entire display on devices with cutouts 2021-02-08 14:38:09 +00:00
ed
c0cb5dcf34 Android: Tidied up some code in AndroidComponentPeer 2021-02-08 14:38:09 +00:00
ed
56f9f83638 iOS: Check UIStatusBarHidden .plist value in prefersStatusBarHidden property to correctly hide/show the status bar when requested 2021-02-05 11:34:39 +00:00
ed
4ef5012271 iOS: Fixed UIViewAlertForUnsatisfiableConstraints warning when showing the onscreen keyboard 2021-02-05 11:34:39 +00:00
reuk
837ab64dbd
Android: Fix numeric conversion warnings 2021-02-03 16:09:54 +00:00
ed
46f5b126d5 Tidied up some template statement whitespace 2021-01-29 15:40:12 +00:00
ed
af69be5346 Windows: Tidied up the usage of the JUCE_COMCALL, JUCE_COMCLASS, and JUCE_IUNKNOWNCLASS macros 2021-01-29 15:40:12 +00:00
reuk
dbfdaff00b
XWindowSystem: Prevent PopupMenus from accidentally dismissing themselves 2021-01-28 20:13:46 +00:00
ed
f43784dc5b macOS: Propagate focus loss message when resigning key window status and only grab focus if window can become the key window 2021-01-28 11:26:41 +00:00
ed
bd86eb667e Android: Fixed compile error when push notifications are disabled 2021-01-28 11:22:39 +00:00
Tom Poole
473fc357bb OSX 10.11: Fixed a CALayer crash 2021-01-21 10:04:23 +00:00
reuk
755e93e1c0 HWNDComponentPeer: Avoid assertions when opening submenus 2021-01-18 12:25:14 +00:00
reuk
651c91eb56
ColorSpacePtr: Tidy up uses 2021-01-15 15:05:35 +00:00
reuk
5490003964
LinuxComponentPeer: Dismiss modals more proactively
This patch should resolve an issue where the popupmenu for a combobox
could become 'stranded' if the plugin window was moved while the box was
open.
2021-01-15 12:18:32 +00:00
reuk
838d55569a
LinuxComponentPeer: Add makeXFreePtr helper function 2021-01-15 12:18:32 +00:00
reuk
4a4cca333e
LinuxComponentPeer: Remove magic numbers 2021-01-15 12:18:31 +00:00
reuk
55036de873
LinuxComponentPeer: Get rid of unused templating 2021-01-15 12:18:31 +00:00
reuk
85facf6d6e
HWNDComponentPeer: Dismiss modals more proactively
This change makes heavyweight views listen to window events from higher
in the window hierarchy. If a move or resize event from higher in the
hierarchy is encountered, blocking modal components will be dismissed.

This patch should resolve an issue where the popupmenu for a combobox
could become 'stranded' if the plugin window was moved while the box was
open.
2021-01-15 12:18:31 +00:00
reuk
60f756e22f
NSViewComponentPeer: Dismiss modals more proactively
This change will make plugin views (and other heavyweight views) listen
to their containing window, and dismiss any blocking modal components,
such as PopupMenus when the window is moved or resized.

This should fix issues where opening a combobox then moving the plugin
window could leave the combobox's popupmenu 'stranded'.
2021-01-15 12:18:31 +00:00
reuk
99e2cd0e3f
PopupMenu: Dismiss popups when minimising parent window
This behaviour was already present on windows, so this patch updates
Linux and macOS window-handling to match.
2021-01-15 12:18:31 +00:00
reuk
51170e6073
UIViewComponentPeer: Enable non-full-screen views 2021-01-15 10:55:48 +00:00
reuk
04f2ca61e2
UIViewComponentPeer: Simplify view transition reporting 2021-01-15 10:55:48 +00:00
Tom Poole
8fc1195c35 macOS: Set CALayer format to fix Big Sur invalidation region 2021-01-14 23:11:14 +00:00
Tom Poole
9e4fceb031 Revert "macOS: Set CALayer format to fix Big Sur invalidation region"
This reverts commit a6217ae9fb.
2021-01-14 17:16:56 +00:00
ed
d3f91fd76c macOS: Fixed repaint issue with JUCE_COREGRAPHICS_RENDER_WITH_MULTIPLE_PAINT_CALLS enabled that was introduced in 8d3fd927 2021-01-14 16:48:09 +00:00