Philipp Hörist pushed to branch master at gajim / gajim
Commits:
44df6534 by Philipp Hörist at 2025-04-08T18:20:16+00:00
fix: EmojiChooser: Fix segfault after choosing emoji
- - - - -
2 changed files:
- gajim/gtk/emoji_chooser.py
- gajim/gtk/main.py
Changes:
=====================================
gajim/gtk/emoji_chooser.py
=====================================
@@ -5,7 +5,6 @@
from __future__ import annotations
from typing import Any
-from typing import cast
from gi.repository import GLib
from gi.repository import Gtk
@@ -25,9 +24,9 @@ def set_emoji_picked_func(self, func: Any) -> None:
def _on_closed(self, _popover: Gtk.EmojiChooser) -> None:
def _cleanup() -> None:
- parent = cast(Gtk.MenuButton, self.get_parent())
- parent.set_popover(None)
self.disconnect_by_func(self._emoji_picked_func)
self._emoji_picked_func = None
+ # We don't want to assume the 'emoji-picked' signal
+ # is raised before 'closed'
GLib.idle_add(_cleanup)
=====================================
gajim/gtk/main.py
=====================================
@@ -176,6 +176,11 @@ def get_chat_stack(self) -> ChatStack:
def get_emoji_chooser(self) -> EmojiChooser:
if self._emoji_chooser is None:
self._emoji_chooser = EmojiChooser()
+
+ parent = cast(Gtk.MenuButton | None, self._emoji_chooser.get_parent())
+ if parent is not None:
+ parent.set_popover(None)
+
return self._emoji_chooser
def show(self) -> None:
View it on GitLab:
https://dev.gajim.org/gajim/gajim/-/commit/44df6534f371823335a4df88ae4116e90c8fbf4c
--
View it on GitLab:
https://dev.gajim.org/gajim/gajim/-/commit/44df6534f371823335a4df88ae4116e90c8fbf4c
You're receiving this email because of your account on dev.gajim.org.
_______________________________________________
Commits mailing list -- [email protected]
To unsubscribe send an email to [email protected]