Skip to content

Commit 9b64515

Browse files
authored
Merge pull request #536 from AppFlowy-IO/fix/emoji_close
fix: emoji picker remove without attach overlay
2 parents 7c03924 + 39ee73c commit 9b64515

File tree

1 file changed

+6
-5
lines changed
  • frontend/app_flowy/lib/workspace/presentation/widgets/emoji_picker/src

1 file changed

+6
-5
lines changed

frontend/app_flowy/lib/workspace/presentation/widgets/emoji_picker/src/emoji_button.dart

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ class _EmojiStyleButtonState extends State<FlowyEmojiStyleButton> {
2727
bool _isToggled = false;
2828
// Style get _selectionStyle => widget.controller.getSelectionStyle();
2929
final GlobalKey emojiButtonKey = GlobalKey();
30-
OverlayEntry _entry = OverlayEntry(builder: (context) => Container());
30+
OverlayEntry? _entry;
3131
// final FocusNode _keyFocusNode = FocusNode();
3232

3333
@override
@@ -54,7 +54,7 @@ class _EmojiStyleButtonState extends State<FlowyEmojiStyleButton> {
5454

5555
@override
5656
void dispose() {
57-
_entry.remove();
57+
_entry?.remove();
5858
super.dispose();
5959
}
6060

@@ -83,8 +83,9 @@ class _EmojiStyleButtonState extends State<FlowyEmojiStyleButton> {
8383
// }
8484

8585
void _toggleAttribute() {
86-
if (_entry.mounted) {
87-
_entry.remove();
86+
if (_entry?.mounted ?? false) {
87+
_entry?.remove();
88+
_entry = null;
8889
setState(() => _isToggled = false);
8990
} else {
9091
RenderBox box = emojiButtonKey.currentContext?.findRenderObject() as RenderBox;
@@ -99,7 +100,7 @@ class _EmojiStyleButtonState extends State<FlowyEmojiStyleButton> {
99100
),
100101
);
101102

102-
Overlay.of(context)!.insert(_entry);
103+
Overlay.of(context)!.insert(_entry!);
103104
setState(() => _isToggled = true);
104105
}
105106

0 commit comments

Comments
 (0)