Skip to content

Commit f5dc5c3

Browse files
committed
Android: Fix crash when deleting peer on touch event
1 parent 84f29c5 commit f5dc5c3

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

modules/juce_gui_basics/native/juce_Windowing_android.cpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1762,6 +1762,8 @@ class AndroidComponentPeer final : public ComponentPeer,
17621762
if (touchesDown == 0)
17631763
ModifierKeys::currentModifiers = ModifierKeys::currentModifiers.withoutMouseButtons();
17641764

1765+
WeakReference self { this };
1766+
17651767
handleMouseEvent (MouseInputSource::InputSourceType::touch,
17661768
pos,
17671769
ModifierKeys::currentModifiers.withoutMouseButtons(),
@@ -1771,6 +1773,9 @@ class AndroidComponentPeer final : public ComponentPeer,
17711773
{},
17721774
index);
17731775

1776+
if (self == nullptr)
1777+
return;
1778+
17741779
handleMouseEvent (MouseInputSource::InputSourceType::touch,
17751780
MouseInputSource::offscreenMousePos,
17761781
ModifierKeys::currentModifiers.withoutMouseButtons(),
@@ -2541,6 +2546,7 @@ class AndroidComponentPeer final : public ComponentPeer,
25412546

25422547
//==============================================================================
25432548
JUCE_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR (AndroidComponentPeer)
2549+
JUCE_DECLARE_WEAK_REFERENCEABLE (AndroidComponentPeer)
25442550
};
25452551

25462552
//==============================================================================

0 commit comments

Comments
 (0)